{"catalog/data.json":"{\n  \"time\": {\n    \"label\": \"Time\",\n    \"description\": \"Time\",\n    \"icon\": \"ic_clock\",\n    \"type\": \"time\",\n    \"global\": true\n  },\n\n  \"date\": {\n    \"label\": \"Date\",\n    \"description\": \"Date\",\n    \"icon\": \"ic_clock\",\n    \"type\": \"time\",\n    \"global\": true\n  },\n\n  \"datetime\": {\n    \"label\": \"Date/Time\",\n    \"description\": \"Date and time\",\n    \"icon\": \"ic_clock\",\n    \"type\": \"time\",\n    \"global\": true\n  },\n\n  \"precipitation.sfc\": {\n    \"label\": \"Precipitation\", \"stringId\": \"precipitation\",\n    \"description\": \"Precipitation rate at ground level\",\n    \"icon\": \"ic_precipitation\",\n    \"layer\": \"scalar1\",\n    \"type\": \"precipitation\"\n  },\n\n  \"snow.sfc\": {\n    \"label\": \"Snow\", \"stringId\": \"snow\",\n    \"description\": \"Snow rate at ground level\",\n    \"icon\": \"ic_snow\",\n    \"layer\": \"scalar1\",\n    \"type\": \"precipitation\"\n  },\n\n  \"rain.sfc\": {\n    \"label\": \"Rain\", \"stringId\": \"rain\",\n    \"description\": \"Rain rate at ground level\",\n    \"icon\": \"ic_rain\",\n    \"layer\": \"scalar1\",\n    \"type\": \"precipitation\"\n  },\n\n  \"temperature.2m\":  {\n    \"label\": \"Temperature\", \"stringId\": \"temperature\",\n    \"description\": \"Temperature 2m above ground\",\n    \"icon\": \"ic_thermometer\",\n    \"layer\": \"scalar0\",\n    \"type\": \"temperature\"\n  },\n\n  \"wind_chill.2m\":  {\n    \"label\": \"Wind Chill Temperature\", \"stringId\": \"wind_chill\",\n    \"description\": \"Wind Chill Temperature 2 above ground\",\n    \"icon\": \"ic_temperature\",\n    \"data\": [\"temperature.2m\", \"wind_speed.10m\"],\n    \"computed\": \"wind_chill\",\n    \"layer\": \"scalar0\",\n    \"type\": \"temperature\"\n  },\n\n  \"heat_index.2m\":  {\n    \"label\": \"Heat Index (Temperature)\", \"stringId\": \"heat_index\",\n    \"description\": \"Heat Index (Temperature) 2m above ground\",\n    \"icon\": \"ic_temperature\",\n    \"data\": [\"temperature.2m\", \"humidity_relative.2m\"],\n    \"computed\": \"heat_index\",\n    \"layer\": \"scalar0\",\n    \"type\": \"temperature\"\n  },\n\n  \"temperature_dew_point.2m\": {\n    \"label\": \"Dew Point Temperature\", \"stringId\": \"dew_point\",\n    \"description\": \"Dew point temperature 2m above ground\",\n    \"icon\": \"ic_thermometer_drop\",\n    \"layer\": \"scalar0\",\n    \"type\": \"temperature\"\n  },\n\n  \"temperature_wet_bulb.2m\": {\n    \"label\": \"Wet Bulb Temperature\", \"stringId\": \"wet_bulb\",\n    \"description\": \"Wet bulb temperature 2m above ground\",\n    \"icon\": \"ic_thermometer_wet_bulb\",\n    \"layer\": \"scalar0\",\n    \"type\": \"temperature\"\n  },\n\n  \"pressure.msl\": {\n    \"label\": \"Pressure (MSL)\", \"stringId\": \"pressure\",\n    \"description\": \"Mean sea-level pressure\",\n    \"icon\": \"ic_gauge\",\n    \"layer\": \"scalar0\",\n    \"type\": \"pressure\"\n  },\n\n  \"humidity_relative.2m\": {\n    \"label\": \"Relative Humidity\", \"stringId\": \"relative_humidity\",\n    \"description\": \"Relative humidity at surface level\",\n    \"icon\": \"ic_humidity\",\n    \"layer\": \"scalar0\",\n    \"type\": \"humidity\"\n  },\n\n\n  \"wind_speed.10m\": {\n    \"label\": \"Wind Speed\", \"stringId\": \"wind_speed\",\n    \"description\": \"Average wind speed 10m above ground level\",\n    \"icon\": \"ic_propeller\",\n    \"layer\": \"scalar0\",\n    \"type\": \"wind_speed\"\n  },\n  \"wind_direction.10m\": {\n    \"label\": \"Wind Direction\", \"stringId\": \"wind_arrows\",\n    \"description\": \"Wind direction 10m above ground\",\n    \"icon\": \"ic_propeller_arrows\",\n    \"layer\": \"vector0\",\n    \"type\": \"direction\"\n  },\n  \"wind_vectors.10m\": {\n    \"label\": \"Wind Vectors\", \"stringId\": \"wind_vectors\",\n    \"description\": \"Wind vectors 10m above ground level\",\n    \"icon\": \"ic_propeller_stream\",\n    \"layer\": \"vector0\",\n    \"data\": [\"wind_speed.10m\", \"wind_direction.10m\"],\n    \"type\": \"wind_speed\"\n  },\n  \"wind_gust.10m\": {\n    \"label\": \"Wind Gust\", \"stringId\": \"wind_gust\",\n    \"description\": \"Wind gust 10m above ground level\",\n    \"icon\": \"ic_propeller_fast\",\n    \"layer\": \"scalar0\",\n    \"type\": \"wind_speed\"\n  },\n\n\n  \"cloud.layers\": {\n    \"label\": \"Cloud Layers\", \"stringId\": \"cloud_layers\",\n    \"description\": \"Low, mid and high cloud layers\",\n    \"icon\": \"ic_cloud\",\n    \"layer\": \"scalar0\",\n    \"data\": [\"cloud.low\", \"cloud.mid\", \"cloud.high\", \"cloud.total\"],\n    \"type\": \"cloud\"\n  },\n\n  \"cloud.total\": {\n    \"label\": \"Total Cloud\", \"stringId\": \"cloud_total\",\n    \"description\": \"Total cloud cover\",\n    \"icon\": \"ic_cloud\",\n    \"layer\": \"scalar0\",\n    \"type\": \"cloud\"\n  },\n  \"cloud.high\": {\n    \"label\": \"High Cloud\", \"stringId\": \"cloud_high\",\n    \"description\": \"High cloud cover\",\n    \"icon\": \"ic_cloud_high\",\n    \"layer\": \"scalar0\",\n    \"type\": \"cloud\"\n  },\n  \"cloud.mid\": {\n    \"label\": \"Mid Cloud\", \"stringId\": \"cloud_mid\",\n    \"description\": \"Middle cloud cover\",\n    \"icon\": \"ic_cloud_mid\",\n    \"layer\": \"scalar0\",\n    \"type\": \"cloud\"\n  },\n  \"cloud.low\": {\n    \"label\": \"Low Cloud\", \"stringId\": \"cloud_low\",\n    \"description\": \"Low cloud cover\",\n    \"icon\": \"ic_cloud_low\",\n    \"layer\": \"scalar0\",\n    \"type\": \"cloud\"\n  },\n  \"cloud.convective\": {\n    \"label\": \"Convective Cloud\", \"stringId\": \"cloud_convective\",\n    \"description\": \"Convective cloud cover\",\n    \"icon\": \"ic_cloud_convective\",\n    \"layer\": \"scalar0\",\n    \"type\": \"cloud\"\n  },\n  \"cloud.boundary\": {\n    \"label\": \"Boundary Cloud\", \"stringId\": \"cloud_boundary\",\n    \"description\": \"Boundary cloud cover\",\n    \"icon\": \"ic_cloud_boundary\",\n    \"layer\": \"scalar0\",\n    \"type\": \"cloud\"\n  },\n\n\n  \"visibility.sfc\": {\n    \"label\": \"Visibility\", \"stringId\": \"visibility\",\n    \"description\": \"Visibility at the surface\",\n    \"icon\": \"ic_visibility\",\n    \"layer\": \"scalar0\",\n    \"type\": \"visibility\"\n  },\n\n\n  \"cape.sfc\": {\n    \"label\": \"CAPE\", \"stringId\": \"cape\",\n    \"description\": \"Severe storm index: Convective Available Potential Energy\",\n    \"icon\": \"ic_cape\",\n    \"layer\": \"scalar0\",\n    \"type\": \"cape\"\n  },\n  \"cape.180-0mb\": {\n    \"label\": \"CAPE 180-0mb\", \"stringId\": \"cape_180_0mb\",\n    \"description\": \"Severe storm index: Convective Available Potential Energy for levels 180-0mb\",\n    \"icon\": \"ic_cape_180\",\n    \"layer\": \"scalar0\",\n    \"type\": \"cape\"\n  },\n  \"cape.255-0mb\": {\n    \"label\": \"CAPE 255-0mb\", \"stringId\": \"cape_255_0mb\",\n    \"description\": \"Severe storm index: Convective Available Potential Energy for levels 255-0mb\",\n    \"icon\": \"ic_cape_255\",\n    \"layer\": \"scalar0\",\n    \"type\": \"cape\"\n  },\n\n  \"lifted_index.sfc\": {\n    \"label\": \"Lifted Index\", \"stringId\": \"lifted_index\",\n    \"description\": \"Severe storm index: Surface Lifted Index\",\n    \"icon\": \"ic_lifted_index\",\n    \"layer\": \"scalar0\",\n    \"type\": \"lifted_index\"\n  },\n  \"lifted_index.b4l\": {\n    \"label\": \"Best Lifted Index\", \"stringId\": \"lifted_index_best\",\n    \"description\": \"Severe storm index: Best (4-layer) lifted index\",\n    \"icon\": \"ic_lifted_index_b4l\",\n    \"layer\": \"scalar0\",\n    \"type\": \"lifted_index\"\n  },\n\n\n  \"wave_height\": {\n    \"label\": \"Wave Height\", \"stringId\": \"wave_height\",\n    \"description\":\"Significant height of combined wind waves and swell\",\n    \"icon\": \"ic_wave_height\",\n    \"layer\": \"scalar0\",\n    \"type\": \"wave_height\"\n  },\n  \"wave_direction\": {\n    \"label\": \"Wave Direction\", \"stringId\": \"wave_direction\",\n    \"description\":\"Significant direction of combined wind waves and swell\",\n    \"icon\": \"ic_wave_direction\",\n    \"layer\": \"wave_direction\"\n  },\n  \"wave_period\": {\n    \"label\": \"Wave Period\", \"stringId\": \"wave_period\",\n    \"description\":\"Significant period of combined wind waves and swell\",\n    \"icon\": \"ic_wave_period\",\n    \"layer\": \"scalar0\",\n    \"type\": \"wave_period\"\n  },\n\n\n  \"wave_swell_1_height\": {\n    \"label\": \"Primary Swell Height\", \"stringId\": \"swell1_height\",\n    \"description\":\"Height of primary swell.\",\n    \"icon\": \"ic_wave_height_swell_1\",\n    \"layer\": \"scalar0\",\n    \"type\": \"wave_height\"\n  },\n  \"wave_swell_1_direction\": {\n    \"label\": \"Primary Swell Direction\", \"stringId\": \"swell1_direction\",\n    \"description\":\"Direction of primary swell.\",\n    \"icon\": \"ic_wave_direction_swell_1\",\n    \"layer\": \"wave_direction\"\n  },\n  \"wave_swell_1_period\": {\n    \"label\": \"Primary Swell Period\", \"stringId\": \"swell1_period\",\n    \"description\":\"Period of primary swell.\",\n    \"icon\": \"ic_wave_period_swell_1\",\n    \"layer\": \"scalar0\",\n    \"type\": \"wave_period\"\n  },\n\n  \"wave_swell_2_height\": {\n    \"label\": \"Secondary Swell Height\", \"stringId\": \"swell2_height\",\n    \"description\":\"Height of secondary swell.\",\n    \"icon\": \"ic_wave_height_swell_2\",\n    \"layer\": \"scalar0\",\n    \"type\": \"wave_height\"\n  },\n  \"wave_swell_2_direction\": {\n    \"label\": \"Secondary Swell Direction\", \"stringId\": \"swell2_direction\",\n    \"description\":\"Direction of secondary swell.\",\n    \"icon\": \"ic_wave_direction_swell_2\",\n    \"layer\": \"wave_direction\"\n  },\n  \"wave_swell_2_period\": {\n    \"label\": \"Secondary Swell Period\", \"stringId\": \"swell2_period\",\n    \"description\":\"Period of secondary swell.\",\n    \"icon\": \"ic_wave_period_swell_2\",\n    \"layer\": \"scalar0\",\n    \"type\": \"wave_period\"\n  },\n\n  \"wave_wind_height\": {\n    \"label\": \"Wind Wave Height\", \"stringId\": \"wind_wave_height\",\n    \"description\":\"Height of wind waves.\",\n    \"icon\": \"ic_wave_height_wind\",\n    \"layer\": \"scalar0\",\n    \"type\": \"wave_height\"\n  },\n\n  \"wave_wind_direction\": {\n    \"label\": \"Wind Wave Direction\", \"stringId\": \"wind_wave_direction\",\n    \"description\":\"Direction of wind waves.\",\n    \"icon\": \"ic_wave_direction_wind\",\n    \"layer\": \"wave_direction\"\n  },\n  \"wave_wind_period\": {\n    \"label\": \"Wind Wave Period\", \"stringId\": \"wind_wave_period\",\n    \"description\":\"Period of wind waves.\",\n    \"icon\": \"ic_wave_period_wind\",\n    \"layer\": \"scalar0\",\n    \"type\": \"wave_period\"\n  },\n\n  \"sea_temperature.sfc\": {\n    \"label\": \"Sea Temperature\", \"stringId\": \"sea_temperature\",\n    \"icon\": \"ic_sea_temperature\",\n    \"layer\": \"scalar0\",\n    \"type\": \"temperature\"\n  },\n\n  \"sea_salinity.sfc\": {\n    \"label\": \"Sea Salinity\", \"stringId\": \"sea_salinity\",\n    \"icon\": \"ic_sea_salinity\",\n    \"layer\": \"scalar0\",\n    \"type\": \"salinity\"\n  },\n\n  \"sea_current_mag.sfc\": {\n    \"label\": \"Sea Current Speed\", \"stringId\": \"sea_current_speed\",\n    \"icon\": \"ic_sea_currents\",\n    \"layer\": \"scalar0\",\n    \"type\": \"current\"\n  },\n\n  \"sea_current_dir.sfc\": {\n    \"label\": \"Sea Current Direction\", \"stringId\": \"sea_current_direction\",\n    \"icon\": \"ic_sea_streams\",\n    \"layer\": \"scalar0\"\n  },\n\n  \"sea_current.sfc\": {\n    \"label\": \"Sea Currents Streams\", \"stringId\": \"sea_current_streams\",\n    \"icon\": \"ic_sea_streams\",\n    \"layer\": \"vector0\",\n    \"data\": [\"sea_current_mag.sfc\", \"sea_current_dir.sfc\"]\n  },\n\n  \"reflectivity\": {\n    \"label\": \"Radar Reflectivity\", \"stringId\": \"reflectivity\",\n    \"description\":\"Radar reflectivity\",\n    \"icon\": \"ic_radar\",\n    \"layer\": \"radar1\",\n    \"type\": \"reflectivity\",\n    \"data\": [\"reflectivity\", \"coverage\"]\n  },\n\n  \"coverage\": {\n    \"label\": \"Radar Coverage\", \"stringId\": \"radar_coverage\",\n    \"description\":\"Radar coverage\",\n    \"icon\": \"ic_radar\",\n    \"visible\": \"false\"\n  },\n\n  \"radar.atm\": {\n    \"label\": \"Reflectivity Composite\", \"stringId\": \"reflectivity_composite\",\n    \"description\":\"Composite radar for entire atmosphere\",\n    \"icon\": \"ic_radar_atm\",\n    \"layer\": \"radar1\",\n    \"type\": \"reflectivity\"\n  },\n\n  \"radar.1000m\": {\n    \"label\": \"Reflectivity at 1km\", \"stringId\": \"reflectivity_at_1km\",\n    \"description\":\"Radar reflectivity at 1000m\",\n    \"icon\": \"ic_radar_1km\",\n    \"layer\": \"radar1\",\n    \"type\": \"reflectivity\"\n  },\n\n  \"radar.4000m\": {\n    \"label\": \"Reflectivity at 4km\", \"stringId\": \"reflectivity_at_4km\",\n    \"description\":\"Radar reflectivity at 4000m\",\n    \"icon\": \"ic_radar_4km\",\n    \"layer\": \"radar1\",\n    \"type\": \"reflectivity\"\n  },\n\n  \"smoke.sfc\": {\n    \"label\": \"Smoke (Surface)\", \"stringId\": \"smoke_surface\",\n    \"description\":\"Smoke at surface level\",\n    \"icon\": \"ic_smoke_sfc\",\n    \"layer\": \"scalar1\",\n    \"type\": \"smoke.sfc\"\n  },\n\n  \"smoke.col\": {\n    \"label\": \"Smoke (Column)\", \"stringId\": \"smoke_column\",\n    \"description\":\"Smoke (integrated column)\",\n    \"icon\": \"ic_smoke_col\",\n    \"layer\": \"scalar1\",\n    \"type\": \"smoke.col\"\n  },\n\n  \"fire_radiative_power\": {\n    \"label\": \"Fire Radiative Power\", \"stringId\": \"fire_radiative_power\",\n    \"description\":\"Fire radiative power\",\n    \"icon\": \"ic_smoke_power\",\n    \"layer\": \"scalar0\",\n    \"type\": \"fire_power\"\n  },\n\n  \"pm2p5.sfc\": {\n    \"label\": \"PM 2.5 (Surface)\", \"stringId\": \"pm_2p5_sfc\",\n    \"description\":\"Particulate matter d < 2.5um at surface level\",\n    \"icon\": \"ic_pm2p5\",\n    \"layer\": \"scalar0\",\n    \"type\": \"particulate_matter\"\n  },\n\n  \"pm10.sfc\": {\n    \"label\": \"PM 10 (Surface)\", \"stringId\": \"pm_10_sfc\",\n    \"description\":\"Particulate matter d < 10um at surface level\",\n    \"icon\": \"ic_pm10\",\n    \"layer\": \"scalar0\",\n    \"type\": \"particulate_matter\"\n  },\n\n  \"no2.sfc\": {\n    \"label\": \"NO2 (Surface)\", \"stringId\": \"no2_sfc\",\n    \"description\":\"Nitrogen Dioxide at the surface\",\n    \"icon\": \"ic_no2\",\n    \"layer\": \"scalar0\",\n    \"type\": \"no2\"\n  },\n\n  \"so2.sfc\": {\n    \"label\": \"SO2 (Surface)\", \"stringId\": \"so2_sfc\",\n    \"description\":\"Sulfur Dioxide at the surface\",\n    \"icon\": \"ic_so2\",\n    \"layer\": \"scalar0\",\n    \"type\": \"so2\"\n  },\n\n  \"co.sfc\": {\n    \"label\": \"CO (Surface)\", \"stringId\": \"co_sfc\",\n    \"description\":\"Carbon Monoxide at the surface\",\n    \"icon\": \"ic_co\",\n    \"layer\": \"scalar0\",\n    \"type\": \"co\"\n  },\n\n  \"o3.sfc\": {\n    \"label\": \"Ozone (Surface)\", \"stringId\": \"o3_sfc\",\n    \"description\":\"Ozone at the surface\",\n    \"icon\": \"ic_o3\",\n    \"layer\": \"scalar0\",\n    \"type\": \"o3\"\n  },\n\n  \"uvbed.sfc\": {\n    \"label\": \"UV Index\",\n    \"stringId\": \"uv_index\",\n    \"description\":\"UV Biological equivalent dose\",\n    \"icon\": \"ic_uv\",\n    \"layer\": \"scalar0\",\n    \"type\": \"uv_index\"\n  },\n\n  \"uvbedcs.sfc\": {\n    \"label\": \"UV BED Clear Skies (Surface)\",\n    \"description\":\"UV Biological equivalent dose with clear skies\",\n    \"icon\": \"ic_uv_bed_cs\",\n    \"layer\": \"scalar0\",\n    \"type\": \"power\"\n  },\n\n  \"storm_tracks\": {\n    \"label\": \"Hurricane Tracks\", \"stringId\": \"hurricane_tracks\",\n    \"description\":\"Storms tracks from GFS, GEFS, CMS and CENS\",\n    \"icon\": \"ic_storm_tracks\",\n    \"layer\": \"storm_tracks\",\n    \"menu\": {\n      \"items\": [\n        {\"type\": \"button\", \"icon\": \"ic_help_outline\", \"action\": \"open_link\", \"link\": \"https://dev.flowx.io/help/data/storm-tracks/?app_theme=light\"}\n      ]\n    }\n  },\n\n  \"eclipse\": {\n    \"label\": \"Eclipse\", \"stringId\": \"\",\n    \"description\":\"Eclipse path and umbra\",\n    \"icon\": \"ic_eclipse\",\n    \"layer\": \"eclipse\",\n    \"data\": [\"umbra_lo\", \"upath_lo\"],\n    \"menu\": {\n      \"items\": [\n        {\"type\": \"button\", \"icon\": \"ic_help_outline\", \"action\": \"open_link\", \"link\": \"https://dev.flowx.io/help/data/storm-tracks/?app_theme=light\"}\n      ]\n    }\n  },\n\n  \"active_place\": {\n    \"label\": \"Active Place\",\n    \"description\":\"Shows currently active place on the map\",\n    \"icon\": \"ic_location\",\n    \"layer\": \"place\",\n    \"type\": \"\",\n    \"global\": true\n  },\n\n  \"sun_and_moon\": {\n    \"label\": \"Sun and Moon\",\n    \"description\":\"Show sun and moon paths and phases.\",\n    \"icon\": \"ic_sun\",\n    \"layer\": \"celestial\",\n    \"type\": \"\",\n    \"global\": true\n  },\n\n  \"sunrise\": {\n    \"label\": \"Sunrise\",\n    \"description\":\"The time the sun first shows above the horizon.\",\n    \"icon\": \"ic_sun_up\",\n    \"layer\": \"celestial\",\n    \"type\": \"time\",\n    \"global\": true\n  },\n\n  \"sunset\": {\n    \"label\": \"Sunset\",\n    \"description\":\"The time the last part of the sun disappears below the horizon.\",\n    \"icon\": \"ic_sun_down\",\n    \"layer\": \"celestial\",\n    \"type\": \"time\",\n    \"global\": true\n  },\n\n  \"moonrise\": {\n    \"label\": \"Moonrise\",\n    \"description\":\"The time the moon first shows above the horizon.\",\n    \"icon\": \"ic_moon_up\",\n    \"layer\": \"celestial\",\n    \"type\": \"time\",\n    \"global\": true\n  },\n\n  \"moonset\": {\n    \"label\": \"Moonset\",\n    \"description\":\"The time the last part of the moon disappears below the horizon.\",\n    \"icon\": \"ic_moon_down\",\n    \"layer\": \"celestial\",\n    \"type\": \"time\",\n    \"global\": true\n  }\n\n}","catalog/datasets.json":"{\n  \"wx\": [\n    \"gfs\",\n    \"gdps\",\n    \"ecmwf_ifs\",\n    \"ecmwf_aifs\",\n    \"nam12\",\n    \"nam_conus\",\n    \"hrrr\",\n    \"rrfs_conus\",\n    \"rrfs_na\",\n    \"rrfs_ak\",\n    \"rrfs_hi\",\n    \"rrfs_pr\",\n    \"smn_ar\",\n    \"rdps_v2\",\n    \"hrdps2\",\n    \"icon\",\n    \"icon_eu\",\n    \"icon_d2\",\n    \"ukmo_10km\",\n    \"ukmo_2km\",\n    \"harmonie43p3\",\n    \"harmonie43p1\",\n    \"harmonie_caribbean\",\n    \"arpege\",\n    \"arome1\",\n    \"alaro40\",\n    \"expmarine\"\n  ],\n\n  \"wave\": [\n    \"gfswave25\",\n    \"gdwps\",\n    \"gwam\"\n  ],\n\n  \"aq\": [\n    \"cams_aq\",\n    \"cams_eu\",\n    \"cams_silam\"\n  ],\n\n  \"other\": [\n    \"hrrr_smoke\",\n    \"celestial\"\n  ]\n}","catalog/gauge.options_menu.json":"[\n  {\"title\": \"General Data\", \"stringId\": \"general_data\"},\n  {\"dataId\": \"compute/time\", \"action\": \"snap_time\"},\n  {\"dataId\": \"compute/date\", \"action\": \"snap_time\"},\n  {\"dataId\": \"compute/datetime\", \"action\": \"snap_time\"},\n  {\"dataId\": \"@wx/precipitation.sfc\"},\n  {\"dataId\": \"@wx/rain.sfc\"},\n  {\"dataId\": \"@wx/snow.sfc\"},\n  {\"dataId\": \"@wx/temperature.2m\"},\n  {\"dataId\": \"@wx/temperature_dew_point.2m\"},\n  {\"dataId\": \"@wx/pressure.msl\"},\n  {\"dataId\": \"@wx/humidity_relative.2m\"},\n  {\"dataId\": \"@wx/wind_vectors.10m\", \"mode\": \"directional\", \"icon\": \"ic_wind_dir\"},\n  {\"dataId\": \"@wx/wind_gust.10m\"},\n  {\"dataId\": \"cams_aq/uvbed.sfc\"},\n  {\"dataId\": \"@wx/visibility.sfc\"},\n\n  {\"title\": \"Clouds\", \"stringId\": \"clouds\"},\n  {\"dataId\": \"@wx/cloud.total\"},\n  {\"dataId\": \"@wx/cloud.low\"},\n  {\"dataId\": \"@wx/cloud.mid\"},\n  {\"dataId\": \"@wx/cloud.high\"},\n  {\"dataId\": \"@wx/cloud.convective\"},\n  {\"dataId\": \"@wx/cloud.boundary\"},\n\n  {\"title\": \"Storms\", \"stringId\": \"storms\"},\n  {\"dataId\": \"@wx/cape.sfc\"},\n  {\"dataId\": \"@wx/cape.180-0mb\"},\n  {\"dataId\": \"@wx/cape.255-0mb\"},\n  {\"dataId\": \"@wx/lifted_index.sfc\"},\n  {\"dataId\": \"@wx/lifted_index.b4l\"},\n\n  {\"title\": \"Waves\", \"stringId\": \"waves\"},\n  {\"dataId\": \"@wave/wave_height\"},\n  {\"dataId\": \"@wave/wave_swell_1_height\"},\n  {\"dataId\": \"@wave/wave_swell_2_height\"},\n  {\"dataId\": \"@wave/wave_wind_height\"},\n\n  {\"dataId\": \"@wave/wave_period\"},\n  {\"dataId\": \"@wave/wave_swell_1_period\"},\n  {\"dataId\": \"@wave/wave_swell_2_period\"},\n  {\"dataId\": \"@wave/wave_wind_period\"},\n\n  {\"title\": \"Marine\", \"stringId\": \"marine\"},\n  {\"dataId\": \"rtofs/sea_temperature.sfc\"},\n  {\"dataId\": \"rtofs/sea_current_mag.sfc\"},\n  {\"dataId\": \"rtofs/sea_salinity.sfc\"},\n\n  {\"title\": \"Air Quality\", \"stringId\": \"air_quality\"},\n  {\"dataId\": \"@aq/pm2p5.sfc\"},\n  {\"dataId\": \"@aq/pm10.sfc\"},\n  {\"dataId\": \"@aq/no2.sfc\"},\n  {\"dataId\": \"@aq/so2.sfc\"},\n  {\"dataId\": \"@aq/co.sfc\"},\n  {\"dataId\": \"@aq/o3.sfc\"},\n\n  {\"title\": \"Smoke\", \"stringId\": \"smoke\"},\n  {\"dataId\": \"hrrr_smoke/smoke.sfc\"},\n  {\"dataId\": \"hrrr_smoke/smoke.col\"},\n  {\"dataId\": \"hrrr_smoke/fire_radiative_power\"},\n\n  {\"title\": \"System\", \"system\": \"true\"},\n  {\"dataId\": \"system/memory\", \"label\": \"Memory used\", \"icon\": \"ic_gauge\", \"system\": \"true\"},\n  {\"dataId\": \"system/memory_free\", \"label\": \"Memory free\", \"icon\": \"ic_gauge\", \"system\": \"true\"},\n  {\"dataId\": \"system/cpu\", \"label\": \"CPU load\", \"icon\": \"ic_propeller\", \"system\": \"true\"},\n  {\"dataId\": \"system/viewmodels\", \"label\": \"View models (live/total)\", \"icon\": \"ic_gauge\", \"system\": \"true\"},\n  {\"dataId\": \"system/tiles\", \"label\": \"Tiles (live/total)\", \"icon\": \"ic_gauge\", \"system\": \"true\"}\n]\n","catalog/graph.options_menu.json":"[\n\n  {\"type\": \"line\", \"data\": \"@wx/precipitation.sfc\", \"range\": \"precipitation\"},\n  {\"type\": \"line\", \"data\": \"@wx/rain.sfc\", \"range\": \"precipitation\"},\n  {\"type\": \"line\", \"data\": \"@wx/snow.sfc\", \"range\": \"precipitation\"},\n  {\"type\": \"line\", \"data\": \"@wx/temperature.2m\", \"range\": \"temperature\"},\n  {\"type\": \"line\", \"data\": \"@wx/temperature_dew_point.2m\", \"range\": \"temperature\"},\n  {\"type\": \"line\", \"data\": \"@wx/wind_speed.10m\", \"range\": \"wind_speed\"},\n  {\"type\": \"line\", \"data\": \"@wx/wind_gust.10m\", \"range\": \"wind_speed\"},\n  {\"type\": \"line\", \"data\": \"@wx/pressure.msl\", \"range\": \"pressure\"},\n  {\"type\": \"line\", \"data\": \"@wx/humidity_relative.2m\", \"range\": \"relative_humidity\"},\n  {\"type\": \"line\", \"data\": \"cams_aq/uvbed.sfc\", \"range\": \"uv_index\"},\n  {\"type\": \"line\", \"data\": \"@wx/visibility.sfc\", \"range\": \"visibility\"},\n\n  {\"type\": \"line\", \"data\": \"@wx/cloud.total\", \"range\": \"cloud\"},\n  {\"type\": \"cloud_layers\", \"data\": \"@wx/cloud.layers\", \"range\": \"cloud\"},\n  {\"type\": \"line\", \"data\": \"@wx/cloud.low\", \"range\": \"cloud\"},\n  {\"type\": \"line\", \"data\": \"@wx/cloud.mid\", \"range\": \"cloud\"},\n  {\"type\": \"line\", \"data\": \"@wx/cloud.high\", \"range\": \"cloud\"},\n\n  {\"type\": \"line\", \"data\": \"@wave/wave_height\", \"range\": \"wave_height\"},\n  {\"type\": \"line\", \"data\": \"@wave/wave_swell_1_height\", \"range\": \"wave_height\"},\n  {\"type\": \"line\", \"data\": \"@wave/wave_swell_2_height\", \"range\": \"wave_height\"},\n  {\"type\": \"line\", \"data\": \"@wave/wave_wind_height\", \"range\": \"wave_height\"},\n\n  {\"type\": \"line\", \"data\": \"@wave/wave_period\", \"range\": \"wave_period\"},\n  {\"type\": \"line\", \"data\": \"@wave/wave_swell_1_period\", \"range\": \"wave_period\"},\n  {\"type\": \"line\", \"data\": \"@wave/wave_swell_2_period\", \"range\": \"wave_period\"},\n  {\"type\": \"line\", \"data\": \"@wave/wave_wind_period\", \"range\": \"wave_period\"},\n\n  {\"type\": \"line\", \"data\": \"rtofs/sea_temperature.sfc\", \"range\": \"sea_temperature\"},\n  {\"type\": \"line\", \"data\": \"rtofs/sea_current_mag.sfc\", \"range\": \"sea_current_mag\"},\n  {\"type\": \"line\", \"data\": \"rtofs/sea_salinity.sfc\", \"range\": \"sea_salinity\"},\n\n  {\"type\": \"line\", \"data\": \"@wx/cape.sfc\", \"range\": \"cape\"},\n  {\"type\": \"line\", \"data\": \"@wx/cape.180-0mb\", \"range\": \"cape\"},\n  {\"type\": \"line\", \"data\": \"@wx/cape.255-0mb\", \"range\": \"cape\"},\n  {\"type\": \"line\", \"data\": \"@wx/lifted_index.sfc\", \"range\": \"lifted_index\"},\n  {\"type\": \"line\", \"data\": \"@wx/lifted_index.b4l\", \"range\": \"lifted_index\"},\n\n  {\"type\": \"line\", \"data\": \"@aq/pm2p5.sfc\", \"range\": \"pm\"},\n  {\"type\": \"line\", \"data\": \"@aq/pm10.sfc\", \"range\": \"pm\"},\n  {\"type\": \"line\", \"data\": \"@aq/no2.sfc\", \"range\": \"no2\"},\n  {\"type\": \"line\", \"data\": \"@aq/so2.sfc\", \"range\": \"so2\"},\n  {\"type\": \"line\", \"data\": \"@aq/co.sfc\", \"range\": \"co\"},\n  {\"type\": \"line\", \"data\": \"@aq/o3.sfc\", \"range\": \"o3\"},\n\n  {\"type\": \"line\", \"data\": \"hrrr_smoke/smoke.sfc\", \"range\": \"smoke.sfc\"},\n  {\"type\": \"line\", \"data\": \"hrrr_smoke/smoke.col\", \"range\": \"smoke.col\"},\n  {\"type\": \"line\", \"data\": \"hrrr_smoke/fire_radiative_power\", \"range\": \"fire_power\"},\n\n  {\"type\": \"time_line\"},\n  {\"type\": \"legend\"},\n  {\"type\": \"y_scale\", \"config\": { \"position\": \"start\"} },\n  {\"type\": \"y_scale\", \"config\": { \"position\": \"end\"} },\n  {\"type\": \"time_scale\"},\n  {\"type\": \"data_lines\"},\n  {\"type\": \"transitions\"},\n  {\"type\": \"transition_labels\"},\n  {\"type\": \"warnings\"},\n  {\"type\": \"bands\"},\n  {\"type\": \"background\"}\n]","catalog/graph_migration.json":"{\n  \"elements\": {\n    \"background\": {\"type\": \"background\",\n      \"config\":  { \"color\": \"#FFF\", \"dark\": { \"color\": \"#222\" } }\n    },\n\n    \"bands_odd\": {\"type\": \"bands\", \"config\": { \"color\": \"#8882\" }},\n    \"bands_even\": {\"type\": \"bands\", \"config\": { \"color\": \"#8882\" }},\n\n    \"scale_lines\": {\"type\": \"scale_lines\",\n      \"config\": {\n        \"position\": \"start\", \"color\": \"#00539A\", \"lineWidth\": 0.2,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }},\n\n    \"time_marks\": {\"type\": \"time_scale\",\n      \"config\": {\n        \"color\": \"#0008\", \"lineWidth\": 0.2,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }},\n\n    \"scale_labels_start\": {\"type\": \"y_scale\", \"range\": \"\",\n      \"config\": {\n        \"position\": \"start\",\n        \"color\": \"#00539A\", \"lineWidth\": 0.2, \"textSize\": 10,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }},\n\n    \"scale_labels_end\": {\"type\": \"y_scale\", \"range\": \"wind_speed\",\n      \"config\": {\n        \"position\": \"end\",\n        \"color\": \"#00539A\", \"lineWidth\": 0.2, \"textSize\": 10,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }},\n\n    \"icons\": {\"type\": \"icons\"},\n\n    \"transitions\": {\"type\": \"transitions\",\n      \"config\": { \"color\": \"#0008\", \"textSize\": 8,\n      \"dark\": { \"color\": \"#FFF8\" }\n    } },\n\n    \"warnings\": {\"type\": \"warnings\", \"config\": { \"color\": \"#0004\", \"dark\": { \"color\": \"#FFF4\" } } },\n\n    \"freeze_line\": {\"type\": \"data_line\", \"range\": \"temperature\",\n      \"config\": {\"values\": \"0\", \"units\": \"C\", \"lineWidth\": 1.2, \"color\": \"#5050FF\", \"dark\": { \"color\": \"#8888FF\"}}\n    },\n\n    \"cloud_total\": {\"type\": \"fill\", \"data\": \"@wx/cloud.total\", \"range\": \"cloud\",\n      \"config\": { \"color\": \"#8E8E8E\" }\n    },\n\n    \"precipitation\": {\"type\": \"fill\", \"data\": \"@wx/precipitation.sfc\", \"range\": \"precipitation\",\n      \"config\": { \"color\": \"#00539A\" }\n    },\n\n    \"cold_front\": {\"type\": \"delta\", \"data\": \"@wx/temperature.2m\", \"range\": \"temperature\",\n      \"config\": {  \"downColor\": \"#D4E3FF\", \"upColor\": \"#FFDBCB\",\n        \"dark\": { \"downColor\": \"#004786\", \"upColor\": \"#7A3000\" }\n      }\n    },\n\n    \"temperature\": {\"type\": \"line\", \"data\": \"@wx/temperature.2m\", \"range\": \"temperature\",\n      \"config\": { \"lineWidth\": 1.2, \"color\": \"#005FAF\", \"dark\": { \"color\": \"#A5C8FF\"} }\n    },\n\n    \"temperature_dew_point\": {\"type\": \"line\", \"data\": \"@wx/temperature_dew_point.2m\", \"range\": \"temperature\",\n      \"config\": { \"lineWidth\": 0.8, \"color\": \"#005FAF\", \"dark\": { \"color\": \"#A5C8FF\"} }\n    },\n\n    \"pressure\": {\"type\": \"line\", \"data\": \"@wx/pressure.msl\", \"range\": \"pressure\",\n      \"config\": { \"color\": \"#000\", \"lineWidth\": 1.2, \"dark\": { \"color\": \"#EEE\" } }\n    },\n\n    \"humidity\": {\"type\": \"line\", \"data\": \"@wx/humidity_relative.2m\", \"range\": \"humidity\",\n      \"config\": {\"color\": \"#0089df\", \"lineWidth\": 1.2, \"dark\": { \"color\": \"#0089df\" } }\n    },\n\n    \"wind_mag\": {\"type\": \"line\", \"data\": \"@wx/wind_speed.10m\", \"range\": \"wind_speed\",\n      \"config\": { \"color\": \"#1A781f\", \"lineWidth\": 1.2, \"dark\": { \"color\": \"#43A047\" } }\n    },\n\n    \"wind_gust\": {\"type\": \"line\", \"data\": \"@wx/wind_gust.10m\", \"range\": \"wind_speed\",\n      \"config\": { \"color\": \"#1A781f\", \"lineWidth\": 0.8, \"dark\": { \"color\": \"#43A047\" }  }\n    },\n\n    \"time_line\": { \"type\": \"time_line\", \"config\": { \"color\": \"#F00\", \"lineWidth\": 1 } }\n  },\n\n\n  \"vividElements\": {\n    \"background\": {\"type\": \"background\", \"config\":  { \"color\": \"#FFB600\" } },\n\n    \"bands_even\": {\"type\": \"bands\", \"config\": { \"color\": \"#FFF2\" }},\n\n    \"cloud_total\": {\"type\": \"fill\", \"data\": \"@wx/cloud.total\", \"range\": \"cloud\",\n      \"config\": { \"color\": \"#8E8E8E\" }\n    },\n\n    \"precipitation\": {\"type\": \"fill\", \"data\": \"@wx/precipitation.sfc\", \"range\": \"precipitation\",\n      \"config\": { \"color\": \"#00539A\" }\n    },\n\n    \"wind_mag\": {\"type\": \"line\", \"data\": \"@wx/wind_speed.10m\", \"range\": \"wind_speed\",\n      \"config\": { \"color\": \"#1A781f\", \"lineWidth\": 1.2 }\n    },\n\n    \"wind_gust\": {\"type\": \"line\", \"data\": \"@wx/wind_gust.10m\", \"range\": \"wind_speed\",\n      \"config\": { \"color\": \"#1A781f\", \"lineWidth\": 0.8 }\n    },\n\n    \"scale_labels_end\": {\"type\": \"y_scale\", \"range\": \"wind_speed\",\n      \"config\": {\n        \"position\": \"end\", \"color\": \"#005083\", \"lineWidth\": 0, \"textSize\": 10 }\n    },\n\n    \"time_line\": { \"type\": \"time_line\", \"config\": { \"color\": \"#F00\", \"lineWidth\": 1 } }\n  }\n\n}","catalog/map.actions.json":"{\n\n  \"radar_menu\": {\n    \"type\": \"SubMenu\",\n    \"id\": \"radar_menu\",\n    \"label\": \"Radar Menu\",\n    \"stringId\": \"radar_menu\",\n    \"icon\": \"ic_radar\",\n    \"help\": \"https://dev.flowx.io/help/data/radar\",\n    \"submenu\": [\"radar.atm\", \"radar.1000m\", \"radar.4000m\"]\n  },\n\n  \"precipitation_menu\": {\n    \"type\": \"SubMenu\",\n    \"id\": \"precipitation_menu\",\n    \"label\": \"Precipitation Menu\",\n    \"stringId\": \"precipitation_menu\",\n    \"icon\": \"ic_precipitation\",\n    \"submenu\": [\"precipitation.sfc\", \"snow.sfc\"]\n  },\n\n  \"cloud_menu\": {\n    \"type\": \"SubMenu\",\n    \"id\": \"cloud_menu\",\n    \"label\": \"Cloud Menu\",\n    \"stringId\": \"cloud_menu\",\n    \"icon\": \"ic_cloud\",\n    \"submenu\": [\"cloud.total\", \"cloud.low\", \"cloud.mid\", \"cloud.high\", \"cloud.convective\", \"cloud.boundary\"]\n  },\n\n  \"wind_menu\": {\n    \"type\": \"SubMenu\",\n    \"id\": \"wind_menu\",\n    \"label\": \"Wind Menu\",\n    \"stringId\": \"wind_menu\",\n    \"icon\": \"ic_propeller\",\n    \"submenu\": [\"wind_speed.10m\", \"wind_gust.10m\", \"wind_vectors.10m\"]\n  },\n\n  \"storm_menu\": {\n    \"type\": \"SubMenu\",\n    \"id\": \"storm_menu\",\n    \"label\": \"Storm Menu\",\n    \"stringId\": \"storm_menu\",\n    \"icon\": \"ic_storm\",\n    \"submenu\": [\"cape.sfc\", \"cape.180-0mb\", \"cape.255-0mb\", \"lifted_index.sfc\", \"lifted_index.b4l\"]\n  },\n\n  \"precipitation.sfc\": {\n    \"id\": \"precipitation.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_precipitation\",\n    \"layer\": \"scalar1\",\n    \"data\": \"@wx/precipitation.sfc\",\n    \"style\": \"precipitation\"\n  },\n\n  \"snow.sfc\": {\n    \"id\": \"snow.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_snow\",\n    \"layer\": \"scalar1\",\n    \"data\": \"@wx/snow.sfc\",\n    \"style\": \"precipitation\"\n  },\n\n  \"openzones\": {\n    \"id\": \"openzones\",\n    \"label\": \"OpenZones\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_openzone\",\n    \"layer\": \"openzones\",\n    \"data\": \"openzones/bounds\",\n    \"help\": \"https://dev.flowx.io/help/open_zones\"\n  },\n\n  \"storm_tracks\": {\n    \"id\": \"storm_tracks\",\n    \"label\": \"Hurricane Tracks\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_storm_tracks\",\n    \"layer\": \"storms\",\n    \"data\": \"storms/tracks\",\n    \"help\": \"https://dev.flowx.io/help/data/waves\"\n  },\n\n  \"storm_tracks_menu\": {\n    \"type\": \"SubMenu\",\n    \"id\": \"storm_tracks_menu\",\n    \"label\": \"Hurricane Tracks\",\n    \"stringId\": \"hurricane_tracks\",\n    \"icon\": \"ic_storm_tracks\",\n    \"data\": \"storms/tracks\",\n    \"help\": \"https://dev.flowx.io/help/data/hurricane_tracks\",\n    \"submenu\": [\"storm_tracks\", \"openzones\"]\n  },\n\n  \"eclipse_menu\": {\n    \"type\": \"SubMenu\",\n    \"id\": \"eclipse_menu\",\n    \"label\": \"Eclipse\",\n    \"icon\": \"ic_eclipse\",\n    \"data\": \"eclipse\",\n    \"help\": \"https://dev.flowx.io/help/data/eclipse\",\n    \"submenu\": [\"eclipse\", \"cloud.low.0\", \"cloud.mid.1\", \"cloud.high.2\"]\n  },\n\n  \"eclipse\": {\n    \"id\": \"eclipse\",\n    \"label\": \"Eclipse\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_eclipse\",\n    \"layer\": \"eclipse\",\n    \"data\": \"eclipse\",\n    \"help\": \"https://dev.flowx.io/help/data/eclipse\"\n  },\n\n  \"cloud.total\": {\n    \"id\": \"cloud.total\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_cloud\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/cloud.total\",\n    \"style\": \"cloud\"\n  },\n\n  \"cloud.low.0\": {\n    \"id\": \"cloud.low.0\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_cloud_low\",\n    \"layer\": \"cloud0\",\n    \"data\": \"@wx/cloud.low\",\n    \"style\": \"cloud.low\"\n  },\n\n  \"cloud.mid.1\": {\n    \"id\": \"cloud.mid.1\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_cloud_mid\",\n    \"layer\": \"cloud1\",\n    \"data\": \"@wx/cloud.mid\",\n    \"style\": \"cloud.mid\"\n  },\n\n  \"cloud.high.2\": {\n    \"id\": \"cloud.high.2\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_cloud_high\",\n    \"layer\": \"cloud2\",\n    \"data\": \"@wx/cloud.high\",\n    \"style\": \"cloud.high\"\n  },\n\n  \"cloud.low\": {\n    \"id\": \"cloud.low\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_cloud_low\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/cloud.low\",\n    \"style\": \"cloud\"\n  },\n\n  \"cloud.mid\": {\n    \"id\": \"cloud.mid\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_cloud_mid\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/cloud.mid\",\n    \"style\": \"cloud\"\n  },\n\n  \"cloud.high\": {\n    \"id\": \"cloud.high\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_cloud_high\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/cloud.high\",\n    \"style\": \"cloud\"\n  },\n\n  \"cloud.convective\": {\n    \"id\": \"cloud.convective\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_cloud_convective\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/cloud.convective\",\n    \"style\": \"cloud\"\n  },\n\n  \"cloud.boundary\": {\n    \"id\": \"cloud.boundary\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_cloud_boundary\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/cloud.boundary\",\n    \"style\": \"cloud\"\n  },\n\n  \"temperature.2m\": {\n    \"id\": \"temperature.2m\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_thermometer\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/temperature.2m\",\n    \"style\": \"temperature\"\n  },\n\n  \"temperature_dew_point.2m\": {\n    \"id\": \"temperature_dew_point.2m\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_thermometer_drop\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/temperature_dew_point.2m\",\n    \"style\": \"temperature\"\n  },\n\n  \"temperature_wet_bulb.2m\": {\n    \"id\": \"temperature_wet_bulb.2m\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_thermometer_wet_bulb\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/temperature_wet_bulb.2m\",\n    \"style\": \"temperature\"\n  },\n\n  \"humidity_relative.2m\": {\n    \"id\": \"humidity_relative.2m\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_humidity\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/humidity_relative.2m\",\n    \"style\": \"humidity\"\n  },\n\n  \"pressure.msl\": {\n    \"id\": \"pressure.msl\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_gauge\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/pressure.msl\",\n    \"style\": \"pressure\"\n  },\n\n  \"wind_speed.10m\": {\n    \"id\": \"wind_speed.10m\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_propeller\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/wind_speed.10m\",\n    \"style\": \"wind_speed\"\n  },\n  \"wind_gust.10m\": {\n    \"id\": \"wind_gust.10m\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_propeller_fast\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/wind_gust.10m\",\n    \"style\": \"wind_speed\"\n  },\n  \"wind_vectors.10m\": {\n    \"id\": \"wind_vectors.10m\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_propeller_stream\",\n    \"layer\": \"vector0\",\n    \"data\": \"@wx/wind_vectors.10m\",\n    \"style\": \"wind_streams\"\n  },\n\n\n  \"marine_menu\": {\n    \"type\": \"SubMenu\",\n    \"id\": \"marine_menu\",\n    \"label\": \"Marine Menu\",\n    \"stringId\": \"marine_menu\",\n    \"icon\": \"ic_sea_ship\",\n    \"help\": \"https://dev.flowx.io/help/data/marine\",\n    \"submenu\": [\"sea_temperature.sfc\", \"sea_current_mag.sfc\", \"sea_current.sfc\", \"sea_salinity.sfc\"]\n  },\n\n  \"sea_temperature.sfc\": {\n    \"id\": \"sea_temperature.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_sea_temperature\",\n    \"layer\": \"scalar0\",\n    \"data\": \"rtofs/sea_temperature.sfc\",\n    \"style\": \"marine_scalar\"\n  },\n\n  \"sea_salinity.sfc\": {\n    \"id\": \"sea_salinity.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_sea_salinity\",\n    \"layer\": \"scalar0\",\n    \"data\": \"rtofs/sea_salinity.sfc\",\n    \"style\": \"marine_scalar\"\n  },\n\n  \"sea_current_mag.sfc\": {\n    \"id\": \"sea_current_mag.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_sea_currents\",\n    \"layer\": \"scalar0\",\n    \"data\": \"rtofs/sea_current_mag.sfc\",\n    \"style\": \"marine_currents\"\n  },\n\n  \"sea_current.sfc\": {\n    \"id\": \"sea_current.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_sea_streams\",\n    \"layer\": \"vector0\",\n    \"data\": \"rtofs/sea_current.sfc\",\n    \"style\": \"marine_streams\"\n  },\n\n\n  \"radar_reflectivity\": {\n    \"id\": \"radar_reflectivity\",\n    \"type\": \"UpdateLayer\",\n    \"label\": \"Radar Reflectivity\",\n    \"icon\": \"ic_radar\",\n    \"layer\": \"radar1\",\n    \"data\": \"rainviewer/reflectivity\",\n    \"style\": \"radar_image\"\n  },\n\n  \"radar.atm\": {\n    \"id\": \"radar.atm\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_radar_atm\",\n    \"layer\": \"radar1\",\n    \"data\": \"@wx/radar.atm\",\n    \"style\": \"radar_scalar\"\n  },\n\n  \"radar.1000m\": {\n    \"id\": \"radar.1000m\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_radar_1km\",\n    \"layer\": \"radar1\",\n    \"data\": \"@wx/radar.1000m\",\n    \"style\": \"radar_scalar\"\n  },\n\n  \"radar.4000m\": {\n    \"id\": \"radar.4000m\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_radar_4km\",\n    \"layer\": \"radar1\",\n    \"data\": \"@wx/radar.4000m\",\n    \"style\": \"radar_scalar\"\n  },\n\n\n\n  \"visibility.sfc\": {\n    \"id\": \"visibility.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_visibility\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/visibility.sfc\",\n    \"style\": \"visibility\"\n  },\n\n  \"cape.sfc\": {\n    \"id\": \"cape.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_cape\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/cape.sfc\",\n    \"style\": \"cape\"\n  },\n  \"cape.180-0mb\": {\n    \"id\": \"cape.180-0mb\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_cape_180\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/cape.180-0mb\",\n    \"style\": \"cape\"\n  },\n  \"cape.255-0mb\": {\n    \"id\": \"cape.255-0mb\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_cape_255\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/cape.255-0mb\",\n    \"style\": \"cape\"\n  },\n\n  \"lifted_index.sfc\": {\n    \"id\": \"lifted_index.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_lifted_index\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/lifted_index.sfc\",\n    \"style\": \"lifted_index\"\n  },\n  \"lifted_index.b4l\": {\n    \"id\": \"lifted_index.b4l\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_lifted_index_b4l\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wx/lifted_index.b4l\",\n    \"style\": \"lifted_index\"\n  },\n\n\n  \"wave_menu\": {\n    \"type\": \"SubMenu\",\n    \"id\": \"wave_menu\",\n    \"label\": \"Wave Menu\",\n    \"stringId\": \"wave_menu\",\n    \"icon\": \"ic_wave\",\n    \"help\": \"https://dev.flowx.io/help/data/waves\",\n    \"submenu\": [\"wave_height\", \"wave_direction\", \"wave_period\"]\n  },\n\n  \"basic_wave_menu\": {\n    \"type\": \"SubMenu\",\n    \"id\": \"basic_wave_menu\",\n    \"label\": \"Wave Menu\",\n    \"stringId\": \"wave_menu\",\n    \"icon\": \"ic_wave\",\n    \"help\": \"https://dev.flowx.io/help/data/waves\",\n    \"submenu\": [\"wave_height\", \"wave_direction\", \"wave_period\"]\n  },\n\n  \"full_wave_menu\": {\n    \"type\": \"SubMenu\",\n    \"id\": \"full_wave_menu\",\n    \"label\": \"Full Wave Menu\",\n    \"stringId\": \"full_wave_menu\",\n    \"icon\": \"ic_wave\",\n    \"help\": \"https://dev.flowx.io/help/data/waves\",\n    \"submenu\": [\n      \"wave_height\", \"wave_direction\", \"wave_period\", \"divider\",\n      \"wave_height_wind\", \"wave_direction_wind\", \"wave_period_wind\", \"divider\",\n      \"wave_height_swell_1\", \"wave_direction_swell_1\", \"wave_period_swell_1\", \"divider\",\n      \"wave_height_swell_2\", \"wave_direction_swell_2\", \"wave_period_swell_2\", \"divider\"\n    ]\n  },\n\n  \"wave_height\": {\n    \"id\": \"wave_height\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_wave_height\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wave/wave_height\",\n    \"style\": \"wave_height\"\n  },\n  \"wave_direction\": {\n    \"id\": \"wave_direction\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_wave_direction\",\n    \"layer\": \"wavefronts\",\n    \"data\": \"@wave/wave_direction\",\n    \"style\": \"wave_direction\"\n  },\n  \"wave_period\": {\n    \"id\": \"wave_period\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_wave_period\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wave/wave_period\",\n    \"style\": \"wave_period\"\n  },\n\n  \"wave_height_swell_1\": {\n    \"id\": \"wave_height_swell_1\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_wave_height_swell_1\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wave/wave_swell_1_height\",\n    \"style\": \"wave_height\"\n  },\n  \"wave_direction_swell_1\": {\n    \"id\": \"wave_direction_swell_1\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_wave_direction_swell_1\",\n    \"layer\": \"wavefronts\",\n    \"data\": \"@wave/wave_swell_1_direction\",\n    \"style\": \"wave_direction\"\n  },\n  \"wave_period_swell_1\": {\n    \"id\": \"wave_period_swell_1\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_wave_period_swell_1\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wave/wave_swell_1_period\",\n    \"style\": \"wave_period\"\n  },\n\n  \"wave_height_swell_2\": {\n    \"id\": \"wave_height_swell_2\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_wave_height_swell_2\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wave/wave_swell_2_height\",\n    \"style\": \"wave_height\"\n  },\n  \"wave_direction_swell_2\": {\n    \"id\": \"wave_direction_swell_2\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_wave_direction_swell_2\",\n    \"layer\": \"wavefronts\",\n    \"data\": \"@wave/wave_swell_2_direction\",\n    \"style\": \"wave_direction\"\n  },\n  \"wave_period_swell_2\": {\n    \"id\": \"wave_period_swell_2\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_wave_period_swell_2\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wave/wave_swell_2_period\",\n    \"style\": \"wave_period\"\n  },\n\n  \"wave_height_wind\": {\n    \"id\": \"wave_height_wind\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_wave_height_wind\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wave/wave_wind_height\",\n    \"style\": \"wave_height\"\n  },\n  \"wave_direction_wind\": {\n    \"id\": \"wave_direction_wind\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_wave_direction_wind\",\n    \"layer\": \"wavefronts\",\n    \"data\": \"@wave/wave_wind_direction\",\n    \"style\": \"wave_direction\"\n  },\n  \"wave_period_wind\": {\n    \"id\": \"wave_period_wind\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_wave_period_wind\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@wave/wave_wind_period\",\n    \"style\": \"wave_period\"\n  },\n\n\n  \"smoke_menu\": {\n    \"type\": \"SubMenu\",\n    \"id\": \"smoke_menu\",\n    \"label\": \"Smoke Menu\",\n    \"stringId\": \"smoke_menu\",\n    \"icon\": \"ic_smoke\",\n    \"submenu\": [\"smoke.sfc\", \"smoke.col\", \"fire_radiative_power\"],\n    \"help\": \"https://dev.flowx.io/help/data/smoke\"\n  },\n  \"smoke.sfc\": {\n    \"id\": \"smoke.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"layer\": \"scalar0\",\n    \"data\": \"hrrr_smoke/smoke.sfc\",\n    \"style\": \"smoke.sfc\"\n  },\n  \"smoke.col\": {\n    \"id\": \"smoke.col\",\n    \"type\": \"UpdateLayer\",\n    \"layer\": \"scalar0\",\n    \"data\": \"hrrr_smoke/smoke.col\",\n    \"style\": \"smoke.col\"\n  },\n  \"fire_radiative_power\": {\n    \"id\": \"fire_radiative_power\",\n    \"type\": \"UpdateLayer\",\n    \"layer\": \"scalar0\",\n    \"data\": \"hrrr_smoke/fire_radiative_power\",\n    \"style\": \"fire_power\"\n  },\n\n  \"air_quality_menu\": {\n    \"type\": \"SubMenu\",\n    \"id\": \"air_quality_menu\",\n    \"label\": \"Air Quality Menu\",\n    \"stringId\": \"air_quality_menu\",\n    \"icon\": \"ic_air_quality\",\n    \"help\": \"https://dev.flowx.io/help/data/air_quality\",\n    \"submenu\": [\"pm2p5.sfc\", \"pm10.sfc\", \"no2.sfc\", \"so2.sfc\", \"co.sfc\", \"o3.sfc\"]\n  },\n\n  \"pm2p5.sfc\": {\n    \"id\": \"pm2p5.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@aq/pm2p5.sfc\",\n    \"style\": \"particulate_matter\"\n  },\n  \"pm10.sfc\": {\n    \"id\": \"pm10.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@aq/pm10.sfc\",\n    \"style\": \"particulate_matter\"\n  },\n  \"no2.sfc\": {\n    \"id\": \"no2.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@aq/no2.sfc\",\n    \"style\": \"no2\"\n  },\n  \"so2.sfc\": {\n    \"id\": \"so2.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@aq/so2.sfc\",\n    \"style\": \"so2\"\n  },\n  \"co.sfc\": {\n    \"id\": \"co.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@aq/co.sfc\",\n    \"style\": \"co\"\n  },\n  \"o3.sfc\": {\n    \"id\": \"o3.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"layer\": \"scalar0\",\n    \"data\": \"@aq/o3.sfc\",\n    \"style\": \"o3\"\n  },\n\n  \"uv_index\": {\n    \"id\": \"uv_index\",\n    \"type\": \"UpdateLayer\",\n    \"icon\": \"ic_uv\",\n    \"layer\": \"scalar0\",\n    \"data\": \"cams_aq/uvbed.sfc\",\n    \"style\": \"uv_index\"\n  },\n\n  \"uvbedcs.sfc\": {\n    \"id\": \"uvbedcs.sfc\",\n    \"type\": \"UpdateLayer\",\n    \"layer\": \"scalar0\",\n    \"data\": \"cams_aq/uvbedcs.sfc\",\n    \"style\": \"uv_index\"\n  },\n\n  \"celestial_menu\": {\n    \"id\": \"celestial_menu\",\n    \"icon\": \"ic_sun\",\n    \"type\": \"UpdateLayer\",\n    \"layer\": \"celestial\",\n    \"data\": \"celestial/sun_and_moon\",\n    \"style\": \"sun_and_moon\"\n  }\n}","catalog/map.default_menu.json":"[\n  \"precipitation.sfc\",\n  \"cloud.total\",\n  \"temperature.2m\",\n  \"pressure.msl\",\n  \"wind_speed.10m\",\n  \"wind_vectors.10m\",\n  \"wave_height\",\n  \"wave_direction\"\n]","catalog/map.options_menu.json":"[\n  {\"title\": \"General Data\", \"stringId\": \"general_data\"},\n  {\"data\": \"precipitation.sfc\"},\n  {\"data\": \"snow.sfc\"},\n  {\"data\": \"temperature.2m\"},\n  {\"data\": \"temperature_dew_point.2m\"},\n  {\"disabled\": true, \"data\": \"temperature_wet_bulb.2m\"},\n  {\"data\": \"pressure.msl\"},\n  {\"data\": \"humidity_relative.2m\"},\n  {\"data\": \"wind_speed.10m\"},\n  {\"data\": \"wind_vectors.10m\"},\n  {\"data\": \"wind_gust.10m\"},\n  {\"data\": \"uv_index\"},\n  {\"data\": \"visibility.sfc\"},\n  {\"data\": \"storm_tracks_menu\"},\n  {\"data\": \"openzones\"},\n  {\"disabled\": true, \"data\": \"eclipse_menu\"},\n  {\"data\": \"celestial_menu\"},\n\n  {\"title\": \"Menus\", \"stringId\": \"menus_beta\"},\n  {\"data\": \"precipitation_menu\"},\n  {\"data\": \"cloud_menu\"},\n  {\"data\": \"radar_menu\", \"pro\": \"Radar products requires PRO.\"},\n  {\"data\": \"wind_menu\"},\n  {\"data\": \"wave_menu\"},\n  {\"data\": \"full_wave_menu\"},\n  {\"data\": \"marine_menu\"},\n  {\"data\": \"air_quality_menu\"},\n  {\"data\": \"smoke_menu\"},\n  {\"data\": \"storm_menu\"},\n  {\"data\": \"storm_tracks_menu\"},\n\n  {\"title\": \"Radar\", \"pro\": \"Requires PRO\", \"stringId\": \"radar\"},\n  {\"data\": \"radar.atm\", \"pro\": \"Requires Pro for NAM/HRRR sources.\"},\n  {\"data\": \"radar.1000m\", \"pro\": \"Requires Pro for NAM/HRRR sources.\"},\n  {\"data\": \"radar.4000m\", \"pro\": \"Requires Pro for NAM/HRRR sources.\"},\n\n  {\"title\": \"Clouds\", \"stringId\": \"clouds\"},\n  {\"data\": \"cloud.total\"},\n  {\"data\": \"cloud.low\"},\n  {\"data\": \"cloud.mid\"},\n  {\"data\": \"cloud.high\"},\n  {\"data\": \"cloud.convective\"},\n  {\"data\": \"cloud.boundary\"},\n\n  {\"title\": \"Waves\", \"stringId\": \"waves\"},\n  {\"data\": \"wave_height\"},\n  {\"data\": \"wave_direction\"},\n  {\"data\": \"wave_period\"},\n  {\"data\": \"wave_height_swell_1\"},\n  {\"data\": \"wave_direction_swell_1\"},\n  {\"data\": \"wave_period_swell_1\"},\n  {\"data\": \"wave_height_swell_2\"},\n  {\"data\": \"wave_direction_swell_2\"},\n  {\"data\": \"wave_period_swell_2\"},\n  {\"data\": \"wave_height_wind\"},\n  {\"data\": \"wave_direction_wind\"},\n  {\"data\": \"wave_period_wind\"},\n\n  {\"disabled\":true, \"title\": \"Smoke\"},\n  {\"disabled\":true, \"data\": \"hrrr_smoke/fire_radiative_power\", \"info\": \"HRRR Smoke\"},\n  {\"disabled\":true, \"data\": \"hrrr_smoke/smoke.sfc\", \"info\": \"HRRR Smoke\"},\n  {\"disabled\":true, \"data\": \"smokecs/smoke.sfc\", \"info\": \"HYSPLIT\"},\n  {\"disabled\":true, \"data\": \"hrrr_smoke/smoke.col\", \"info\": \"HRRR Smoke\"},\n  {\"disabled\":true, \"data\": \"smokecs/smoke.col\", \"info\": \"HYSPLIT\"},\n\n  {\"title\": \"Marine\", \"stringId\": \"marine\"},\n  {\"data\": \"sea_temperature.sfc\"},\n  {\"data\": \"sea_current_mag.sfc\"},\n  {\"data\": \"sea_current.sfc\"},\n  {\"data\": \"sea_salinity.sfc\"},\n\n  {\"title\": \"Storms\", \"stringId\": \"storms\"},\n  {\"data\": \"cape.sfc\"},\n  {\"data\": \"cape.180-0mb\"},\n  {\"data\": \"cape.255-0mb\"},\n  {\"data\": \"lifted_index.sfc\"},\n  {\"data\": \"lifted_index.b4l\"}\n]","catalog/timezones.json":"{\"Europe/Andorra\":[[\"Andorra la Vella\",42.51,1.52],[\"les Escaldes\",42.51,1.53],[\"Encamp\",42.53,1.58]],\n\"Asia/Dubai\":[[\"Dubai\",25.08,55.31],[\"Sharjah\",25.34,55.41],[\"Abu Dhabi\",24.45,54.40]],\n\"Asia/Kabul\":[[\"Kabul\",34.53,69.17],[\"Kandhar\",31.61,65.71],[\"Mazari-Sharif\",36.71,67.11]],\n\"America/Antigua\":[[\"Saint John’s\",17.12,-61.84],[\"All Saints\",17.07,-61.79],[\"Piggotts\",17.12,-61.80]],\n\"America/Anguilla\":[[\"The Valley\",18.22,-63.06],[\"Blowing Point Village\",18.18,-63.09]],\n\"Europe/Tirane\":[[\"Tirana\",41.33,19.82],[\"Durrës\",41.32,19.45],[\"Elbasan\",41.11,20.08]],\n\"Asia/Yerevan\":[[\"Yerevan\",40.18,44.51],[\"Gyumri\",40.79,43.85],[\"Vanadzor\",40.80,44.49]],\n\"Africa/Luanda\":[[\"Luanda\",-8.84,13.23],[\"N’dalatando\",-9.30,14.91],[\"Huambo\",-12.78,15.74]],\n\"Antarctica/McMurdo\":[[\"McMurdo Station\",-77.85,166.68]],\n\"America/Argentina/Buenos_Aires\":[[\"Buenos Aires\",-34.61,-58.38],[\"La Plata\",-34.92,-57.95],[\"Mar del Plata\",-38.00,-57.56]],\n\"America/Argentina/Cordoba\":[[\"Córdoba\",-31.41,-64.18],[\"Rosario\",-32.95,-60.64],[\"Santa Fe\",-31.65,-60.71]],\n\"America/Argentina/San_Juan\":[[\"San Juan\",-31.54,-68.54],[\"Chimbas\",-31.48,-68.53],[\"Santa Lucía\",-31.54,-68.50]],\n\"America/Argentina/Salta\":[[\"Salta\",-24.79,-65.41],[\"Nequen\",-38.95,-68.06],[\"Santa Rosa\",-36.62,-64.28]],\n\"America/Argentina/Jujuy\":[[\"San Salvador de Jujuy\",-24.19,-65.30],[\"San Pedro de Jujuy\",-24.23,-64.87],[\"Ledesma\",-23.81,-64.79]],\n\"America/Argentina/Tucuman\":[[\"San Miguel de Tucumán\",-26.82,-65.22],[\"Yerba Buena\",-26.82,-65.32],[\"Tafí Viejo\",-26.73,-65.26]],\n\"America/Argentina/Rio_Gallegos\":[[\"Comodoro Rivadavia\",-45.86,-67.50],[\"Puerto Gallegos\",-51.62,-69.22],[\"Caleta Olivia\",-46.44,-67.53]],\n\"America/Argentina/La_Rioja\":[[\"La Rioja\",-29.41,-66.85],[\"Chilecito\",-29.16,-67.50],[\"Arauco\",-28.58,-66.79]],\n\"America/Argentina/Ushuaia\":[[\"Ushuaia\",-54.81,-68.32],[\"Río Grande\",-53.79,-67.71],[\"Tolhuin\",-54.51,-67.20]],\n\"America/Argentina/San_Luis\":[[\"San Luis\",-33.30,-66.34],[\"Villa Mercedes\",-33.68,-65.46],[\"La Punta\",-33.18,-66.31]],\n\"America/Argentina/Catamarca\":[[\"San Fernando del Valle de Catamarca\",-28.47,-65.79],[\"Trelew\",-43.25,-65.31],[\"Puerto Madryn\",-42.77,-65.04]],\n\"America/Argentina/Mendoza\":[[\"Mendoza\",-32.89,-68.83],[\"San Rafael\",-34.62,-68.33],[\"San Martín\",-33.08,-68.47]],\n\"Pacific/Pago_Pago\":[[\"Pago Pago\",-14.28,-170.70],[\"Tāfuna\",-14.34,-170.72],[\"Leone\",-14.34,-170.78]],\n\"Europe/Vienna\":[[\"Vienna\",48.21,16.37],[\"Graz\",47.07,15.45],[\"Linz\",48.31,14.29]],\n\"Australia/Darwin\":[[\"Darwin\",-12.46,130.84],[\"Alice Springs\",-23.70,133.88],[\"Palmerston\",-12.49,130.98]],\n\"Australia/Perth\":[[\"Perth\",-31.95,115.86],[\"Rockingham\",-32.28,115.73],[\"Mandurah\",-32.53,115.72]],\n\"Australia/Adelaide\":[[\"Adelaide\",-34.93,138.60],[\"Adelaide Hills\",-34.91,138.71],[\"Mount Gambier\",-37.83,140.78]],\n\"Australia/Brisbane\":[[\"Brisbane\",-27.47,153.03],[\"Gold Coast\",-28.00,153.43],[\"Logan City\",-27.64,153.11]],\n\"Australia/Hobart\":[[\"Hobart\",-42.88,147.33],[\"Launceston\",-41.44,147.13],[\"Burnie\",-41.06,145.90]],\n\"Australia/Sydney\":[[\"Sydney\",-33.87,151.21],[\"Canberra\",-35.28,149.13],[\"Newcastle\",-32.93,151.78]],\n\"Australia/Melbourne\":[[\"Melbourne\",-37.81,144.96],[\"Geelong\",-38.15,144.36],[\"Bendigo\",-36.76,144.28]],\n\"Australia/Currie\":[[\"Currie\",-39.93,143.85]],\n\"Australia/Broken_Hill\":[[\"Broken Hill\",-31.97,141.45]],\n\"America/Aruba\":[[\"Oranjestad\",12.52,-70.03],[\"Tanki Leendert\",12.54,-70.02],[\"San Nicolas\",12.44,-69.91]],\n\"Europe/Mariehamn\":[[\"Mariehamn\",60.10,19.93],[\"Jomala\",60.15,19.95],[\"Finström\",60.27,19.93]],\n\"Asia/Baku\":[[\"Baku\",40.38,49.89],[\"Ganja\",40.68,46.36],[\"Sumqayyt\",40.59,49.67]],\n\"Europe/Sarajevo\":[[\"Sarajevo\",43.85,18.36],[\"Banja Luka\",44.78,17.19],[\"Zenica\",44.20,17.90]],\n\"America/Barbados\":[[\"Bridgetown\",13.11,-59.62],[\"Speightstown\",13.25,-59.64],[\"Oistins\",13.07,-59.55]],\n\"Asia/Dhaka\":[[\"Dhaka\",23.71,90.41],[\"Chittagong\",22.34,91.83],[\"Khulna\",22.81,89.56]],\n\"Europe/Brussels\":[[\"Brussels\",50.85,4.35],[\"Antwerpen\",51.22,4.40],[\"Gent\",51.05,3.72]],\n\"Africa/Ouagadougou\":[[\"Ouagadougou\",12.37,-1.53],[\"Bobo-Dioulasso\",11.18,-4.30],[\"Koudougou\",12.25,-2.36]],\n\"Europe/Sofia\":[[\"Sofia\",42.70,23.32],[\"Plovdiv\",42.15,24.75],[\"Varna\",43.22,27.92]],\n\"Asia/Bahrain\":[[\"Manama\",26.23,50.59],[\"Al Muharraq\",26.26,50.61],[\"Ar Rifā‘\",26.13,50.55]],\n\"Africa/Bujumbura\":[[\"Bujumbura\",-3.38,29.36],[\"Muyinga\",-2.85,30.34],[\"Gitega\",-3.43,29.92]],\n\"Africa/Porto-Novo\":[[\"Cotonou\",6.37,2.42],[\"Abomey-Calavi\",6.45,2.36],[\"Djougou\",9.71,1.67]],\n\"America/St_Barthelemy\":[[\"Gustavia\",17.90,-62.85]],\n\"Atlantic/Bermuda\":[[\"Saint George\",32.38,-64.68],[\"Hamilton\",32.29,-64.78]],\n\"Asia/Brunei\":[[\"Bandar Seri Begawan\",4.89,114.94],[\"Kuala Belait\",4.58,114.23],[\"Seria\",4.61,114.32]],\n\"America/La_Paz\":[[\"Santa Cruz de la Sierra\",-17.79,-63.18],[\"Cochabamba\",-17.39,-66.16],[\"La Paz\",-16.50,-68.15]],\n\"America/Kralendijk\":[[\"Kralendijk\",12.15,-68.27],[\"Dorp Antriol\",12.17,-68.27],[\"Upper Hell's Gate\",17.64,-63.23]],\n\"America/Fortaleza\":[[\"Fortaleza\",-3.72,-38.54],[\"São Luís\",-2.53,-44.30],[\"Natal\",-5.79,-35.21]],\n\"America/Recife\":[[\"Recife\",-8.05,-34.88],[\"Jaboatão\",-8.18,-35.00],[\"Jaboatão dos Guararapes\",-8.11,-35.01]],\n\"America/Belem\":[[\"Belém\",-1.46,-48.50],[\"Ananindeua\",-1.37,-48.37],[\"Macapá\",0.04,-51.07]],\n\"America/Maceio\":[[\"Maceió\",-9.67,-35.74],[\"Aracaju\",-10.91,-37.07],[\"Arapiraca\",-9.75,-36.66]],\n\"America/Manaus\":[[\"Manaus\",-3.10,-60.02],[\"Itacoatiara\",-3.14,-58.44],[\"Parintins\",-2.63,-56.74]],\n\"America/Bahia\":[[\"Salvador\",-12.97,-38.51],[\"Feira de Santana\",-12.27,-38.97],[\"Vitória da Conquista\",-14.87,-40.84]],\n\"America/Santarem\":[[\"Santarém\",-2.44,-54.71],[\"Altamira\",-3.20,-52.21],[\"Itaituba\",-4.28,-55.98]],\n\"America/Araguaina\":[[\"Palmas\",-10.17,-48.33],[\"Araguaína\",-7.19,-48.21],[\"Gurupi\",-11.73,-49.07]],\n\"America/Noronha\":[[\"Itamaracá\",-7.75,-34.83],[\"Fernando de Noronha (Distrito Estadual)\",-3.84,-32.41]],\n\"America/Sao_Paulo\":[[\"São Paulo\",-23.55,-46.64],[\"Rio de Janeiro\",-22.91,-43.18],[\"Belo Horizonte\",-19.92,-43.94]],\n\"America/Cuiaba\":[[\"Cuiabá\",-15.60,-56.10],[\"Várzea Grande\",-15.65,-56.13],[\"Rondonópolis\",-16.47,-54.64]],\n\"America/Campo_Grande\":[[\"Campo Grande\",-20.44,-54.65],[\"Dourados\",-22.22,-54.81],[\"Corumbá\",-19.01,-57.65]],\n\"America/Rio_Branco\":[[\"Rio Branco\",-9.97,-67.81],[\"Cruzeiro do Sul\",-7.63,-72.68],[\"Sena Madureira\",-9.06,-68.67]],\n\"America/Porto_Velho\":[[\"Porto Velho\",-8.76,-63.90],[\"Ji Paraná\",-10.89,-61.95],[\"Vilhena\",-12.74,-60.15]],\n\"America/Eirunepe\":[[\"Eirunepé\",-6.66,-69.87],[\"Benjamin Constant\",-4.38,-70.03],[\"Envira\",-7.30,-70.22]],\n\"America/Boa_Vista\":[[\"Boa Vista\",2.82,-60.67]],\n\"America/Nassau\":[[\"Nassau\",25.06,-77.34],[\"Lucaya\",26.53,-78.67],[\"Freeport\",26.53,-78.70]],\n\"Asia/Thimphu\":[[\"Thimphu\",27.47,89.64],[\"Punākha\",27.59,89.88],[\"Tsirang\",27.02,90.12]],\n\"Africa/Gaborone\":[[\"Gaborone\",-24.65,25.91],[\"Francistown\",-21.17,27.51],[\"Molepolole\",-24.41,25.50]],\n\"Europe/Minsk\":[[\"Minsk\",53.90,27.57],[\"Homyel'\",52.43,30.98],[\"Mahilyow\",53.92,30.34]],\n\"America/Belize\":[[\"Belize City\",17.50,-88.20],[\"San Ignacio\",17.16,-89.07],[\"Orange Walk\",18.08,-88.56]],\n\"America/Vancouver\":[[\"Vancouver\",49.25,-123.12],[\"Surrey\",49.11,-122.83],[\"Okanagan\",50.36,-119.35]],\n\"America/Toronto\":[[\"Toronto\",43.70,-79.42],[\"Montréal\",45.51,-73.59],[\"Ottawa\",45.41,-75.70]],\n\"America/Edmonton\":[[\"Calgary\",51.05,-114.09],[\"Edmonton\",53.55,-113.47],[\"Fort McMurray\",56.73,-111.38]],\n\"America/Yellowknife\":[[\"Yellowknife\",62.45,-114.37],[\"Hay River\",60.82,-115.80],[\"Fort Smith\",60.00,-111.89]],\n\"America/Halifax\":[[\"Halifax\",44.65,-63.57],[\"Dartmouth\",44.67,-63.58],[\"Charlottetown\",46.23,-63.13]],\n\"America/Moncton\":[[\"Moncton\",46.09,-64.80],[\"Saint John\",45.27,-66.06],[\"Fredericton\",45.95,-66.67]],\n\"America/Winnipeg\":[[\"Winnipeg\",49.88,-97.15],[\"Brandon\",49.85,-99.95],[\"Kenora\",49.77,-94.49]],\n\"America/Rankin_Inlet\":[[\"Rankin Inlet\",62.81,-92.09],[\"Arctic Bay\",73.04,-85.15]],\n\"America/Regina\":[[\"Saskatoon\",52.13,-106.67],[\"Regina\",50.45,-104.62],[\"Prince Albert\",53.20,-105.77]],\n\"America/Atikokan\":[[\"Atikokan\",48.76,-91.62]],\n\"America/St_Johns\":[[\"St. John's\",47.56,-52.71],[\"Mount Pearl\",47.52,-52.78],[\"Corner Brook\",48.95,-57.95]],\n\"America/Dawson_Creek\":[[\"Fort St. John\",56.25,-120.85],[\"Dawson Creek\",55.76,-120.24],[\"Chetwynd\",55.70,-121.64]],\n\"America/Iqaluit\":[[\"Iqaluit\",63.75,-68.52],[\"Clyde River\",70.47,-68.59]],\n\"America/Creston\":[[\"Creston\",49.10,-116.50],[\"Wynndel\",49.18,-116.55]],\n\"America/Fort_Nelson\":[[\"Fort Nelson\",58.81,-122.70]],\n\"America/Cambridge_Bay\":[[\"Kugluktuk\",67.83,-115.10],[\"Gjoa Haven\",68.63,-95.88]],\n\"America/Glace_Bay\":[[\"Sydney\",46.14,-60.18],[\"Glace Bay\",46.20,-59.96],[\"Sydney Mines\",46.24,-60.22]],\n\"America/Whitehorse\":[[\"Whitehorse\",60.72,-135.05],[\"Haines Junction\",60.75,-137.51],[\"Mayo\",63.59,-135.90]],\n\"America/Goose_Bay\":[[\"Labrador City\",52.95,-66.91],[\"Happy Valley-Goose Bay\",53.30,-60.33],[\"Churchill Falls\",53.53,-64.01]],\n\"America/Inuvik\":[[\"Inuvik\",68.36,-133.73]],\n\"America/Pangnirtung\":[[\"Pangnirtung\",66.15,-65.70]],\n\"America/Blanc-Sablon\":[[\"Lévis\",46.80,-71.18],[\"Saint-Augustin\",51.23,-58.65]],\n\"America/Swift_Current\":[[\"Swift Current\",50.28,-107.80]],\n\"America/Thunder_Bay\":[[\"Thunder Bay\",48.38,-89.25]],\n\"America/Detroit\":[[\"Detroit\",42.33,-83.05],[\"Grand Rapids\",42.96,-85.67],[\"Warren\",42.49,-83.01]],\n\"America/Dawson\":[[\"Dawson City\",64.06,-139.43]],\n\"Africa/Lubumbashi\":[[\"Lubumbashi\",-11.66,27.48],[\"Mbuji-Mayi\",-6.14,23.59],[\"Kisangani\",0.52,25.19]],\n\"Africa/Kinshasa\":[[\"Kinshasa\",-4.33,15.31],[\"Masina\",-4.38,15.39],[\"Kikwit\",-5.04,18.82]],\n\"Africa/Bangui\":[[\"Bangui\",4.36,18.55],[\"Bimbo\",4.26,18.42],[\"Mbaïki\",3.87,17.99]],\n\"Africa/Brazzaville\":[[\"Brazzaville\",-4.27,15.28],[\"Pointe-Noire\",-4.78,11.86],[\"Dolisie\",-4.20,12.67]],\n\"Europe/Zurich\":[[\"Zürich\",47.37,8.55],[\"Genève\",46.20,6.15],[\"Basel\",47.56,7.57]],\n\"Africa/Abidjan\":[[\"Abidjan\",5.35,-4.00],[\"Abobo\",5.42,-4.02],[\"Bwake\",7.69,-5.03]],\n\"Pacific/Rarotonga\":[[\"Avarua\",-21.21,-159.78]],\n\"America/Santiago\":[[\"Santiago\",-33.46,-70.65],[\"Puente Alto\",-33.61,-70.58],[\"Antofagasta\",-23.65,-70.40]],\n\"America/Punta_Arenas\":[[\"Punta Arenas\",-53.15,-70.91],[\"Puerto Natales\",-51.73,-72.51]],\n\"Pacific/Easter\":[[\"Hanga Roa\",-27.15,-109.42]],\n\"Africa/Douala\":[[\"Douala\",4.05,9.70],[\"Yaoundé\",3.87,11.52],[\"Garoua\",9.30,13.40]],\n\"Asia/Urumqi\":[[\"Zhongshan\",21.32,110.57],[\"Ürümqi\",43.80,87.60],[\"Zhanjiang\",21.28,110.34]],\n\"Asia/Shanghai\":[[\"Shanghai\",31.22,121.46],[\"Beijing\",39.91,116.40],[\"Tianjin\",39.14,117.18]],\n\"America/Bogota\":[[\"Bogotá\",4.61,-74.08],[\"Cali\",3.44,-76.52],[\"Medellín\",6.25,-75.56]],\n\"America/Costa_Rica\":[[\"San José\",9.93,-84.08],[\"Limón\",9.99,-83.04],[\"San Francisco\",9.99,-84.13]],\n\"America/Havana\":[[\"Havana\",23.13,-82.38],[\"Santiago de Cuba\",20.02,-75.83],[\"Puerto Principe\",21.38,-77.92]],\n\"Atlantic/Cape_Verde\":[[\"Praia\",14.93,-23.51],[\"Mindelo\",16.89,-24.98],[\"Santa Maria\",16.60,-22.91]],\n\"America/Curacao\":[[\"Willemstad\",12.11,-68.93],[\"Sint Michiel Liber\",12.15,-68.98],[\"Barber\",12.29,-69.07]],\n\"Asia/Famagusta\":[[\"Famagusta\",35.12,33.94],[\"Kyrenia\",35.34,33.32],[\"Protaras\",35.01,34.06]],\n\"Asia/Nicosia\":[[\"Nicosia\",35.18,33.36],[\"Limassol\",34.68,33.04],[\"Larnaca\",34.92,33.62]],\n\"Europe/Prague\":[[\"Prague\",50.09,14.42],[\"Brno\",49.20,16.61],[\"Ostrava\",49.83,18.28]],\n\"Europe/Berlin\":[[\"Berlin\",52.52,13.41],[\"Hamburg\",53.55,9.99],[\"Munich\",48.14,11.58]],\n\"Europe/Busingen\":[[\"Büsingen\",47.70,8.69]],\n\"Africa/Djibouti\":[[\"Djibouti\",11.59,43.15],[\"'Ali Sabieh\",11.16,42.71],[\"Tadjourah\",11.79,42.88]],\n\"Europe/Copenhagen\":[[\"Copenhagen\",55.68,12.57],[\"Århus\",56.16,10.21],[\"Odense\",55.40,10.39]],\n\"America/Dominica\":[[\"Roseau\",15.30,-61.39],[\"Portsmouth\",15.58,-61.47],[\"Marigot\",15.54,-61.28]],\n\"America/Santo_Domingo\":[[\"Santo Domingo\",18.47,-69.89],[\"Santiago de los Caballeros\",19.45,-70.70],[\"Santo Domingo Oeste\",18.50,-70.00]],\n\"Africa/Algiers\":[[\"Algiers\",36.73,3.09],[\"Boumerdas\",36.77,3.48],[\"Oran\",35.70,-0.64]],\n\"America/Guayaquil\":[[\"Guayaquil\",-2.20,-79.89],[\"Quito\",-0.23,-78.52],[\"Cuenca\",-2.90,-79.00]],\n\"Pacific/Galapagos\":[[\"Puerto Ayora\",-0.74,-90.31],[\"Puerto Baquerizo Moreno\",-0.90,-89.61],[\"Puerto Villamil\",-0.96,-90.97]],\n\"Europe/Tallinn\":[[\"Tallinn\",59.44,24.75],[\"Tartu\",58.38,26.73],[\"Narva\",59.38,28.19]],\n\"Africa/Cairo\":[[\"Cairo\",30.06,31.25],[\"Alexandria\",31.20,29.92],[\"Giza\",30.01,31.21]],\n\"Africa/El_Aaiun\":[[\"Laayoune\",27.14,-13.19],[\"Dakhla\",23.68,-15.96],[\"Laayoune Plage\",27.10,-13.42]],\n\"Africa/Asmara\":[[\"Asmara\",15.34,38.93],[\"Keren\",15.78,38.45],[\"Massawa\",15.61,39.47]],\n\"Europe/Madrid\":[[\"Madrid\",40.42,-3.70],[\"Barcelona\",41.39,2.16],[\"Valencia\",39.47,-0.38]],\n\"Atlantic/Canary\":[[\"Las Palmas de Gran Canaria\",28.10,-15.41],[\"Santa Cruz de Tenerife\",28.47,-16.25],[\"La Laguna\",28.49,-16.32]],\n\"Africa/Ceuta\":[[\"Ceuta\",35.89,-5.32],[\"Melilla\",35.29,-2.94]],\n\"Africa/Addis_Ababa\":[[\"Addis Ababa\",9.02,38.75],[\"Dire Dawa\",9.59,41.87],[\"Mek'ele\",13.50,39.48]],\n\"Europe/Helsinki\":[[\"Helsinki\",60.17,24.94],[\"Espoo\",60.21,24.65],[\"Tampere\",61.50,23.79]],\n\"Pacific/Fiji\":[[\"Suva\",-18.14,178.44],[\"Lautoka\",-17.62,177.45],[\"Nadi\",-17.80,177.42]],\n\"Atlantic/Stanley\":[[\"Stanley\",-51.69,-57.86]],\n\"Pacific/Chuuk\":[[\"Weno\",7.45,151.84],[\"Colonia\",9.52,138.12],[\"Nema\",6.99,152.57]],\n\"Pacific/Kosrae\":[[\"Tofol\",5.32,163.01]],\n\"Pacific/Pohnpei\":[[\"Kolonia\",6.96,158.21],[\"Kolonia Town\",6.96,158.21],[\"Ngatik\",5.79,157.16]],\n\"Atlantic/Faroe\":[[\"Tórshavn\",62.01,-6.77],[\"Klaksvík\",62.23,-6.59],[\"Hoyvík\",62.03,-6.78]],\n\"Europe/Paris\":[[\"Paris\",48.85,2.35],[\"Marseille\",43.30,5.38],[\"Lyon\",45.75,4.85]],\n\"Africa/Libreville\":[[\"Libreville\",0.39,9.45],[\"Port-Gentil\",-0.72,8.78],[\"Franceville\",-1.63,13.58]],\n\"Europe/London\":[[\"London\",51.51,-0.13],[\"Birmingham\",52.48,-1.90],[\"Liverpool\",53.41,-2.98]],\n\"America/Grenada\":[[\"Saint George's\",12.05,-61.75],[\"Gouyave\",12.16,-61.73],[\"Grenville\",12.12,-61.62]],\n\"Asia/Tbilisi\":[[\"Tbilisi\",41.69,44.83],[\"Kutaisi\",42.27,42.69],[\"Batumi\",41.64,41.63]],\n\"America/Cayenne\":[[\"Cayenne\",4.93,-52.33],[\"Matoury\",4.85,-52.32],[\"Saint-Laurent-du-Maroni\",5.50,-54.03]],\n\"Europe/Guernsey\":[[\"Saint Peter Port\",49.46,-2.54],[\"Sark\",49.43,-2.36]],\n\"Africa/Accra\":[[\"Accra\",5.56,-0.20],[\"Kumasi\",6.69,-1.62],[\"Tamale\",9.40,-0.84]],\n\"Europe/Gibraltar\":[[\"Gibraltar\",36.14,-5.35]],\n\"America/Godthab\":[[\"Nuuk\",64.18,-51.72],[\"Sisimiut\",66.94,-53.67],[\"Ilulissat\",69.22,-51.10]],\n\"America/Scoresbysund\":[[\"Ittoqqortoormiit\",70.48,-21.96]],\n\"America/Thule\":[[\"Qaanaaq\",77.47,-69.23]],\n\"Africa/Banjul\":[[\"Serekunda\",13.44,-16.68],[\"Brikama\",13.27,-16.65],[\"Bakau\",13.48,-16.68]],\n\"Africa/Conakry\":[[\"Camayenne\",9.54,-13.69],[\"Conakry\",9.54,-13.68],[\"Nzérékoré\",7.76,-8.82]],\n\"America/Guadeloupe\":[[\"Les Abymes\",16.27,-61.51],[\"Baie-Mahault\",16.27,-61.59],[\"Le Gosier\",16.21,-61.49]],\n\"Africa/Malabo\":[[\"Bata\",1.86,9.77],[\"Malabo\",3.76,8.78],[\"Ebebiyin\",2.15,11.34]],\n\"Europe/Athens\":[[\"Athens\",37.98,23.73],[\"Solun\",40.64,22.93],[\"Patrasse\",38.24,21.73]],\n\"America/Guatemala\":[[\"Guatemala City\",14.64,-90.51],[\"Mixco\",14.63,-90.61],[\"Villa Nueva\",14.53,-90.59]],\n\"Pacific/Guam\":[[\"Dededo Village\",13.52,144.84],[\"Yigo Village\",13.54,144.89],[\"Tamuning-Tumon-Harmon Village\",13.49,144.78]],\n\"Africa/Bissau\":[[\"Bissau\",11.86,-15.60],[\"Bafatá\",12.17,-14.66],[\"Villa Gabu Sara\",12.28,-14.22]],\n\"America/Guyana\":[[\"Georgetown\",6.80,-58.16],[\"Linden\",6.01,-58.31],[\"New Amsterdam\",6.25,-57.52]],\n\"Asia/Hong_Kong\":[[\"Hong Kong\",22.28,114.17],[\"Kowloon\",22.32,114.18],[\"Tsuen Wan\",22.37,114.11]],\n\"America/Tegucigalpa\":[[\"Tegucigalpa\",14.08,-87.21],[\"San Pedro Sula\",15.50,-88.03],[\"Choloma\",15.61,-87.95]],\n\"Europe/Zagreb\":[[\"Zagreb\",45.81,15.98],[\"Split\",43.51,16.44],[\"Rijeka\",45.33,14.44]],\n\"America/Port-au-Prince\":[[\"Port-au-Prince\",18.54,-72.34],[\"Carrefour\",18.54,-72.40],[\"Delmas 73\",18.54,-72.30]],\n\"Europe/Budapest\":[[\"Budapest\",47.50,19.04],[\"Debrecen\",47.53,21.62],[\"Miskolc\",48.10,20.78]],\n\"Asia/Jakarta\":[[\"Jakarta\",-6.21,106.85],[\"Surabaya\",-7.25,112.75],[\"Medan\",3.58,98.67]],\n\"Asia/Makassar\":[[\"Makassar\",-5.15,119.43],[\"Denpasar\",-8.65,115.22],[\"City of Balikpapan\",-1.24,116.89]],\n\"Asia/Jayapura\":[[\"Ambon\",-3.70,128.18],[\"Jayapura\",-2.53,140.72],[\"Sorong\",-0.88,131.26]],\n\"Asia/Pontianak\":[[\"Pontianak\",-0.03,109.33],[\"Tanjung Pinang\",0.92,104.46],[\"Palangkaraya\",-2.21,113.92]],\n\"Europe/Dublin\":[[\"Dublin\",53.33,-6.25],[\"Cork\",51.90,-8.47],[\"Luimneach\",52.66,-8.62]],\n\"Asia/Jerusalem\":[[\"Jerusalem\",31.77,35.22],[\"Tel Aviv\",32.08,34.78],[\"West Jerusalem\",31.78,35.22]],\n\"Europe/Isle_of_Man\":[[\"Douglas\",54.15,-4.48],[\"Ramsey\",54.32,-4.39],[\"Peel\",54.22,-4.69]],\n\"Asia/Kolkata\":[[\"Mumbai\",19.07,72.88],[\"Delhi\",28.65,77.23],[\"Bengaluru\",12.97,77.59]],\n\"Asia/Baghdad\":[[\"Baghdad\",33.34,44.40],[\"Basrah\",30.51,47.78],[\"Al Mawşil al Jadīdah\",36.33,43.11]],\n\"Asia/Tehran\":[[\"Tehran\",35.69,51.42],[\"Mashhad\",36.30,59.61],[\"Isfahan\",32.65,51.67]],\n\"Atlantic/Reykjavik\":[[\"Reykjavík\",64.14,-21.90],[\"Kópavogur\",64.11,-21.91],[\"Hafnarfjörður\",64.07,-21.94]],\n\"Europe/Rome\":[[\"Rome\",41.89,12.51],[\"Milan\",45.46,9.19],[\"Naples\",40.85,14.27]],\n\"Europe/Jersey\":[[\"Saint Helier\",49.19,-2.10]],\n\"America/Jamaica\":[[\"Kingston\",18.00,-76.79],[\"New Kingston\",18.01,-76.78],[\"Spanish Town\",17.99,-76.96]],\n\"Asia/Amman\":[[\"Amman\",31.96,35.95],[\"Zarqa\",32.07,36.09],[\"Irbid\",32.56,35.85]],\n\"Asia/Tokyo\":[[\"Tokyo\",35.69,139.69],[\"Yokohama\",35.43,139.65],[\"Osaka\",34.69,135.50]],\n\"Africa/Nairobi\":[[\"Nairobi\",-1.28,36.82],[\"Mombasa\",-4.05,39.66],[\"Nakuru\",-0.31,36.07]],\n\"Asia/Bishkek\":[[\"Bishkek\",42.87,74.59],[\"Osh\",40.53,72.80],[\"Jalal-Abad\",40.93,73.00]],\n\"Asia/Phnom_Penh\":[[\"Phnom Penh\",11.56,104.92],[\"Takeo\",10.99,104.78],[\"Sihanoukville\",10.61,103.53]],\n\"Pacific/Tarawa\":[[\"Tarawa\",1.33,172.98],[\"Betio Village\",1.36,172.92],[\"Bikenibeu Village\",1.37,173.12]],\n\"Pacific/Kiritimati\":[[\"Tabwakea Village\",2.02,-157.49],[\"London Village\",1.98,-157.48],[\"Banana Village\",1.98,-157.37]],\n\"Indian/Comoro\":[[\"Moroni\",-11.70,43.26],[\"Moutsamoudou\",-12.17,44.40],[\"Fomboni\",-12.29,43.74]],\n\"America/St_Kitts\":[[\"Basseterre\",17.30,-62.72],[\"Fig Tree\",17.13,-62.60],[\"Market Shop\",17.13,-62.57]],\n\"Asia/Pyongyang\":[[\"Pyongyang\",39.03,125.75],[\"Hamhŭng\",39.92,127.54],[\"Namp’o\",38.74,125.41]],\n\"Asia/Seoul\":[[\"Seoul\",37.57,126.98],[\"Busan\",35.10,129.03],[\"Incheon\",37.46,126.71]],\n\"Asia/Kuwait\":[[\"Al Aḩmadī\",29.08,48.08],[\"Ḩawallī\",29.33,48.03],[\"Salmiyyeh\",29.33,48.08]],\n\"America/Cayman\":[[\"George Town\",19.29,-81.37],[\"West Bay\",19.37,-81.42],[\"Bodden Town\",19.28,-81.25]],\n\"Asia/Oral\":[[\"Oral\",51.23,51.37],[\"Aqsay\",51.17,53.00],[\"Janybek\",49.42,46.85]],\n\"Asia/Aqtau\":[[\"Shevchenko\",43.65,51.17],[\"Zhanaozen\",43.34,52.86],[\"Beyneu\",45.32,55.20]],\n\"Asia/Aqtobe\":[[\"Aktobe\",50.28,57.21],[\"Kandyagash\",49.47,57.42],[\"Shalqar\",47.83,59.60]],\n\"Asia/Atyrau\":[[\"Atyrau\",47.12,51.88],[\"Qulsary\",46.95,54.02],[\"Shalkar\",48.03,48.90]],\n\"Asia/Almaty\":[[\"Almaty\",43.26,76.93],[\"Karagandy\",49.80,73.10],[\"Shymkent\",42.30,69.60]],\n\"Asia/Qyzylorda\":[[\"Kyzylorda\",44.85,65.51],[\"Baikonur\",45.62,63.32],[\"Novokazalinsk\",45.85,62.15]],\n\"Asia/Qostanay\":[[\"Kostanay\",53.21,63.62],[\"Rudnyy\",52.97,63.12],[\"Dzhetygara\",52.19,61.20]],\n\"Asia/Vientiane\":[[\"Vientiane\",17.97,102.60],[\"Pakse\",15.12,105.80],[\"Thakhèk\",17.41,104.83]],\n\"Asia/Beirut\":[[\"Beirut\",33.89,35.50],[\"Ra’s Bayrūt\",33.90,35.48],[\"Tripoli\",34.43,35.84]],\n\"America/St_Lucia\":[[\"Castries\",14.00,-61.01],[\"Bisee\",14.02,-60.97],[\"Vieux Fort\",13.72,-60.95]],\n\"Europe/Vaduz\":[[\"Schaan\",47.16,9.51],[\"Vaduz\",47.14,9.52],[\"Triesen\",47.11,9.53]],\n\"Asia/Colombo\":[[\"Colombo\",6.94,79.85],[\"Dehiwala-Mount Lavinia\",6.84,79.87],[\"Moratuwa\",6.77,79.88]],\n\"Africa/Monrovia\":[[\"Monrovia\",6.30,-10.80],[\"Gbarnga\",7.00,-9.47],[\"Kakata\",6.53,-10.35]],\n\"Africa/Maseru\":[[\"Maseru\",-29.32,27.48],[\"Mafeteng\",-29.82,27.24],[\"Leribe\",-28.87,28.05]],\n\"Europe/Vilnius\":[[\"Vilnius\",54.69,25.28],[\"Kaunas\",54.90,23.91],[\"Klaipėda\",55.71,21.14]],\n\"Europe/Luxembourg\":[[\"Luxembourg\",49.61,6.13],[\"Esch-sur-Alzette\",49.50,5.98],[\"Dudelange\",49.48,6.09]],\n\"Europe/Riga\":[[\"Riga\",56.95,24.11],[\"Daugavpils\",55.88,26.53],[\"Liepāja\",56.50,21.01]],\n\"Africa/Tripoli\":[[\"Tripoli\",32.89,13.19],[\"Benghazi\",32.11,20.07],[\"Misurata\",32.38,15.09]],\n\"Africa/Casablanca\":[[\"Casablanca\",33.59,-7.61],[\"Rabat\",34.01,-6.83],[\"Fès\",34.03,-5.00]],\n\"Europe/Monaco\":[[\"Monaco\",43.73,7.42],[\"Monte-Carlo\",43.74,7.43],[\"La Condamine\",43.73,7.42]],\n\"Europe/Chisinau\":[[\"Chisinau\",47.01,28.86],[\"Tiraspol\",46.84,29.63],[\"Byelcy\",47.76,27.93]],\n\"Europe/Podgorica\":[[\"Podgorica\",42.44,19.26],[\"Nikšić\",42.77,18.94],[\"Herceg Novi\",42.45,18.54]],\n\"America/Marigot\":[[\"Marigot\",18.07,-63.08],[\"Grand-Case\",18.10,-63.05]],\n\"Indian/Antananarivo\":[[\"Antananarivo\",-18.91,47.54],[\"Toamasina\",-18.15,49.40],[\"Antsirabe\",-19.87,47.03]],\n\"Pacific/Majuro\":[[\"Majuro\",7.09,171.38],[\"Arno\",7.07,171.55],[\"Jabor\",5.92,169.64]],\n\"Pacific/Kwajalein\":[[\"Ebaye\",8.77,167.74]],\n\"Europe/Skopje\":[[\"Skopje\",42.00,21.43],[\"Bitola\",41.03,21.33],[\"Kumanovo\",42.13,21.71]],\n\"Africa/Bamako\":[[\"Bamako\",12.65,-8.00],[\"Sikasso\",11.32,-5.67],[\"Mopti\",14.48,-4.18]],\n\"Asia/Yangon\":[[\"Yangon\",16.81,96.16],[\"Mandalay\",21.97,96.08],[\"Nay Pyi Taw\",19.75,96.13]],\n\"Asia/Hovd\":[[\"Khovd\",48.01,91.64],[\"Ölgii\",48.97,89.96],[\"Ulaangom\",49.98,92.07]],\n\"Asia/Ulaanbaatar\":[[\"Ulan Bator\",47.91,106.88],[\"Erdenet\",49.03,104.08],[\"Darhan\",49.49,105.92]],\n\"Asia/Choibalsan\":[[\"Baruun-Urt\",46.68,113.28]],\n\"Asia/Macau\":[[\"Macau\",22.20,113.55]],\n\"Pacific/Saipan\":[[\"Saipan\",15.21,145.75],[\"San Jose Village\",14.97,145.62]],\n\"America/Martinique\":[[\"Fort-de-France\",14.60,-61.07],[\"Le Lamentin\",14.61,-61.00],[\"Le Robert\",14.68,-60.94]],\n\"Africa/Nouakchott\":[[\"Nouakchott\",18.09,-15.98],[\"Nouadhibou\",20.94,-17.04],[\"Néma\",16.62,-7.26]],\n\"America/Montserrat\":[[\"Brades\",16.79,-62.21],[\"Cork Hill\",16.73,-62.22],[\"Salem\",16.75,-62.22]],\n\"Europe/Malta\":[[\"Birkirkara\",35.90,14.46],[\"Qormi\",35.88,14.47],[\"Mosta\",35.91,14.43]],\n\"Indian/Mauritius\":[[\"Port Louis\",-20.16,57.50],[\"Beau Bassin-Rose Hill\",-20.23,57.47],[\"Vacoas\",-20.30,57.48]],\n\"Indian/Maldives\":[[\"Male\",4.18,73.51],[\"Fuvahmulah\",-0.30,73.42],[\"Hithadhoo\",-0.60,73.08]],\n\"Africa/Blantyre\":[[\"Lilongwe\",-13.97,33.79],[\"Blantyre\",-15.78,35.01],[\"Mzuzu\",-11.47,34.02]],\n\"America/Monterrey\":[[\"Monterrey\",25.68,-100.32],[\"Saltillo\",25.42,-101.01],[\"Guadalupe\",25.68,-100.26]],\n\"America/Mexico_City\":[[\"Mexico City\",19.43,-99.13],[\"Iztapalapa\",19.36,-99.06],[\"Ecatepec de Morelos\",19.60,-99.06]],\n\"America/Matamoros\":[[\"Reynosa\",26.08,-98.29],[\"Heroica Matamoros\",25.88,-97.50],[\"Nuevo Laredo\",27.48,-99.52]],\n\"America/Merida\":[[\"Mérida\",20.98,-89.62],[\"Campeche\",19.84,-90.53],[\"Ciudad del Carmen\",18.65,-91.83]],\n\"America/Cancun\":[[\"Cancún\",21.17,-86.85],[\"Chetumal\",18.51,-88.30],[\"Playa del Carmen\",20.63,-87.08]],\n\"America/Mazatlan\":[[\"Cuilacan\",24.79,-107.39],[\"Mazatlán\",23.23,-106.41],[\"Tepic\",21.51,-104.90]],\n\"America/Hermosillo\":[[\"Hermosillo\",29.10,-110.98],[\"Obregon\",27.49,-109.94],[\"Nogales\",31.31,-110.94]],\n\"America/Chihuahua\":[[\"Chihuahua\",28.64,-106.09],[\"Ciudad Delicias\",28.19,-105.47],[\"San Antonio de los Arenales\",28.41,-106.86]],\n\"America/Ojinaga\":[[\"Paso del Norte\",31.72,-106.46],[\"Manuel Ojinaga\",29.56,-104.42],[\"Ojinaga\",29.57,-104.54]],\n\"America/Tijuana\":[[\"Tijuana\",32.50,-117.00],[\"Mexicali\",32.63,-115.45],[\"Ensenada\",31.87,-116.60]],\n\"America/Bahia_Banderas\":[[\"Mezcales\",20.73,-105.28],[\"San Vicente\",20.75,-105.25],[\"Buserias\",20.76,-105.33]],\n\"Asia/Kuala_Lumpur\":[[\"Kota Bharu\",6.12,102.24],[\"Kuala Lumpur\",3.14,101.69],[\"Klang\",3.04,101.44]],\n\"Asia/Kuching\":[[\"Kuching\",1.55,110.33],[\"Kota Kinabalu\",5.97,116.07],[\"Sandakan\",5.84,118.12]],\n\"Africa/Maputo\":[[\"Maputo\",-25.97,32.58],[\"Matola\",-25.96,32.46],[\"Beira\",-19.84,34.84]],\n\"Africa/Windhoek\":[[\"Windhoek\",-22.56,17.08],[\"Rundu\",-17.93,19.77],[\"Walvis Bay\",-22.96,14.51]],\n\"Pacific/Noumea\":[[\"Nouméa\",-22.27,166.45],[\"Mont-Dore\",-22.26,166.57],[\"Dumbéa\",-22.16,166.46]],\n\"Africa/Niamey\":[[\"Niamey\",13.51,2.11],[\"Zinder\",13.81,8.99],[\"Maradi\",13.50,7.10]],\n\"Pacific/Norfolk\":[[\"Kingston\",-29.05,167.97]],\n\"Africa/Lagos\":[[\"Lagos\",6.45,3.39],[\"Kano\",12.00,8.52],[\"Ibadan\",7.38,3.91]],\n\"America/Managua\":[[\"Managua\",12.13,-86.25],[\"León\",12.44,-86.88],[\"Masaya\",11.97,-86.09]],\n\"Europe/Amsterdam\":[[\"Amsterdam\",52.37,4.89],[\"Rotterdam\",51.92,4.48],[\"The Hague\",52.08,4.30]],\n\"Europe/Oslo\":[[\"Oslo\",59.91,10.75],[\"Bergen\",60.39,5.32],[\"Trondheim\",63.43,10.40]],\n\"Asia/Kathmandu\":[[\"Kathmandu\",27.70,85.32],[\"Pokhara\",28.27,83.97],[\"Pātan\",27.68,85.31]],\n\"Pacific/Nauru\":[[\"Arijejen\",-0.53,166.91],[\"Denigomodu\",-0.53,166.91],[\"Menen\",-0.55,166.95]],\n\"Pacific/Niue\":[[\"Alofi\",-19.05,-169.92]],\n\"Pacific/Auckland\":[[\"Auckland\",-36.85,174.76],[\"Wellington\",-41.29,174.78],[\"Christchurch\",-43.53,172.63]],\n\"Asia/Muscat\":[[\"Muscat\",23.58,58.41],[\"Seeb\",23.67,58.19],[\"Salala\",17.02,54.09]],\n\"America/Panama\":[[\"Panamá\",8.99,-79.52],[\"San Miguelito\",9.05,-79.47],[\"Juan Díaz\",9.05,-79.45]],\n\"America/Lima\":[[\"Lima\",-12.04,-77.03],[\"Arequipa\",-16.40,-71.53],[\"Callao\",-12.06,-77.12]],\n\"Pacific/Marquesas\":[[\"Atuona\",-9.80,-139.04],[\"Taiohae\",-8.91,-140.10]],\n\"Pacific/Gambier\":[[\"Rikitea\",-23.12,-134.97]],\n\"Pacific/Tahiti\":[[\"Faaa\",-17.55,-149.60],[\"Papeete\",-17.54,-149.57],[\"Punaauia\",-17.63,-149.60]],\n\"Pacific/Port_Moresby\":[[\"Port Moresby\",-9.48,147.15],[\"Lae\",-6.72,147.00],[\"Mount Hagen\",-5.86,144.23]],\n\"Pacific/Bougainville\":[[\"Arawa\",-6.23,155.57],[\"Kieta\",-6.21,155.63],[\"Panguna\",-6.32,155.48]],\n\"Asia/Manila\":[[\"Quezon City\",14.65,121.05],[\"Manila\",14.60,120.98],[\"Caloocan City\",14.65,120.97]],\n\"Asia/Karachi\":[[\"Karachi\",24.86,67.01],[\"Lahore\",31.56,74.35],[\"Faisalabad\",31.42,73.09]],\n\"Europe/Warsaw\":[[\"Warsaw\",52.23,21.01],[\"Łódź\",51.77,19.47],[\"Kraków\",50.06,19.94]],\n\"America/Miquelon\":[[\"Saint-Pierre\",46.78,-56.18],[\"Miquelon\",47.10,-56.38]],\n\"America/Puerto_Rico\":[[\"San Juan\",18.47,-66.11],[\"Bayamón\",18.40,-66.16],[\"Carolina\",18.38,-65.96]],\n\"Asia/Gaza\":[[\"Gaza\",31.50,34.47],[\"Khān Yūnis\",31.34,34.31],[\"Jabalya\",31.53,34.48]],\n\"Asia/Hebron\":[[\"East Jerusalem\",31.78,35.23],[\"Hebron\",31.53,35.09],[\"Nablus\",32.22,35.25]],\n\"Europe/Lisbon\":[[\"Lisbon\",38.72,-9.13],[\"Porto\",41.15,-8.61],[\"Amadora\",38.75,-9.23]],\n\"Atlantic/Madeira\":[[\"Funchal\",32.67,-16.93],[\"Câmara de Lobos\",32.65,-16.98],[\"São Martinho\",32.64,-16.94]],\n\"Atlantic/Azores\":[[\"Ponta Delgada\",37.74,-25.67],[\"Lagoa\",37.74,-25.57],[\"Angra do Heroísmo\",38.65,-27.22]],\n\"Pacific/Palau\":[[\"Koror\",7.34,134.47],[\"Koror Town\",7.34,134.48],[\"Kloulklubed\",7.04,134.26]],\n\"America/Asuncion\":[[\"Asunción\",-25.29,-57.65],[\"Ciudad del Este\",-25.51,-54.61],[\"San Lorenzo\",-25.34,-57.51]],\n\"Asia/Qatar\":[[\"Doha\",25.29,51.53],[\"Raiyan\",25.29,51.42],[\"Umm Slal Mohammed\",25.42,51.41]],\n\"Indian/Reunion\":[[\"Saint-Denis\",-20.88,55.45],[\"Saint-Paul\",-21.01,55.27],[\"Saint-Pierre\",-21.34,55.48]],\n\"Europe/Bucharest\":[[\"Bucharest\",44.43,26.11],[\"Sector 3\",44.42,26.17],[\"Sector 6\",44.44,26.02]],\n\"Europe/Belgrade\":[[\"Belgrade\",44.80,20.47],[\"Pristina\",42.67,21.17],[\"Niš\",43.32,21.90]],\n\"Europe/Moscow\":[[\"Moscow\",55.75,37.62],[\"Saint Petersburg\",59.94,30.31],[\"Nizhniy Novgorod\",56.33,44.00]],\n\"Asia/Yekaterinburg\":[[\"Yekaterinburg\",56.85,60.61],[\"Chelyabinsk\",55.15,61.43],[\"Ufa\",54.74,55.97]],\n\"Europe/Kirov\":[[\"Kirov\",58.60,49.66],[\"Kirovo-Chepetsk\",58.55,50.04],[\"Vyatskiye Polyany\",56.23,51.07]],\n\"Europe/Samara\":[[\"Samara\",53.20,50.15],[\"Togliatti\",53.53,49.35],[\"Izhevsk\",56.85,53.20]],\n\"Europe/Kaliningrad\":[[\"Kaliningrad\",54.71,20.51],[\"Chernyakhovsk\",54.63,21.82],[\"Sovetsk\",55.08,21.88]],\n\"Europe/Volgograd\":[[\"Volgograd\",48.72,44.50],[\"Volzhskiy\",48.79,44.78],[\"Kamyshin\",50.10,45.42]],\n\"Europe/Ulyanovsk\":[[\"Ulyanovsk\",54.33,48.39],[\"Dimitrovgrad\",54.21,49.62],[\"Inza\",53.86,46.36]],\n\"Europe/Astrakhan\":[[\"Astrakhan\",46.35,48.04],[\"Akhtubinsk\",48.28,46.17],[\"Znamensk\",48.58,45.73]],\n\"Europe/Saratov\":[[\"Saratov\",51.54,46.01],[\"Balakovo\",52.03,47.80],[\"Pokrovskaya\",51.48,46.11]],\n\"Asia/Novokuznetsk\":[[\"Novokuznetsk\",53.76,87.11],[\"Kemerovo\",55.33,86.08],[\"Prokoyevsk\",53.91,86.72]],\n\"Asia/Tomsk\":[[\"Tomsk\",56.50,84.97],[\"Seversk\",56.60,84.89],[\"Strezhevoy\",60.73,77.59]],\n\"Asia/Krasnoyarsk\":[[\"Krasnoyarsk\",56.02,92.87],[\"Abakan\",53.72,91.43],[\"Norilsk\",69.35,88.20]],\n\"Asia/Barnaul\":[[\"Barnaul\",53.36,83.76],[\"Biysk\",52.54,85.21],[\"Rubtsovsk\",51.51,81.21]],\n\"Asia/Omsk\":[[\"Omsk\",54.99,73.37],[\"Tara\",56.89,74.37],[\"Kalachinsk\",55.05,74.58]],\n\"Asia/Novosibirsk\":[[\"Novosibirsk\",55.04,82.93],[\"Berdsk\",54.76,83.10],[\"Iskitim\",54.64,83.30]],\n\"Asia/Irkutsk\":[[\"Irkutsk\",52.30,104.30],[\"Ulan-Ude\",51.83,107.61],[\"Bratsk\",56.13,101.61]],\n\"Asia/Chita\":[[\"Chita\",52.03,113.50],[\"Krasnokamensk\",50.10,118.04],[\"Borzya\",50.38,116.52]],\n\"Asia/Yakutsk\":[[\"Yakutsk\",62.03,129.73],[\"Blagoveshchensk\",50.28,127.54],[\"Belogorsk\",50.92,128.48]],\n\"Asia/Vladivostok\":[[\"Vladivostok\",43.11,131.87],[\"Khabarovsk\",48.48,135.08],[\"Khabarovsk Vtoroy\",48.44,135.13]],\n\"Asia/Kamchatka\":[[\"Petropavlovsk-Kamchatsky\",53.04,158.65],[\"Yelizovo\",53.19,158.38],[\"Vilyuchinsk\",52.93,158.40]],\n\"Asia/Magadan\":[[\"Magadan\",59.56,150.80],[\"Ust-Nera\",64.57,143.24],[\"Susuman\",62.78,148.15]],\n\"Asia/Sakhalin\":[[\"Yuzhno-Sakhalinsk\",46.95,142.74],[\"Korsakov\",46.63,142.78],[\"Kholmsk\",47.05,142.05]],\n\"Asia/Anadyr\":[[\"Anadyr\",64.73,177.51],[\"Bilibino\",68.05,166.44],[\"Pevek\",69.70,170.30]],\n\"Africa/Kigali\":[[\"Kigali\",-1.95,30.06],[\"Butare\",-2.60,29.74],[\"Gitarama\",-2.07,29.76]],\n\"Asia/Riyadh\":[[\"Riyadh\",24.69,46.72],[\"Jeddah\",21.49,39.19],[\"Mecca\",21.43,39.83]],\n\"Pacific/Guadalcanal\":[[\"Honiara\",-9.43,159.95],[\"Malango\",-9.70,159.72],[\"Auki\",-8.77,160.70]],\n\"Indian/Mahe\":[[\"Victoria\",-4.62,55.46],[\"Anse Boileau\",-4.72,55.48],[\"Bel Ombre\",-4.62,55.42]],\n\"Africa/Khartoum\":[[\"Khartoum\",15.55,32.53],[\"Omdurman\",15.64,32.48],[\"Nyala\",12.05,24.88]],\n\"Europe/Stockholm\":[[\"Stockholm\",59.33,18.07],[\"Göteborg\",57.71,11.97],[\"Malmö\",55.61,13.00]],\n\"Asia/Singapore\":[[\"Singapore\",1.29,103.85],[\"Woodlands\",1.44,103.79]],\n\"Atlantic/St_Helena\":[[\"Half Tree Hollow\",-15.94,-5.72],[\"Longwood\",-15.95,-5.69],[\"Jamestown\",-15.94,-5.72]],\n\"Europe/Ljubljana\":[[\"Ljubljana\",46.05,14.51],[\"Maribor\",46.55,15.65],[\"Celje\",46.23,15.26]],\n\"Arctic/Longyearbyen\":[[\"Longyearbyen\",78.22,15.65],[\"Barentsburg\",78.06,14.21]],\n\"Europe/Bratislava\":[[\"Bratislava\",48.15,17.11],[\"Kassa\",48.71,21.26],[\"Eperjes\",49.00,21.23]],\n\"Africa/Freetown\":[[\"Freetown\",8.49,-13.24],[\"Bo\",7.96,-11.74],[\"Kenema\",7.88,-11.19]],\n\"Europe/San_Marino\":[[\"Serravalle\",43.97,12.48],[\"Borgo Maggiore\",43.94,12.45],[\"San Marino\",43.94,12.45]],\n\"Africa/Dakar\":[[\"Dakar\",14.69,-17.44],[\"Pikine\",14.76,-17.39],[\"Touba\",14.85,-15.88]],\n\"Africa/Mogadishu\":[[\"Mogadishu\",2.04,45.34],[\"Hargeysa\",9.56,44.06],[\"Berbera\",10.44,45.01]],\n\"America/Paramaribo\":[[\"Paramaribo\",5.87,-55.17],[\"Lelydorp\",5.70,-55.23],[\"Brokopondo\",5.06,-54.98]],\n\"Africa/Juba\":[[\"Juba\",4.85,31.58],[\"Winejok\",9.01,27.57],[\"Malakal\",9.53,31.66]],\n\"Africa/Sao_Tome\":[[\"São Tomé\",0.34,6.73],[\"Santo António\",1.64,7.42]],\n\"America/El_Salvador\":[[\"San Salvador\",13.69,-89.19],[\"Soyapango\",13.71,-89.14],[\"Santa Ana\",13.99,-89.56]],\n\"America/Lower_Princes\":[[\"Cul de Sac\",18.05,-63.07],[\"Lower Prince’s Quarter\",18.05,-63.04],[\"Koolbaai\",18.04,-63.08]],\n\"Asia/Damascus\":[[\"Aleppo\",36.20,37.16],[\"Damascus\",33.51,36.29],[\"Homs\",34.73,36.72]],\n\"Africa/Mbabane\":[[\"Manzini\",-26.50,31.38],[\"Mbabane\",-26.32,31.13],[\"Big Bend\",-26.82,31.93]],\n\"America/Grand_Turk\":[[\"Cockburn Town\",21.46,-71.14],[\"Cockburn Harbour\",21.49,-71.53]],\n\"Africa/Ndjamena\":[[\"N'Djamena\",12.11,15.04],[\"Moundou\",8.57,16.08],[\"Sarh\",9.14,18.39]],\n\"Africa/Lome\":[[\"Lomé\",6.13,1.22],[\"Sokodé\",8.98,1.13],[\"Kara\",9.55,1.19]],\n\"Asia/Bangkok\":[[\"Bangkok\",13.75,100.50],[\"Samut Prakan\",13.60,100.60],[\"Mueang Nonthaburi\",13.86,100.51]],\n\"Asia/Dushanbe\":[[\"Dushanbe\",38.54,68.78],[\"Khujand\",40.28,69.62],[\"Kulyab\",37.91,69.78]],\n\"Pacific/Fakaofo\":[[\"Atafu Village\",-8.54,-172.52]],\n\"Asia/Dili\":[[\"Dili\",-8.56,125.57],[\"Maliana\",-8.99,125.22],[\"Suai\",-9.31,125.26]],\n\"Asia/Ashgabat\":[[\"Ashgabat\",37.95,58.38],[\"Novo-Chardzhuy\",39.07,63.58],[\"Tashauz\",41.84,59.97]],\n\"Africa/Tunis\":[[\"Tunis\",36.82,10.17],[\"Sfax\",34.74,10.76],[\"Sousse\",35.83,10.64]],\n\"Pacific/Tongatapu\":[[\"Nukalofa\",-21.14,-175.20],[\"Lapaha\",-21.18,-175.12],[\"Neiafu\",-18.65,-173.98]],\n\"Europe/Istanbul\":[[\"Istanbul\",41.01,28.95],[\"Ankara\",39.92,32.85],[\"Yazmir\",38.41,27.14]],\n\"America/Port_of_Spain\":[[\"Chaguanas\",10.52,-61.42],[\"Mon Repos\",10.28,-61.45],[\"San Fernando\",10.28,-61.47]],\n\"Pacific/Funafuti\":[[\"Funafuti\",-8.52,179.19],[\"Alapi Village\",-8.52,179.20],[\"Fakaifou Village\",-8.52,179.20]],\n\"Asia/Taipei\":[[\"Taipei\",25.05,121.53],[\"Kaohsiung\",22.62,120.31],[\"Taichung\",24.15,120.68]],\n\"Africa/Dar_es_Salaam\":[[\"Dar es Salaam\",-6.82,39.27],[\"Mwanza\",-2.52,32.90],[\"Zanzibar\",-6.16,39.20]],\n\"Europe/Simferopol\":[[\"Simferopol\",44.96,34.11],[\"Kerch\",45.36,36.48],[\"Yevpatoriya\",45.20,33.37]],\n\"Europe/Kiev\":[[\"Kyiv\",50.45,30.52],[\"Kharkiv\",49.98,36.25],[\"Donetsk\",48.02,37.80]],\n\"Europe/Zaporozhye\":[[\"Luhansk\",48.57,39.32],[\"Sevastopol\",44.61,33.52],[\"Severodonetsk\",48.95,38.49]],\n\"Europe/Uzhgorod\":[[\"Uzhgorod\",48.62,22.29],[\"Mukachevo\",48.44,22.72],[\"Khust\",48.17,23.30]],\n\"Africa/Kampala\":[[\"Kampala\",0.32,32.58],[\"Gulu\",2.77,32.30],[\"Lira\",2.25,32.90]],\n\"America/Chicago\":[[\"Chicago\",41.85,-87.65],[\"Houston\",29.76,-95.36],[\"San Antonio\",29.42,-98.49]],\n\"America/New_York\":[[\"New York City\",40.71,-74.01],[\"Brooklyn\",40.65,-73.95],[\"Queens\",40.68,-73.84]],\n\"America/Indiana/Indianapolis\":[[\"Indianapolis\",39.77,-86.16],[\"Fort Wayne\",41.13,-85.13],[\"South Bend\",41.68,-86.25]],\n\"America/Indiana/Vincennes\":[[\"Vincennes\",38.68,-87.53],[\"Jasper\",38.39,-86.93],[\"Washington\",38.66,-87.17]],\n\"America/Kentucky/Louisville\":[[\"Louisville\",38.25,-85.76],[\"Jeffersonville\",38.28,-85.74],[\"New Albany\",38.29,-85.82]],\n\"America/Indiana/Tell_City\":[[\"Tell City\",37.95,-86.77],[\"Cannelton\",37.91,-86.74]],\n\"America/Indiana/Marengo\":[[\"Marengo\",38.37,-86.34],[\"Milltown\",38.34,-86.28],[\"English\",38.33,-86.46]],\n\"America/Indiana/Petersburg\":[[\"Petersburg\",38.49,-87.28],[\"Winslow\",38.38,-87.21]],\n\"America/Indiana/Vevay\":[[\"Vevay\",38.75,-85.07]],\n\"America/Kentucky/Monticello\":[[\"Monticello\",36.83,-84.85]],\n\"America/Indiana/Knox\":[[\"Knox\",41.30,-86.63],[\"North Judson\",41.22,-86.78],[\"Koontz Lake\",41.42,-86.49]],\n\"America/Indiana/Winamac\":[[\"Winamac\",41.05,-86.60],[\"Francesville\",40.99,-86.88],[\"Medaryville\",41.08,-86.89]],\n\"America/Menominee\":[[\"Menominee\",45.11,-87.61],[\"Iron Mountain\",45.82,-88.07],[\"Kingsford\",45.79,-88.07]],\n\"America/Phoenix\":[[\"Phoenix\",33.45,-112.07],[\"Tucson\",32.22,-110.93],[\"Mesa\",33.42,-111.82]],\n\"America/Los_Angeles\":[[\"Los Angeles\",34.05,-118.24],[\"San Diego\",32.72,-117.16],[\"San Jose\",37.34,-121.89]],\n\"America/Denver\":[[\"Denver\",39.74,-104.98],[\"El Paso\",31.76,-106.49],[\"Albuquerque\",35.08,-106.65]],\n\"America/Juneau\":[[\"Juneau\",58.30,-134.42],[\"Haines\",59.24,-135.45],[\"Craig\",55.48,-133.15]],\n\"America/Sitka\":[[\"Sitka\",57.05,-135.33],[\"Ketchikan\",55.34,-131.65],[\"Petersburg\",56.81,-132.96]],\n\"America/Metlakatla\":[[\"Metlakatla\",55.13,-131.58]],\n\"America/Yakutat\":[[\"Yakutat\",59.55,-139.73]],\n\"America/Boise\":[[\"Boise\",43.61,-116.20],[\"Meridian\",43.61,-116.39],[\"Nampa\",43.54,-116.56]],\n\"America/North_Dakota/Beulah\":[[\"Beulah\",47.26,-101.78],[\"Hazen\",47.29,-101.62]],\n\"America/North_Dakota/Center\":[[\"Center\",47.12,-101.30]],\n\"America/North_Dakota/New_Salem\":[[\"Mandan\",46.83,-100.89],[\"New Salem\",46.84,-101.41],[\"Glen Ullin\",46.82,-101.83]],\n\"Pacific/Honolulu\":[[\"Honolulu\",21.31,-157.86],[\"East Honolulu\",21.29,-157.72],[\"Pearl City\",21.40,-157.98]],\n\"America/Anchorage\":[[\"Anchorage\",61.22,-149.90],[\"Fairbanks\",64.84,-147.72],[\"Eagle River\",61.32,-149.57]],\n\"America/Nome\":[[\"Nome\",64.50,-165.41],[\"Kotzebue\",66.90,-162.60],[\"Hooper Bay\",61.53,-166.10]],\n\"America/Adak\":[[\"Gambell\",63.78,-171.73],[\"Savoonga\",63.69,-170.48]],\n\"America/Montevideo\":[[\"Montevideo\",-34.90,-56.19],[\"Salto\",-31.38,-57.97],[\"Paysandú\",-32.32,-58.08]],\n\"Asia/Samarkand\":[[\"Samarkand\",39.65,66.96],[\"Bukhara\",39.77,64.43],[\"Nukus\",42.45,59.61]],\n\"Asia/Tashkent\":[[\"Tashkent\",41.26,69.22],[\"Namangan\",41.00,71.67],[\"Andijon\",40.78,72.34]],\n\"Europe/Vatican\":[[\"Vatican City\",41.90,12.45]],\n\"America/St_Vincent\":[[\"Kingstown\",13.16,-61.23],[\"Kingstown Park\",13.16,-61.23],[\"Georgetown\",13.28,-61.12]],\n\"America/Caracas\":[[\"Caracas\",10.49,-66.88],[\"Maracaibo\",10.67,-71.61],[\"Maracay\",10.24,-67.59]],\n\"America/Tortola\":[[\"Road Town\",18.43,-64.62]],\n\"America/St_Thomas\":[[\"Saint Croix\",17.73,-64.75],[\"Charlotte Amalie\",18.34,-64.93],[\"Cruz Bay\",18.33,-64.79]],\n\"Asia/Ho_Chi_Minh\":[[\"Ho Chi Minh City\",10.82,106.63],[\"Hanoi\",21.02,105.84],[\"Da Nang\",16.07,108.22]],\n\"Pacific/Efate\":[[\"Port-Vila\",-17.74,168.31],[\"Luganville\",-15.52,167.16],[\"Norsup\",-16.07,167.40]],\n\"Pacific/Wallis\":[[\"Mata-Utu\",-13.28,-176.17],[\"Liku\",-13.27,-176.17],[\"Alele\",-13.25,-176.18]],\n\"Pacific/Apia\":[[\"Apia\",-13.83,-171.77],[\"Asau\",-13.52,-172.64],[\"Mulifanua\",-13.83,-172.04]],\n\"Asia/Aden\":[[\"Sanaa\",15.35,44.21],[\"Hudaida\",14.80,42.95],[\"Taiz\",13.58,44.02]],\n\"Indian/Mayotte\":[[\"Mamoudzou\",-12.78,45.23],[\"Koungou\",-12.73,45.20],[\"Dzaoudzi\",-12.78,45.26]],\n\"Africa/Johannesburg\":[[\"Cape Town\",-33.93,18.42],[\"Durban\",-29.86,31.03],[\"Johannesburg\",-26.20,28.04]],\n\"Africa/Lusaka\":[[\"Lusaka\",-15.41,28.29],[\"Kitwe\",-12.80,28.21],[\"Ndola\",-12.96,28.64]],\n\"Africa/Harare\":[[\"Harare\",-17.83,31.05],[\"Bulawayo\",-20.15,28.58],[\"Chitungwiza\",-18.01,31.08]]}","datasets/alaro40.json":"{\n  \"id\": \"alaro40\",\n  \"layers\": [\n    {\"id\": \"alaro40\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","datasets/arome1.json":"{\n  \"id\": \"arome1\",\n  \"layers\": [\n    {\"id\": \"arome1\"},\n    {\"id\": \"arpege\", \"rank\": \"secondary\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","datasets/arpege.json":"{\n  \"id\": \"arpege\",\n  \"layers\": [\n    {\"id\": \"arpege\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","datasets/cams_eu.json":"{\n  \"id\": \"cams_eu\",\n  \"layers\": [\n    {\"id\": \"cams_eu\"},\n    {\"id\": \"cams_aq\", \"rank\": \"fallback\"}\n  ]\n}","datasets/cams_silam.json":"{\n  \"id\": \"cams_silam\",\n  \"layers\": [\n    {\"id\": \"cams_silam\"},\n    {\"id\": \"cams_aq\", \"rank\": \"fallback\"}\n  ]\n}","datasets/ecmwf_ifs.json":"{\n  \"id\": \"ecmwf_ifs\",\n  \"layers\": [\n    {\"id\": \"ecmwf_ifs\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","datasets/expmarine.json":"{\n  \"id\": \"expmarine\",\n  \"label\": \"Expedition Marine 1-9km\",\n  \"layers\": [\n    {\"id\": \"expmarine\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","datasets/harmonie43p1.json":"{\n  \"id\": \"harmonie43p1\",\n  \"layers\": [\n    {\"id\": \"harmonie43p1\"},\n    {\"id\": \"harmonie43p3\", \"rank\": \"secondary\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","datasets/harmonie43p3.json":"{\n  \"id\": \"harmonie43p3\",\n  \"layers\": [\n    {\"id\": \"harmonie43p3\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","datasets/harmonie_caribbean.json":"{\n  \"id\": \"harmonie_caribbean\",\n  \"layers\": [\n    {\"id\": \"harmonie43ben\"},\n    {\"id\": \"harmonie43bov\"},\n    {\"id\": \"harmonie43bess\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","datasets/hrdps2.json":"{\n  \"id\": \"hrdps2\",\n  \"layers\": [\n    {\"id\": \"hrdps2\"},\n    {\"id\": \"rdps_v2\", \"rank\": \"secondary\"},\n    {\"id\": \"gdps\", \"rank\": \"fallback\"}\n  ]\n}","datasets/hrrr.json":"{\n  \"id\": \"hrrr\",\n  \"layers\": [\n    {\"id\": \"hrrr\"},\n    {\"id\": \"hrrr\", \"release\": \"extended\"},\n    {\"id\": \"nam_conus\", \"rank\": \"secondary\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","datasets/hrrr_smoke.json":"{\n  \"id\": \"hrrr_smoke\",\n  \"layers\": [\n    {\"id\": \"hrrr_smoke\"},\n    {\"id\": \"hrrr_smoke\", \"release\": \"extended\"}\n  ]\n}","datasets/icon.json":"{\n  \"id\": \"icon\",\n  \"layers\": [\n    {\"id\": \"icon\"},\n    {\"id\": \"icon\", \"release\": \"extended\"},\n    {\"id\": \"gfs\", \"rank\":  \"fallback\"}\n  ]\n}","datasets/icon_d2.json":"{\n  \"id\": \"icon_d2\",\n  \"layers\": [\n    {\"id\": \"icon_d2\"},\n    {\"id\": \"icon_eu_v2\", \"rank\": \"secondary\"},\n    {\"id\": \"icon_eu_v2\", \"rank\": \"secondary\", \"release\": \"extended\"},\n    {\"id\": \"icon\", \"rank\": \"fallback\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}\n","datasets/icon_eu.json":"{\n  \"id\": \"icon_eu\",\n  \"layers\": [\n    {\"id\": \"icon_eu_v2\"},\n    {\"id\": \"icon_eu_v2\", \"release\": \"extended\"},\n    {\"id\": \"icon\", \"rank\": \"secondary\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","datasets/nam12.json":"{\n  \"id\": \"nam12\",\n  \"layers\": [\n    {\"id\": \"nam12\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","datasets/nam_conus.json":"{\n  \"id\": \"nam_conus\",\n  \"layers\": [\n    {\"id\": \"nam_conus\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","datasets/rdps_v2.json":"{\n  \"id\": \"rdps_v2\",\n  \"layers\": [\n    {\"id\": \"rdps_v2\"},\n    {\"id\": \"gdps\", \"rank\": \"fallback\"}\n  ]\n}","datasets/rrfs_ak.json":"{\n  \"id\": \"rrfs_ak\",\n  \"layers\": [\n    {\"id\": \"rrfs_ak\"},\n    {\"id\": \"rrfs_ak_3h\"},\n    {\"id\": \"rrfs_ak\", \"release\": \"extended\"},\n    {\"id\": \"rrfs_ak_3h\", \"release\": \"extended\"},\n    {\"id\": \"rrfs_na\", \"rank\": \"secondary\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}\n","datasets/rrfs_conus.json":"{\n  \"id\": \"rrfs_conus\",\n  \"layers\": [\n    {\"id\": \"rrfs_conus\"},\n    {\"id\": \"rrfs_conus_3h\"},\n    {\"id\": \"rrfs_conus\", \"release\": \"extended\"},\n    {\"id\": \"rrfs_conus_3h\", \"release\": \"extended\"},\n    {\"id\": \"rrfs_na\", \"rank\": \"secondary\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}\n","datasets/rrfs_hi.json":"{\n  \"id\": \"rrfs_hi\",\n  \"layers\": [\n    {\"id\": \"rrfs_hi\"},\n    {\"id\": \"rrfs_hi_3h\"},\n    {\"id\": \"rrfs_hi\", \"release\": \"extended\"},\n    {\"id\": \"rrfs_hi_3h\", \"release\": \"extended\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}\n","datasets/rrfs_na.json":"{\n  \"id\": \"rrfs_na\",\n  \"layers\": [\n    {\"id\": \"rrfs_na\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}\n","datasets/rrfs_pr.json":"{\n  \"id\": \"rrfs_pr\",\n  \"layers\": [\n    {\"id\": \"rrfs_pr\"},\n    {\"id\": \"rrfs_pr_3h\"},\n    {\"id\": \"rrfs_pr\", \"release\": \"extended\"},\n    {\"id\": \"rrfs_pr_3h\", \"release\": \"extended\"},\n    {\"id\": \"rrfs_na\", \"rank\": \"secondary\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}\n","datasets/rrfs_pr_3h.json":"{\n  \"id\": \"rrfs_pr_3h\",\n  \"layers\": [\n    {\"id\": \"rrfs_pr_3h\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}\n","datasets/smn_ar.json":"{\n  \"id\": \"smn_ar\",\n  \"layers\": [\n    {\"id\": \"smn_ar\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}\n","datasets/ukmo_10km.json":"{\n  \"id\": \"ukmo_10km\",\n  \"layers\": [\n    {\"id\": \"ukmo_10km\"},\n    {\"id\": \"ukmo_10km\", \"release\": \"extended\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","datasets/ukmo_2km.json":"{\n  \"id\": \"ukmo_2km\",\n  \"layers\": [\n    {\"id\": \"ukmo_2km\", \"release\": \"current\"},\n    {\"id\": \"ukmo_2km\", \"release\": \"extended\"},\n    {\"id\": \"ukmo_2km\", \"release\": \"extended_max\"},\n    {\"id\": \"ukmo_10km\", \"rank\": \"secondary\"},\n    {\"id\": \"gfs\", \"rank\": \"fallback\"}\n  ]\n}","graph/everyday.json":"{\n  \"id\": \"everyday\",\n  \"name\":\"Everyday\",\n\n  \"config\": { \"createdBy\": \"Flowx\" },\n\n  \"elements\": [\n    { \"type\": \"background\", \"config\":  { \"color\": \"#FFB600\" } },\n\n    { \"type\": \"fill\", \"data\": \"@wx/cloud.total\", \"range\": \"cloud\", \"visible\": false,\n      \"config\": { \"color\": \"#8E8E8E\" }\n    },\n\n    { \"type\": \"bands\", \"config\": { \"color\": \"#FFF2\" }},\n\n    { \"type\": \"cloud_layers\", \"data\": \"@wx/cloud.layers\", \"range\": \"cloud\",\n      \"config\": { \"color\": \"#8E8E8E\" }\n    },\n\n    { \"type\": \"fill\", \"data\": \"@wx/precipitation.sfc\", \"range\": \"precipitation\",\n      \"config\": { \"color\": \"#00539A\" }\n    },\n\n    { \"type\": \"line\", \"data\": \"@wx/wind_speed.10m\", \"range\": \"wind_speed\",\n      \"config\": { \"color\": \"#1A781f\", \"lineWidth\": 1.2 }\n    },\n\n    { \"type\": \"line\", \"data\": \"@wx/wind_gust.10m\", \"range\": \"wind_speed\", \"visible\":  false,\n      \"config\": { \"color\": \"#1A781f\", \"lineWidth\": 0.8 }\n    },\n\n    { \"type\": \"warnings\", \"config\": { \"color\": \"#0004\" } },\n\n    { \"type\": \"transitions\",\n      \"config\": { \"color\": \"#0008\", \"dark\": { \"color\": \"#FFF8\" } } },\n\n    { \"type\": \"transition_labels\", \"visible\": false,\n      \"config\": { \"color\": \"#0008\", \"textSize\": 10, \"dark\": { \"color\": \"#FFF8\" } } },\n\n    { \"type\": \"time_scale\",\n      \"config\": { \"color\": \"#0008\", \"lineWidth\": 0.3 }\n    },\n\n    { \"type\": \"scale_lines\", \"range\": \"wind_speed\", \"visible\":  false,\n      \"config\": {\n        \"color\": \"#005083\", \"lineWidth\": 0.3\n      }\n    },\n\n    { \"type\": \"y_scale\", \"range\": \"wind_speed\",\n      \"config\": {\n        \"position\": \"end\", \"color\": \"#005083\", \"textSize\": 10 }\n    },\n\n    { \"type\": \"legend\" },\n\n    { \"type\": \"time_line\", \"config\": { \"color\": \"#F00\", \"lineWidth\": 1 } }\n  ]\n}","graph/humidity.json":"{\n  \"id\": \"humidity\",\n  \"name\": \"Humidity\",\n\n  \"config\": { \"createdBy\": \"Flowx\" },\n\n  \"elements\": [\n\n    {\"type\": \"line\", \"data\": \"@wx/humidity_relative.2m\", \"range\": \"humidity\",\n      \"config\": {\"color\": \"#0089df\", \"lineWidth\": 1.2, \"dark\": { \"color\": \"#0089df\" } }\n    },\n\n    { \"type\": \"warnings\", \"config\": { \"color\": \"#0004\" } },\n\n    { \"type\": \"transitions\",\n      \"config\": { \"color\": \"#0008\", \"dark\": { \"color\": \"#FFF8\" } } },\n\n    { \"type\": \"transition_labels\",\n      \"config\": { \"color\": \"#0008\", \"textSize\": 10, \"dark\": { \"color\": \"#FFF8\" } } },\n\n    { \"type\": \"time_scale\",\n      \"config\": {\n        \"color\": \"#0008\", \"lineWidth\": 0.3,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }\n    },\n\n    { \"type\": \"scale_lines\", \"range\": \"humidity\",\n      \"config\": {\n        \"color\": \"#00539A\", \"lineWidth\": 0.3,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }\n    },\n    { \"type\": \"y_scale\", \"range\": \"humidity\",\n      \"config\": {\n        \"position\": \"end\",\n        \"color\": \"#00539A\", \"textSize\": 10,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }\n    },\n\n    { \"type\": \"legend\" },\n\n    { \"type\": \"time_line\", \"config\": { \"color\": \"#F00\", \"lineWidth\": 1 } }\n  ]\n}","graph/pressure.json":"{\n  \"id\": \"pressure\",\n  \"name\": \"Pressure\",\n\n  \"config\": { \"createdBy\": \"Flowx\" },\n\n  \"elements\": [\n\n    {\"type\": \"line\", \"data\": \"@wx/pressure.msl\", \"range\": \"pressure\",\n      \"config\": { \"color\": \"#000\", \"lineWidth\": 1.2, \"dark\": { \"color\": \"#EEE\" } }\n    },\n\n    { \"type\": \"warnings\", \"config\": { \"color\": \"#0004\" } },\n\n    { \"type\": \"transitions\",\n      \"config\": { \"color\": \"#0008\", \"dark\": { \"color\": \"#FFF8\" } } },\n\n    { \"type\": \"transition_labels\",\n      \"config\": { \"color\": \"#0008\", \"textSize\": 10, \"dark\": { \"color\": \"#FFF8\" } } },\n\n    { \"type\": \"time_scale\",\n      \"config\": {\n        \"color\": \"#0008\", \"lineWidth\": 0.3,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }\n    },\n\n    { \"type\": \"scale_lines\", \"range\": \"pressure\",\n      \"config\": {\n        \"color\": \"#00539A\", \"lineWidth\": 0.3,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }\n    },\n    { \"type\": \"y_scale\", \"range\": \"pressure\",\n      \"config\": {\n        \"position\": \"end\",\n        \"color\": \"#00539A\", \"textSize\": 10,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }\n    },\n\n    { \"type\": \"legend\" },\n\n    { \"type\": \"time_line\", \"config\": { \"color\": \"#F00\", \"lineWidth\": 1 } }\n  ]\n}","graph/temperature.json":"{\n  \"id\": \"temperature\",\n  \"name\": \"Temperature\",\n\n  \"config\": { \"createdBy\": \"Flowx\" },\n\n  \"elements\": [\n\n    {\"type\": \"delta\", \"data\": \"@wx/temperature.2m\", \"range\": \"temperature\",\n      \"config\": {\n        \"downColor\": \"#D4E3FF\", \"upColor\": \"#FFDBCB\",\n        \"dark\": { \"downColor\": \"#004786\", \"upColor\": \"#7A3000\" }\n      }\n    },\n\n    {\"type\": \"line\", \"data\": \"@wx/temperature.2m\", \"range\": \"temperature\",\n      \"config\": {\n        \"lineWidth\": 1.1, \"color\": \"#005FAF\",\n        \"dark\": { \"color\": \"#A5C8FF\" }\n      }\n    },\n\n    {\"type\": \"data_lines\", \"range\": \"temperature\",\n      \"config\": {\"values\": \"0\", \"units\": \"C\",\n        \"lineWidth\": 1.2, \"color\": \"#5050FF\",\n        \"dark\": { \"color\": \"#8888FF\"}}\n    },\n\n    { \"type\": \"warnings\", \"config\": { \"color\": \"#0004\" } },\n\n    { \"type\": \"transitions\",\n      \"config\": { \"color\": \"#0008\", \"dark\": { \"color\": \"#FFF8\" } } },\n\n    { \"type\": \"transition_labels\",\n      \"config\": { \"color\": \"#0008\", \"textSize\": 10, \"dark\": { \"color\": \"#FFF8\" } } },\n\n    { \"type\": \"time_scale\",\n      \"config\": {\"color\": \"#0008\", \"lineWidth\": 0.3,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }\n    },\n\n    { \"type\": \"scale_lines\", \"range\": \"temperature\",\n      \"config\": {\n        \"color\": \"#00539A\", \"lineWidth\": 0.3,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }\n    },\n\n    { \"type\": \"y_scale\", \"range\": \"temperature\",\n      \"config\": {\n        \"position\": \"end\",\n        \"color\": \"#00539A\", \"textSize\": 10,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }\n    },\n\n    { \"type\": \"legend\" },\n\n    { \"type\": \"time_line\", \"config\": { \"color\": \"#F00\", \"lineWidth\": 1 } }\n  ]\n}","graph/wind.json":"{\n  \"id\": \"wind\",\n  \"name\": \"Wind\",\n\n  \"config\": { \"createdBy\": \"Flowx\" },\n\n  \"elements\": [\n\n    { \"type\": \"line\", \"data\": \"@wx/wind_speed.10m\", \"range\": \"wind_speed\",\n      \"config\": { \"color\": \"#1A781f\", \"lineWidth\": 1.2, \"dark\": { \"color\": \"#43A047\" } }\n    },\n\n    { \"type\": \"line\", \"data\": \"@wx/wind_gust.10m\", \"range\": \"wind_speed\",\n      \"config\": { \"color\": \"#1A781f\", \"lineWidth\": 0.8, \"dark\": { \"color\": \"#43A047\" }  }\n    },\n\n    { \"type\": \"warnings\", \"config\": { \"color\": \"#0004\" } },\n\n    { \"type\": \"transitions\",\n      \"config\": { \"color\": \"#0008\", \"dark\": { \"color\": \"#FFF8\" } } },\n\n    { \"type\": \"transition_labels\",\n      \"config\": { \"color\": \"#0008\", \"textSize\": 10, \"dark\": { \"color\": \"#FFF8\" } } },\n\n    { \"type\": \"time_scale\",\n      \"config\": {\n        \"color\": \"#0008\", \"lineWidth\": 0.3,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }\n    },\n\n    { \"type\": \"scale_lines\", \"range\": \"wind_speed\",\n      \"config\": {\n        \"color\": \"#00539A\", \"lineWidth\": 0.3,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }\n    },\n\n    { \"type\": \"y_scale\", \"range\": \"wind_speed\",\n      \"config\": {\n        \"position\": \"end\",\n        \"color\": \"#00539A\", \"textSize\": 10,\n        \"dark\": { \"color\": \"#FFF8\" }\n      }\n    },\n\n    { \"type\": \"legend\" },\n\n    { \"type\": \"time_line\", \"config\": { \"color\": \"#F00\", \"lineWidth\": 1 } }\n  ]\n}","layout/fullscreen.json":"{\n  \"id\": \"fullscreen\",\n  \"label\": \"Fullscreen\",\n  \"orientation\": \"portrait\",\n  \"template\": \"portrait_std\",\n  \"zones\": {\n    \"map_top\": {\n      \"type\": \"column\",\n      \"id\": \"map_top\",\n      \"elements\": [\n        {\"type\": \"map_details\", \"id\": \"map_details\"}\n      ]\n    },\n    \"map_bottom\": {\n      \"type\": \"column\",\n      \"id\": \"map_bottom\",\n      \"elements\": [\n        {\"type\":  \"map_controls\", \"id\": \"map_controls\"}\n      ]\n    },\n    \"scalebar\": {\n      \"type\": \"column\",\n      \"id\": \"scalebar\",\n      \"elements\": [\n        {\"type\": \"scalebar\", \"id\": \"scalebar\"}\n      ]\n    }\n  }\n}","layout/landscape.json":"{\n  \"id\": \"landscape\",\n  \"label\": \"Landscape\",\n  \"orientation\": \"landscape\",\n  \"template\": \"landscape_std\",\n  \"zones\": {\n    \"top\": {\n      \"type\": \"column\",\n      \"id\": \"top\",\n      \"elements\": [\n        {\n          \"type\": \"row\",\n          \"id\": \"gauges_row1\",\n          \"elements\": [\n            {\"type\": \"gauge\", \"id\": \"datetime\", \"dataId\": \"compute/datetime\", \"icon\": \"ic_clock\", \"action\": \"snap_time\"}\n          ]\n        },\n        {\n          \"type\": \"row\",\n          \"id\": \"gauges_row2\",\n          \"elements\": [\n            {\"type\": \"gauge\", \"id\": \"temperature_gauge\", \"dataId\": \"@wx/temperature.2m\", \"icon\": \"ic_thermometer\"},\n            {\"type\": \"gauge\", \"id\": \"precipitation_gauge\", \"dataId\": \"@wx/precipitation.sfc\", \"icon\": \"ic_precipitation\"},\n            {\"type\": \"gauge\", \"id\": \"wind_gauge\", \"dataId\": \"@wx/wind_vectors.10m\", \"icon\": \"ic_wind_dir\", \"mode\": \"directional\"}\n          ]\n        },\n        {\n          \"type\": \"row\",\n          \"id\": \"gauges_row3\",\n          \"elements\": [\n            {\"type\": \"gauge\", \"id\": \"cloud_gauge\", \"dataId\": \"@wx/cloud.total\", \"icon\": \"ic_cloud\"},\n            {\"type\": \"gauge\", \"id\": \"pressure_gauge\", \"dataId\": \"@wx/pressure.msl\", \"icon\": \"ic_gauge\"},\n            {\"type\": \"gauge\", \"id\": \"humidity_gauge\", \"dataId\": \"@wx/humidity_relative.2m\", \"icon\": \"ic_humidity\"}\n          ]\n        }\n      ]\n    },\n    \"bottom\": {\n      \"type\": \"column\",\n      \"id\": \"bottom\",\n      \"elements\": [\n        {\"type\": \"hilo\", \"id\": \"hilo_temperatures\", \"dataId\": \"@wx/temperature.2m\"},\n        {\"type\": \"graph\", \"id\": \"everyday_graph\", \"graphId\": \"everyday\"},\n        {\"type\": \"graph\", \"id\": \"temperature_graph\", \"graphId\": \"temperature\"},\n        {\"type\": \"time_range\", \"id\": \"time_range\"}\n      ]\n    },\n    \"map_top\": {\n      \"type\": \"column\",\n      \"id\": \"map_top\",\n      \"elements\": [\n        {\"type\": \"map_details\"}\n      ]\n    },\n    \"map_bottom\": {\n      \"type\": \"column\",\n      \"id\": \"map_bottom\",\n      \"elements\": [\n        {\"type\":  \"map_controls\"}\n      ]\n    },\n    \"scalebar\": {\n      \"type\": \"column\",\n      \"id\": \"scalebar\",\n      \"elements\": [\n        {\"type\": \"scalebar\"}\n      ]\n    }\n  }\n}","layout/portrait.json":"{\n  \"id\": \"portrait\",\n  \"label\": \"Portrait\",\n  \"orientation\": \"portrait\",\n  \"template\": \"portrait_std\",\n  \"zones\": {\n    \"top\": {\n      \"type\": \"column\",\n      \"id\": \"top\",\n      \"elements\": [\n        {\"type\": \"hilo\", \"id\": \"hilo_temperatures\", \"dataId\": \"@wx/temperature.2m\"},\n        {\"type\": \"graph\", \"id\": \"everyday_graph\", \"graphId\": \"everyday\"},\n        {\"type\": \"graph\", \"id\": \"temperature_graph\", \"graphId\": \"temperature\"},\n        {\"type\": \"time_range\", \"id\": \"days\"},\n        {\n          \"type\": \"row\",\n          \"id\": \"gauges_row\",\n          \"elements\": [\n            {\"type\": \"gauge\", \"id\": \"time_gauge\", \"dataId\": \"compute/time\", \"icon\": \"ic_clock\", \"action\": \"snap_time\"},\n            {\"type\": \"gauge\", \"id\": \"temperature_gauge\", \"dataId\": \"@wx/temperature.2m\", \"icon\": \"ic_thermometer\"},\n            {\"type\": \"gauge\", \"id\": \"precipitation_gauge\", \"dataId\": \"@wx/precipitation.sfc\", \"icon\": \"ic_precipitation\"},\n            {\"type\": \"gauge\", \"id\": \"wind_vectors_gauge\", \"dataId\": \"@wx/wind_vectors.10m\", \"icon\": \"ic_wind_dir\", \"mode\":  \"directional\"}\n          ]\n        }\n      ]\n    },\n    \"map_top\": {\n      \"type\": \"column\",\n      \"id\": \"map_top\",\n      \"elements\": [\n        {\"type\": \"map_details\", \"id\": \"map_details\"}\n      ]\n    },\n    \"map_bottom\": {\n      \"type\": \"column\",\n      \"id\": \"map_bottom\",\n      \"elements\": [\n        {\"type\":  \"map_controls\", \"id\": \"map_controls\"}\n      ]\n    },\n    \"scalebar\": {\n      \"type\": \"column\",\n      \"id\": \"scalebar\",\n      \"elements\": [\n        {\"type\": \"scalebar\", \"id\": \"scalebar\"}\n      ]\n    }\n  }\n}","source/alaro40.json":"{\n  \"id\": \"alaro40\",\n  \"category\": \"wx\",\n  \"provider\": \"rmi\",\n  \"label\": \"RMI Alaro 4km\",\n  \"short_label\": \"Alaro 4km\",\n  \"abbrev_label\": \"Alaro\",\n  \"icon\": \"ic_rmi\",\n  \"description\": \"Res: ~4km/1hr | Range: 60 hours | Update: 6 hourly | Region: Belgium+\",\n  \"time_range\": \"-120:60:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 177, \"NY\": 177,\n    \"pt0\": {\"lat\": 47.397, \"lon\": -0.115},\n    \"pt1\": {\"lat\": 53.623, \"lon\": 9.222},\n    \"tile_sizes\": [\"177x177/1\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"rain.sfc\",\n    \"snow.sfc\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"cloud.low\",\n    \"cloud.mid\",\n    \"cloud.high\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\",\n    \"cape.sfc\"\n  ]\n}","source/arome1.json":"{\n  \"id\": \"arome1\",\n  \"category\": \"wx\",\n  \"provider\": \"meteo_france\",\n  \"label\": \"Meteo-France Arome 1.3km\",\n  \"short_label\": \"Arome 1.3km\",\n  \"icon\": \"ic_meteo_france\",\n  \"abbrev_label\": \"Arome\",\n  \"description\": \"Res: ~1.3km/1hr | Range: 51 hours | Update: 3 hourly | Region: France+\",\n  \"time_range\": \"-120:51:1\",\n\n  \"pro_level\": \"gold\",\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 2801, \"NY\": 1791,\n    \"pt0\": {\"lon\": -12, \"lat\": 55.4},\n    \"pt1\": {\"lon\": 16, \"lat\": 37.5},\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\", \"960x960/16\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"rain.sfc\",\n    \"snow.sfc\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"temperature_wet_bulb.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"cloud.high\",\n    \"cloud.mid\",\n    \"cloud.low\",\n    \"cape.sfc\"\n  ]\n}","source/arpege.json":"{\n  \"id\": \"arpege\",\n  \"category\": \"wx\",\n  \"provider\": \"meteo_france\",\n  \"label\": \"Meteo-France Arpege 11km\",\n  \"short_label\": \"Arpege 11km\",\n  \"abbrev_label\": \"Arpege\",\n  \"icon\": \"ic_meteo_france\",\n  \"description\": \"Res: ~11km/1hr | Range: 102 hours | Update: 6 hourly | Region: Europe+\",\n  \"time_range\": \"-120:102:1\",\n\n  \"pro_level\": \"silver\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 741, \"NY\": 521,\n    \"pt0\": {\"lat\": 72, \"lon\": -32},\n    \"pt1\": {\"lat\": 20, \"lon\": 42},\n    \"tile_sizes\": [\"100x100/1\", \"188x130/2\", \"372x260/4\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"rain.sfc\",\n    \"snow.sfc\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"cloud.low\",\n    \"cloud.mid\",\n    \"cloud.high\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\",\n    \"cape.sfc\"\n  ]\n}","source/cams_aq.json":"{\n  \"id\": \"cams_aq\",\n  \"category\": \"aq\",\n  \"label\": \"CAMS AQ Global\",\n  \"short_label\": \"CAMS Global\",\n  \"provider\": \"cams\",\n  \"abbrev_label\": \"CAMS\",\n  \"icon\": \"ic_cams_logo\",\n  \"description\": \"Res: ~40km/1hr | Range: 120 hours | Update: 12 hourly | Region: Global\",\n  \"reference\": \"Contains modified Copernicus Atmosphere Monitoring Service information 2024\",\n  \"time_range\": \"-120:120:1\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 900, \"NY\": 451,\n    \"pt0\": {\"lat\": 90.0, \"lon\": -180.0},\n    \"pt1\": {\"lat\": -90.0, \"lon\": 180.0},\n    \"tile_sizes\": [\"90x90/1\", \"180x150/2\", \"360x300/4\"]\n  },\n  \"data\": [\n    \"pm2p5.sfc\",\n    \"pm10.sfc\",\n    \"no2.sfc\",\n    \"no2.tc\",\n    \"so2.sfc\",\n    \"so2.tc\",\n    \"co.sfc\",\n    \"co.tc\",\n    \"o3.sfc\",\n    \"o3.tc\",\n    \"uvbed.sfc\",\n    \"uvbedcs.sfc\"\n  ]\n}","source/cams_eu.json":"{\n  \"id\": \"cams_eu\",\n  \"category\": \"aq\",\n  \"label\": \"CAMS AQ Europe\",\n  \"short_label\": \"CAMS Europe\",\n  \"provider\": \"cams\",\n  \"abbrev_label\": \"CAMS EU\",\n  \"icon\": \"ic_cams_logo\",\n  \"description\": \"Res: ~11km/1hr | Range: 96 hours | Update: 24 hourly | Region: Europe\",\n  \"reference\": \"Contains modified Copernicus Atmosphere Monitoring Service information 2024\",\n  \"time_range\": \"-120:96:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 700, \"NY\": 420,\n    \"pt0\": {\"lat\": 71.95, \"lon\": -24.95},\n    \"pt1\": {\"lat\": 30.05, \"lon\": 44.95},\n    \"tile_sizes\": [\"100x105/1\", \"200x210/2\"]\n  },\n  \"data\": [\n    \"pm2p5.sfc\",\n    \"pm10.sfc\",\n    \"no2.sfc\",\n    \"no2.tc\",\n    \"so2.sfc\",\n    \"so2.tc\",\n    \"co.sfc\",\n    \"co.tc\",\n    \"o3.sfc\",\n    \"o3.tc\",\n    \"alder_pollen.sfc\",\n    \"birch_pollen.sfc\",\n    \"grass_pollen.sfc\",\n    \"olive_pollen.sfc\",\n    \"ragweed_pollen.sfc\"\n  ]\n}","source/cams_silam.json":"{\n  \"id\": \"cams_silam\",\n  \"category\": \"aq\",\n  \"label\": \"FMI SILAM AQ Europe\",\n  \"short_label\": \"SILAM Europe\",\n  \"provider\": \"fmi\",\n  \"abbrev_label\": \"SILAM\",\n  \"icon\": \"ic_fmi_logo\",\n  \"description\": \"Res: ~11km/1hr | Range: 96 hours | Update: 24 hourly | Region: Europe\",\n  \"reference\": \"Contains modified Copernicus Atmosphere Monitoring Service information 2024\",\n  \"time_range\": \"-120:96:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 700, \"NY\": 420,\n    \"pt0\": {\"lat\": 71.95, \"lon\": -24.95},\n    \"pt1\": {\"lat\": 30.05, \"lon\": 44.95},\n    \"tile_sizes\": [\"100x105/1\", \"200x210/2\"]\n  },\n  \"data\": [\n    \"pm2p5.sfc\",\n    \"pm10.sfc\",\n    \"no2.sfc\",\n    \"no2.tc\",\n    \"so2.sfc\",\n    \"so2.tc\",\n    \"co.sfc\",\n    \"co.tc\",\n    \"o3.sfc\",\n    \"o3.tc\",\n    \"alder_pollen.sfc\",\n    \"birch_pollen.sfc\",\n    \"grass_pollen.sfc\",\n    \"olive_pollen.sfc\",\n    \"ragweed_pollen.sfc\"\n  ]\n}\n","source/celestial.json":"{\n  \"id\": \"celestial\",\n  \"category\": \"\",\n  \"label\": \"Sun and Moon\",\n  \"icon\": \"ic_sun\",\n  \"description\": \"Sun and moon rise/set times | Computed locally in the app | Region: World\",\n\n  \"resolver\": \"celestial\",\n  \"domain\": {\n    \"type\": \"GlobalDomain\"\n  },\n\n  \"data\": [\n    \"sun_and_moon\",\n    \"sunrise\",\n    \"sunset\",\n    \"moonrise\",\n    \"moonset\"\n  ]\n}","source/compute.json":"{\n  \"id\": \"compute\",\n  \"category\": \"\",\n  \"label\": \"Flowx App\",\n  \"icon\": \"ic_flowx\",\n  \"description\": \"Data local to the Flowx app like places\",\n\n  \"resolver\": \"compute\",\n  \"domain\": {\n    \"type\": \"GlobalDomain\"\n  },\n\n  \"data\": [\n    \"time\",\n    \"date\",\n    \"datetime\"\n  ]\n}","source/eclipse.json":"{\n  \"id\": \"eclipse\",\n  \"category\": \"\",\n  \"label\": \"Eclipse\",\n  \"icon\": \"ic_flowx\",\n  \"description\": \"Eclipse tracks\",\n\n  \"resolver\": \"flowx\",\n  \"domain\": { \"type\": \"GlobalDomain\" },\n\n  \"data\": [\"umbra_lo\",  \"upath_lo\"]\n}","source/ecmwf_aifs.json":"{\n  \"id\": \"ecmwf_aifs\",\n  \"category\": \"wx\",\n  \"provider\": \"ecmwf\",\n  \"label\": \"ECMWF AIFS ~25km\",\n  \"short_label\": \"AIFS 25km\",\n  \"abbrev_label\": \"AIFS\",\n  \"icon\": \"ic_ecmwf\",\n  \"description\": \"Res: ~25km/6hr | Range: 15 days | Update: 6 hourly | Region: World\",\n  \"reference\": \"©${year} European Centre for Medium-Range Weather Forecasts (ECMWF)\",\n  \"time_range\": \"-120:360:6\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 1440, \"NY\": 721,\n    \"pt0\": {\"lat\": 90.0, \"lon\": -180.0},\n    \"pt1\": {\"lat\": -90.0, \"lon\": 180.0},\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"cloud.total\",\n    \"cloud.high\",\n    \"cloud.mid\",\n    \"cloud.low\",\n    \"cloud.layers\"\n  ]\n}","source/ecmwf_ifs.json":"{\n  \"id\": \"ecmwf_ifs\",\n  \"category\": \"wx\",\n  \"provider\": \"ecmwf\",\n  \"label\": \"ECMWF IFS ~25km\",\n  \"short_label\": \"IFS 25km\",\n  \"abbrev_label\": \"IFS\",\n  \"icon\": \"ic_ecmwf\",\n  \"description\": \"Res: ~25km/3hr | Range: 144 hours | Update: 6 hourly | Region: World\",\n  \"reference\": \"©${year} European Centre for Medium-Range Weather Forecasts (ECMWF)\",\n  \"time_range\": \"-120:144:3\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 1440, \"NY\": 721,\n    \"pt0\": {\"lat\": 90.0, \"lon\": -180.0},\n    \"pt1\": {\"lat\": -90.0, \"lon\": 180.0},\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"cloud.total\",\n    \"cloud.layers\"\n  ]\n}","source/expmarine.json":"{\n  \"id\": \"expmarine\",\n  \"category\": \"wx\",\n  \"provider\": \"expmarine\",\n  \"label\": \"Expedition Marine 1-9km\",\n  \"icon\": \"ic_expmarine\",\n  \"reference\": \"Data by ExpeditionMarine.com\",\n  \"description\": \"Res: ~1-9km | Range: up to 72 hours | Update: 6 hourly | Region: Multi\",\n\n  \"pro_level\": \"gold\",\n  \"resolver\": \"std\",\n  \"domain\": {\"type\": \"MultiDomain\"},\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"pressure.msl\"\n  ],\n\n    \"subdomains\": [\n    {\n      \"id\": \"auckland009\",\n      \"label\": \"Expedition Marine Auckland 009\",\n      \"short_label\": \"Auckland 009\",\n      \"abbrev_label\": \"009\",\n      \"description\": \"Res: ~1km/1h | Range: 24h | Upd: 6h | Region: Auckland\",\n      \"time_range\": \"-120:24:30m\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 111, \"NY\": 111,\n        \"pt0\": {\"lon\": 174.2410, \"lat\": -37.2590},\n        \"pt1\": {\"lon\": 175.2590, \"lat\": -36.2410},\n        \"tile_sizes\": [\"111x111/1\"]\n      }\n    },\n\n    {\n      \"id\": \"nznorth028\",\n      \"label\": \"Expedition Marine NZ North\",\n      \"short_label\": \"NZ North 028\",\n      \"abbrev_label\": \"028\",\n      \"description\": \"Res: ~3km | Range: 36 hours | Update: 6 hourly | Region: North NZ\",\n      \"time_range\": \"-120:36:30m\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 165, \"NY\": 147,\n        \"pt0\": {\"lon\": 172.4720, \"lat\": -38.2780},\n        \"pt1\": {\"lon\": 177.0280, \"lat\": -34.2220},\n        \"tile_sizes\": [\"165x147/1\"]\n      }\n    },\n\n    {\n      \"id\": \"cookstrait028\",\n      \"label\": \"Expedition Marine NZ Cook Strait\",\n      \"short_label\": \"Cook Strait 028\",\n      \"abbrev_label\": \"028\",\n      \"description\": \"Res: ~3km | Range: 36 hours | Update: 6 hourly | Region: Cook Strait\",\n      \"time_range\": \"-120:36:30m\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 147, \"NY\": 111,\n        \"pt0\": {\"lon\": 171.9720, \"lat\": -42.5280},\n        \"pt1\": {\"lon\": 176.0280, \"lat\": -39.4720},\n        \"tile_sizes\": [\"147x111/1\"]\n      }\n    },\n\n    {\n      \"id\": \"nz083\",\n      \"label\": \"Expedition Marine NZ 083\",\n      \"short_label\": \"NZ 083\",\n      \"abbrev_label\": \"083\",\n      \"description\": \"Res: ~9km | Range: 72 hours | Update: 6 hourly | Region: New Zealand\",\n      \"time_range\": \"-120:72:1\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 181, \"NY\": 181,\n        \"pt0\": {\"lon\": 165.0000, \"lat\": -48.0000},\n        \"pt1\": {\"lon\": 180.0000, \"lat\": -33.0000},\n        \"tile_sizes\": [\"181x181/1\"]\n      }\n    },\n\n\n    {\n      \"id\": \"cookis009\",\n      \"label\": \"Expedition Marine Rarotonga 009\",\n      \"short_label\": \"Rarotonga 009\",\n      \"abbrev_label\": \"009\",\n      \"description\": \"Res: ~1km/1h | Range: 24h | Upd: 6h | Region: Rarotonga\",\n      \"time_range\": \"-120:24:30m\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 57, \"NY\": 57,\n        \"pt0\": {\"lon\": -160.008992, \"lat\": -21.509000},\n        \"pt1\": {\"lon\": -159.491008, \"lat\": -21.005000},\n        \"tile_sizes\": [\"57x57/1\"]\n      }\n    },\n\n    {\n      \"id\": \"cookis028\",\n      \"label\": \"Expedition Marine Rarotonga\",\n      \"short_label\": \"Rarotonga 028\",\n      \"abbrev_label\": \"028\",\n      \"description\": \"Res: ~3km | Range: 36 hours | Update: 6 hourly | Region: Rarotonga\",\n      \"time_range\": \"-120:36:30m\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 75, \"NY\": 75,\n        \"pt0\": {\"lon\": -160.778, \"lat\": -22.2780},\n        \"pt1\": {\"lon\": -158.722, \"lat\": -20.2060},\n        \"tile_sizes\": [\"75x75/1\"]\n      }\n    },\n\n    {\n      \"id\": \"cookis083\",\n      \"label\": \"Expedition Marine Sth. Cook Islands\",\n      \"short_label\": \"Sth Cook Is 083\",\n      \"abbrev_label\": \"083\",\n      \"description\": \"Res: ~9km | Range: 72 hours | Update: 6 hourly | Region: Sth. Cook Islands\",\n      \"time_range\": \"-120:72:30m\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 85, \"NY\": 85,\n        \"pt0\": {\"lon\": -163.0, \"lat\": -25.0},\n        \"pt1\": {\"lon\": -156.0, \"lat\": -18.028},\n        \"tile_sizes\": [\"85x85/1\"]\n      }\n    },\n\n    {\n      \"id\": \"baleares028\",\n      \"label\": \"Expedition Marine Baleares 028\",\n      \"short_label\": \"Baleares 028\",\n      \"abbrev_label\": \"028\",\n      \"description\": \"Res: ~3km | Range: 36 hours | Update: 6hr | Region: Baeleares\",\n      \"time_range\": \"-120:36:30m\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 201, \"NY\": 111,\n        \"pt0\": {\"lon\": -1.0280, \"lat\": 37.9720},\n        \"pt1\": {\"lon\": 4.5280, \"lat\": 41.0280},\n        \"tile_sizes\": [\"201x111/1\"]\n      }\n    },\n\n    {\n      \"id\": \"baleares083\",\n      \"label\": \"Expedition Marine Baleares 083\",\n      \"short_label\": \"Baleares 083\",\n      \"abbrev_label\": \"083\",\n      \"description\": \"Res: ~9km | Range: 72 hours | Update: 6hr | Region: Baleares\",\n      \"time_range\": \"-120:72:1\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 157, \"NY\": 109,\n        \"pt0\": {\"lon\": -7.0, \"lat\": 35.0000},\n        \"pt1\": {\"lon\": 6.0000, \"lat\": 44.0000},\n        \"tile_sizes\": [\"157x109/1\"]\n      }\n    },\n\n    {\n      \"id\": \"palma009\",\n      \"label\": \"Expedition Marine Palma 009\",\n      \"short_label\": \"Palma 009\",\n      \"abbrev_label\": \"009\",\n      \"description\": \"Res: ~1km/1h | Range: 24h | Upd: 6h | Region: Baleares\",\n      \"time_range\": \"-120:24:30m\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 165, \"NY\": 138,\n        \"pt0\": {\"lon\": 1.9630, \"lat\": 38.9630},\n        \"pt1\": {\"lon\": 3.4810, \"lat\": 40.1960},\n        \"tile_sizes\": [\"165x138/1\"]\n      }\n    },\n\n    {\n      \"id\": \"capetown028\",\n      \"label\": \"Expedition Marine Cape Town 028\",\n      \"short_label\": \"Cape Town 028\",\n      \"abbrev_label\": \"028\",\n      \"description\": \"Res: ~3km | Range: 36 hours | Update: 6hr | Region: Cape Town\",\n      \"time_range\": \"-120:36:30m\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 66, \"NY\": 66,\n        \"pt0\": {\"lon\": 17.4720, \"lat\": -34.7780},\n        \"pt1\": {\"lon\": 19.2780, \"lat\": -32.9720},\n        \"tile_sizes\": [\"66x66/1\"]\n      }\n    },\n\n    {\n      \"id\": \"capetown083\",\n      \"label\": \"Expedition Marine Cape Town 083\",\n      \"short_label\": \"Cape Town 083\",\n      \"abbrev_label\": \"083\",\n      \"description\": \"Res: ~9km | Range: 72 hours | Update: 6hr | Region: Cape Town\",\n      \"time_range\": \"-120:72:1\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 97, \"NY\": 61,\n        \"pt0\": {\"lon\": 16.0000, \"lat\": -36.0000},\n        \"pt1\": {\"lon\": 24.0000, \"lat\": -31.0000},\n        \"tile_sizes\": [\"97x61/1\"]\n      }\n    },\n\n    {\n      \"id\": \"caribbean028\",\n      \"label\": \"Expedition Marine Caribbean 028\",\n      \"short_label\": \"Caribbean 028\",\n      \"abbrev_label\": \"028\",\n      \"description\": \"Res: ~3km | Range: 36 hours | Update: 6hr | Region: Caribbean\",\n      \"time_range\": \"-120:36:30m\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 93, \"NY\": 111,\n        \"pt0\": {\"lon\": -63.4440, \"lat\": 15.5560},\n        \"pt1\": {\"lon\": -60.8890, \"lat\": 18.6110},\n        \"tile_sizes\": [\"93x111/1\"]\n      }\n    },\n\n    {\n      \"id\": \"caribbean083\",\n      \"label\": \"Expedition Marine Caribbean 083\",\n      \"short_label\": \"Caribbean 083\",\n      \"abbrev_label\": \"083\",\n      \"description\": \"Res: ~9km | Range: 72 hours | Update: 6hr | Region: Caribbean\",\n      \"time_range\": \"-120:72:1\",\n\n      \"domain\": {\n        \"type\": \"RegularLatLonLegacyDomain\",\n        \"NX\": 71, \"NY\": 71,\n        \"pt0\": {\"lon\": -65.9170, \"lat\": 14.0830},\n        \"pt1\": {\"lon\": -60.0830, \"lat\": 19.9170},\n        \"tile_sizes\": [\"71x71/1\"]\n      }\n    }\n\n  ]\n\n}","source/flowx.json":"{\n  \"id\": \"flowx\",\n  \"forecastId\": \"openzones\",\n  \"category\": \"\",\n  \"label\": \"Flowx\",\n  \"icon\": \"ic_flowx\",\n  \"description\": \"Flowx data like manifest and openzones\",\n\n  \"resolver\": \"flowx\",\n  \"domain\": { \"type\": \"GlobalDomain\" },\n\n  \"data\": [ \"openzones\", \"fxconfig\" ]\n}","source/flowx_maps.json":"{\n  \"id\": \"flowx_maps\",\n  \"category\": \"map\",\n  \"label\": \"Flowx Maps\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Flowx maps\",\n\n  \"resolver\": \"flowx_maps\",\n  \"domain\": {\n    \"type\": \"MercatorTileDomain\",\n    \"tile_shape\": \"512x512\",\n    \"min_zoom\": 0,\n    \"max_zoom\": 16\n  },\n\n  \"data\": [\n    \"coastlines\"\n  ]\n}","source/gdps.json":"{\n  \"id\": \"gdps\",\n  \"category\": \"wx\",\n  \"provider\": \"cmc\",\n  \"label\": \"CMC GDPS 15km\",\n  \"short_label\": \"GDPS 15km\",\n  \"abbrev_label\": \"GDPS\",\n  \"icon\": \"ic_cmc\",\n  \"description\": \"Res: ~15km/1hr/3hr | Range: 10 days | Update: 12 hourly | Region: World\",\n  \"time_range\": \"-120:84:1,84:240:3\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 2400, \"NY\": 1201,\n    \"pt0\": { \"lat\": -90.0, \"lon\": 0.0 },\n    \"pt1\": { \"lat\": 90.0, \"lon\": 360.0 },\n    \"tile_sizes\": [\"75x75/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\",\n    \"cloud.total\",\n    \"cloud.layers\"\n  ]\n}\n","source/gdwps.json":"{\n  \"id\": \"gdwps\",\n  \"category\": \"wave\",\n  \"provider\": \"cmc\",\n  \"label\": \"CMC GDWPS\",\n  \"short_label\": \"GDWPS\",\n  \"abbrev_label\": \"GDWPS\",\n  \"icon\": \"ic_cmc\",\n  \"description\": \"Res: ~25km/1hr | Range: 10 days | Update: 12 hourly | Region: World\",\n  \"time_range\": \"-120:84:1,84:240:3\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 1440, \"NY\": 721,\n    \"pt0\": {\"lat\": 90.0, \"lon\": 0.0},\n    \"pt1\": {\"lat\": -90.0, \"lon\": 360.0},\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"wave_height\",\n    \"wave_direction\",\n    \"wave_period\",\n    \"wave_swell_1_height\",\n    \"wave_swell_1_direction\",\n    \"wave_swell_1_period\",\n    \"wave_wind_height\",\n    \"wave_wind_direction\",\n    \"wave_wind_period\"\n  ]\n}\n","source/geomaps.json":"{\n  \"id\": \"geomaps\",\n  \"category\": \"map\",\n  \"label\": \"Flowx Maps\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Flowx maps\",\n\n  \"resolver\": \"flowx_maps\",\n  \"domain\": {\n    \"type\": \"RegularTileDomain\",\n    \"tile_limit\": 3,\n    \"min_zoom\": 1,\n    \"max_zoom\": 10\n  },\n\n  \"data\": [\n    \"coastlines\"\n  ]\n}","source/gfs.json":"{\n  \"id\": \"gfs\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA GFS 25km\",\n  \"short_label\": \"GFS 25km\",\n  \"abbrev_label\": \"GFS\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: ~25km/1hr | Range: 16 days | Update: 6 hourly | Region: World\",\n  \"time_range\": \"-120:120:1,120:384:3\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 1440, \"NY\": 721,\n    \"pt0\": {\"lat\": 90.0, \"lon\": 0.0},\n    \"pt1\": {\"lat\": -90.0, \"lon\": 360.0},\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\",\n    \"cloud.layers\",\n    \"cloud.total\",\n    \"cloud.high\",\n    \"cloud.mid\",\n    \"cloud.low\",\n    \"cloud.convective\",\n    \"cloud.boundary\",\n    \"cape.sfc\",\n    \"cape.180-0mb\",\n    \"cape.255-0mb\",\n    \"lifted_index.sfc\",\n    \"lifted_index.b4l\",\n    \"visibility.sfc\"\n  ]\n}\n","source/gfswave25.json":"{\n  \"id\": \"gfswave25\",\n  \"category\": \"wave\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA GFS WAVE\",\n  \"short_label\": \"GFS Wave\",\n  \"abbrev_label\": \"WV25\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: ~25km/1hr | Range: 16 days | Update: 6 hourly | Region: World\",\n  \"time_range\": \"-120:120:1,120:384:3\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 1440, \"NY\": 721,\n    \"pt0\": {\"lat\": -90, \"lon\": -180},\n    \"pt1\": {\"lat\": 90, \"lon\": 180.0},\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"wave_height\",\n    \"wave_direction\",\n    \"wave_period\",\n    \"wave_swell_1_height\",\n    \"wave_swell_1_direction\",\n    \"wave_swell_1_period\",\n    \"wave_swell_2_height\",\n    \"wave_swell_2_direction\",\n    \"wave_swell_2_period\",\n    \"wave_wind_height\",\n    \"wave_wind_direction\",\n    \"wave_wind_period\"\n  ]\n}\n","source/gwam.json":"{\n  \"id\": \"gwam\",\n  \"category\": \"wave\",\n  \"provider\": \"dwd\",\n  \"label\": \"DWD GWAM\",\n  \"short_label\": \"GWAM\",\n  \"abbrev_label\": \"GWAM\",\n  \"icon\": \"ic_dwd\",\n  \"description\": \"Res: ~25km/1hr | Range: 7 days | Update: 12 hourly | Region: World\",\n  \"time_range\": \"-24:174:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonDomain\",\n    \"grid_no\": 0,\n    \"shapeOfTheEarth\": 6,\n    \"radius\": 6371229.0,\n    \"NX\": 1440, \"NY\": 699,\n    \"latLon00\": [89.25, 0.0],\n    \"latLon11\": [-85.25, 359.75],\n    \"Di\": 0.25,\n    \"Dj\": 0.25,\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 0,\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"wave_height\",\n    \"wave_direction\",\n    \"wave_period\",\n    \"wave_swell_1_height\",\n    \"wave_swell_1_direction\",\n    \"wave_swell_1_period\",\n    \"wave_wind_height\",\n    \"wave_wind_direction\",\n    \"wave_wind_period\"\n  ]\n}\n","source/harmonie43ben.json":"{\n  \"id\": \"harmonie43ben\",\n  \"category\": \"wx\",\n  \"provider\": \"knmi\",\n  \"label\": \"KNMI HARMONIE Leeward\",\n  \"short_label\": \"HARMONIE Leeward\",\n  \"abbrev_label\": \"HA3\",\n  \"icon\": \"ic_knmi\",\n  \"description\": \"Res: ~2.8km/1hr | Range: 60 hours | Update: 3 hourly | Region: Leeward Is\",\n  \"time_range\": \"-120:60:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 101, \"NY\": 101,\n    \"pt0\": {\n      \"lat\": 11.0,\n      \"lon\": -70.0\n    },\n    \"pt1\": {\n      \"lat\": 13.5,\n      \"lon\": -67.5\n    },\n    \"tile_sizes\": [\"60x60/1\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"rain.sfc\",\n    \"snow.sfc\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"cloud.low\",\n    \"cloud.mid\",\n    \"cloud.high\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\"\n  ]\n}","source/harmonie43bess.json":"{\n  \"id\": \"harmonie43bess\",\n  \"category\": \"wx\",\n  \"provider\": \"knmi\",\n  \"label\": \"KNMI HARMONIE Caribbean 5km\",\n  \"short_label\": \"HARMONIE Caribbean\",\n  \"abbrev_label\": \"HA5\",\n  \"icon\": \"ic_knmi\",\n  \"description\": \"Res: ~5.5km/1hr | Range: 60 hours | Update: 3 hourly | Region: Caribbean+\",\n  \"time_range\": \"-120:60:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 740,\n    \"NY\": 550,\n    \"pt0\": {\n      \"lat\": -3.0,\n      \"lon\": -79.5\n    },\n    \"pt1\": {\n      \"lat\": 24.45,\n      \"lon\": -42.55\n    },\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"rain.sfc\",\n    \"snow.sfc\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"cloud.low\",\n    \"cloud.mid\",\n    \"cloud.high\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\"\n  ]\n}","source/harmonie43bov.json":"{\n  \"id\": \"harmonie43bov\",\n  \"category\": \"wx\",\n  \"provider\": \"knmi\",\n  \"label\": \"KNMI HARMONIE Windward\",\n  \"short_label\": \"HARMONIE Windward\",\n  \"abbrev_label\": \"HA3\",\n  \"icon\": \"ic_knmi\",\n  \"description\": \"Res: ~2.8km/1hr | Range: 60 hours | Update: 3 hourly | Region: Windward Is\",\n  \"time_range\": \"-120:60:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 101, \"NY\": 101,\n    \"pt0\": {\"lat\": 16.5, \"lon\": -64.5},\n    \"pt1\": {\"lat\": 19.0, \"lon\": -62.0},\n    \"tile_sizes\": [\"60x60/1\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"rain.sfc\",\n    \"snow.sfc\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"cloud.low\",\n    \"cloud.mid\",\n    \"cloud.high\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\"\n  ]\n}","source/harmonie43p1.json":"{\n  \"id\": \"harmonie43p1\",\n  \"category\": \"wx\",\n  \"provider\": \"knmi\",\n  \"label\": \"KNMI HARMONIE 2km\",\n  \"short_label\": \"HARMONIE 2km\",\n  \"abbrev_label\": \"HA2\",\n  \"icon\": \"ic_knmi\",\n  \"description\": \"Res: ~2km/1hr | Range: 60 hours | Update: 1 hourly | Region: Netherlands+\",\n  \"time_range\": \"-120:60:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 390, \"NY\": 390,\n    \"pt0\": {\"lat\": 49.0, \"lon\": 0.0},\n    \"pt1\": {\"lat\": 56.002, \"lon\": 11.281},\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"rain.sfc\",\n    \"snow.sfc\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"cloud.low\",\n    \"cloud.mid\",\n    \"cloud.high\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\"\n  ]\n}","source/harmonie43p3.json":"{\n  \"id\": \"harmonie43p3\",\n  \"category\": \"wx\",\n  \"provider\": \"knmi\",\n  \"label\": \"KNMI HARMONIE 5km\",\n  \"short_label\": \"HARMONIE 5km\",\n  \"abbrev_label\": \"HA5\",\n  \"icon\": \"ic_knmi\",\n  \"description\": \"Res: ~5.5km/1hr | Range: 60 hours | Update: 1 hourly | Region: Europe, UK, Iceland\",\n  \"time_range\": \"-120:60:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RotatedLatLonDomain\",\n    \"grid_no\": 1,\n    \"radius\": 6367470.0,\n    \"NX\": 676,\n    \"NY\": 564,\n\n    \"latLon00\": [-13.6, -13.5],\n    \"latLon11\": [14.55, 20.25],\n    \"Di\": 0.05,\n    \"Dj\": 0.05,\n    \"latLonSouthPole\": [-35.0, -8.0],\n    \"angleOfRotation\": 0.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"rain.sfc\",\n    \"snow.sfc\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"cloud.low\",\n    \"cloud.mid\",\n    \"cloud.high\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\"\n  ]\n}","source/hrdps2.json":"{\n  \"id\": \"hrdps2\",\n  \"category\": \"wx\",\n  \"provider\": \"cmc\",\n  \"label\": \"CMC HRDPS ~2.5km\",\n  \"short_label\": \"HRDPS 2.5km\",\n  \"abbrev_label\": \"HRDPS\",\n  \"icon\": \"ic_cmc\",\n  \"description\": \"Res: ~2.5km/1hr | Range: 48 hours | Update: 6 hourly | Region: Canada+\",\n  \"time_range\": \"-120:48:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RotatedLatLonDomain\",\n    \"grid_no\": 1,\n    \"radius\": 6371229.0,\n    \"NX\": 2540,\n    \"NY\": 1290,\n\n    \"latLon00\": [-12.302501, 345.17878],\n    \"latLon11\": [16.700001, 42.306283],\n    \"Di\": 0.0225,\n    \"Dj\": 0.0225,\n    \"latLonSouthPole\": [-36.08852, 245.305142],\n    \"angleOfRotation\": 0.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\", \"960x960/16\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\"\n  ]\n\n}","source/hrrr.json":"{\n  \"id\": \"hrrr\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA HRRR 3km\",\n  \"short_label\": \"HRRR 3km\",\n  \"abbrev_label\": \"HRRR\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: 3km/15min | Range: up to 48 hours | Update: 1 hourly | Region: USA\",\n  \"time_range\": \"-120:18:15m,18:48:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"LambertConformalDomain\",\n    \"grid_no\": 30,\n    \"radius\": 6371229.0,\n    \"NX\": 1799,\n    \"NY\": 1059,\n\n    \"latLon00\": [21.138123, 237.280472],\n    \"LaD\": 38.5,\n    \"LoV\": 262.5,\n    \"Latin1\": 38.5,\n    \"Latin2\": 38.5,\n    \"Dx\": 3000.0,\n    \"Dy\": 3000.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"radar.atm\",\n    \"radar.1000m\",\n    \"radar.4000m\",\n    \"cloud.total\",\n    \"temperature.2m\",\n    \"pressure.msl\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature_dew_point.2m\",\n    \"humidity_relative.2m\",\n    \"cloud.layers\",\n    \"cloud.high\",\n    \"cloud.mid\",\n    \"cloud.low\",\n    \"cape.sfc\",\n    \"cape.180-0mb\",\n    \"cape.255-0mb\",\n    \"lifted_index.sfc\",\n    \"lifted_index.b4l\",\n    \"visibility.sfc\"\n  ]\n}","source/hrrr_smoke.json":"{\n  \"id\": \"hrrr_smoke\",\n  \"source_id\": \"hrrr\",\n  \"forecastId\": \"hrrr\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA HRRR Smoke 3km\",\n  \"short_label\": \"HRRR Smoke 3km\",\n  \"abbrev_label\": \"HRRR\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: 3km/15min | Range: up to 48 hours | Update: 1 hourly | Region: USA\",\n  \"time_range\": \"-120:48\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"LambertConformalDomain\",\n    \"grid_no\": 30,\n    \"radius\": 6371229.0,\n    \"NX\": 1799,\n    \"NY\": 1059,\n\n    \"latLon00\": [21.138123, 237.280472],\n    \"LaD\": 38.5,\n    \"LoV\": 262.5,\n    \"Latin1\": 38.5,\n    \"Latin2\": 38.5,\n    \"Dx\": 3000.0,\n    \"Dy\": 3000.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"smoke.sfc\",\n    \"smoke.col\",\n    \"fire_radiative_power\"\n  ]\n}","source/icon.json":"{\n  \"id\": \"icon\",\n  \"category\": \"wx\",\n  \"provider\": \"dwd\",\n  \"label\": \"DWD ICON 13km\",\n  \"short_label\": \"ICON 13km\",\n  \"abbrev_label\": \"ICON\",\n  \"icon\": \"ic_dwd\",\n  \"description\": \"Res: ~13km/1hr | Range: up to 180 hours | Update: 6 hourly | Region: World\",\n  \"time_range\": \"-120:180:1\",\n\n  \"pro_level\": \"silver\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 2880, \"NY\": 1441,\n    \"pt0\": {\"lat\": 90.0, \"lon\": 0.0},\n    \"pt1\": {\"lat\": -90.0, \"lon\": 360.0},\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\", \"960x960/16\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"snow_convective.sfc\",\n    \"snowfall.sfc\",\n    \"snow_depth.sfc\",\n    \"snow_density.sfc\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"cloud.low\",\n    \"cloud.mid\",\n    \"cloud.high\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\"\n  ]\n}","source/icon_d2.json":"{\n  \"id\": \"icon_d2\",\n  \"category\": \"wx\",\n  \"provider\": \"dwd\",\n  \"label\": \"DWD ICON-D2\",\n  \"short_label\": \"ICON-D2\",\n  \"abbrev_label\": \"ICON D2\",\n  \"icon\": \"ic_dwd\",\n  \"description\": \"Res: ~2.2km/1hr | Range: 48 hours | Update: 3 hourly | Region: Germany+\",\n  \"time_range\": \"-120:48:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RotatedLatLonDomain\",\n    \"grid_no\": 1,\n    \"radius\": 6371229.0,\n    \"NX\": 651,\n    \"NY\": 716,\n\n    \"latLon00\": [-6.3, 352.5],\n    \"latLon11\": [8.0, 5.5],\n    \"Di\": 0.02,\n    \"Dj\": 0.02,\n    \"latLonSouthPole\": [-40.0, 10.0],\n    \"angleOfRotation\": 0.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"snow_depth.sfc\",\n    \"snow_density.sfc\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"cloud.low\",\n    \"cloud.mid\",\n    \"cloud.high\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\"\n  ]\n}","source/icon_eu_v2.json":"{\n  \"id\": \"icon_eu_v2\",\n  \"category\": \"wx\",\n  \"provider\": \"dwd\",\n  \"label\": \"DWD ICON EU 6.5km\",\n  \"short_label\": \"ICON EU 6.5km\",\n  \"abbrev_label\": \"ICON EU\",\n  \"icon\": \"ic_dwd\",\n  \"description\": \"Res: ~6.5km/1hr | Range: up to 120 hours | Update: 3 hourly | Region: Europe+\",\n  \"time_range\": \"-120:78:1,78:120:3\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 1377, \"NY\": 657,\n    \"pt0\": {\"lat\": 70.5, \"lon\": -23.5},\n    \"pt1\": {\"lat\": 29.5, \"lon\": 62.5},\n    \"tile_sizes\": [\"50x50/1\", \"110x110/2\", \"200x200/4\", \"400x400/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"snow_convective.sfc\",\n    \"snowfall.sfc\",\n    \"snow_depth.sfc\",\n    \"snow_density.sfc\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"cloud.low\",\n    \"cloud.mid\",\n    \"cloud.high\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\"\n  ]\n\n}","source/mapbox.json":"{\n  \"id\": \"mapbox\",\n  \"category\": \"map\",\n  \"provider\": \"mapbox\",\n  \"label\": \"Mapbox\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Mapbox maps\",\n\n  \"resolver\": \"map\",\n  \"domain\": {\n    \"type\": \"MercatorTileDomain\",\n    \"tile_shape\": \"512x512\",\n    \"min_zoom\": 0,\n    \"max_zoom\": 16\n  },\n\n  \"data\": [\n    \"streets\",\n    \"outdoor\",\n    \"light\",\n    \"dark\"\n  ]\n}\n","source/nam12.json":"{\n  \"id\": \"nam12\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA NAM 12km\",\n  \"short_label\": \"NAM 12km\",\n  \"abbrev_label\": \"NAM12\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: ~12km/1hr | Range: 84 hours | Update: 6 hourly | Region: Cont. USA\",\n  \"time_range\": \"-120:36:1,36:84:3\",\n\n  \"pro_level\": \"silver\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"LambertConformalDomain\",\n    \"grid_no\": 30,\n    \"radius\": 6371229.0,\n    \"NX\": 614,\n    \"NY\": 428,\n\n    \"latLon00\": [12.19, 226.541],\n    \"LaD\": 25.0,\n    \"LoV\": 265.0,\n    \"Latin1\": 25.0,\n    \"Latin2\": 25.0,\n    \"Dx\": 12191.0,\n    \"Dy\": 12191.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\"]\n  },\n\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"radar.atm\",\n    \"radar.1000m\",\n    \"radar.4000m\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\",\n    \"cape.sfc\",\n    \"lifted_index.sfc\",\n    \"visibility.sfc\"\n  ]\n}","source/nam_conus.json":"{\n  \"id\": \"nam_conus\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA NAM 3km\",\n  \"short_label\": \"NAM 3km\",\n  \"abbrev_label\": \"NAM3\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: 3km/1hr | Range: 60 hours | Update: 6 hourly | Region: USA\",\n  \"time_range\": \"-120:60:1\",\n\n  \"pro_level\": \"silver_v1\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"LambertConformalDomain\",\n    \"grid_no\": 30,\n    \"radius\": 6371229.0,\n    \"NX\": 1799,\n    \"NY\": 1059,\n\n    \"latLon00\": [21.138123, 237.280472],\n    \"LaD\": 38.5,\n    \"LoV\": 262.5,\n    \"Latin1\": 38.5,\n    \"Latin2\": 38.5,\n    \"Dx\": 3000.0,\n    \"Dy\": 3000.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"radar.atm\",\n    \"radar.1000m\",\n    \"radar.4000m\",\n    \"cloud.total\",\n    \"temperature.2m\",\n    \"pressure.msl\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature_dew_point.2m\",\n    \"humidity_relative.2m\",\n    \"cloud.layers\",\n    \"cloud.high\",\n    \"cloud.mid\",\n    \"cloud.low\",\n    \"cape.sfc\",\n    \"cape.180-0mb\",\n    \"cape.255-0mb\",\n    \"lifted_index.sfc\",\n    \"lifted_index.b4l\",\n    \"visibility.sfc\"\n  ]\n}","source/openzones.json":"{\n  \"id\": \"openzones\",\n  \"category\": \"\",\n  \"label\": \"Openzones\",\n  \"icon\": \"ic_flowx\",\n  \"description\": \"Flowx openzones data\",\n\n  \"resolver\": \"flowx\",\n  \"domain\": { \"type\": \"GlobalDomain\" },\n\n  \"data\": [ \"bounds\" ]\n}","source/points.json":"{\n  \"id\": \"points\",\n  \"category\": \"\",\n  \"label\": \"Flowx App\",\n  \"icon\": \"ic_flowx\",\n  \"description\": \"Data local to the Flowx app like places\",\n\n  \"resolver\": \"points\",\n  \"domain\": {\n    \"type\": \"GlobalDomain\"\n  },\n\n  \"data\": [\n    \"all_places\",\n    \"active_place\",\n    \"inactive_places\",\n    \"center_point\"\n  ]\n}","source/rainviewer.json":"{\n  \"id\": \"rainviewer\",\n  \"category\": \"radar\",\n  \"provider\": \"rainviewer\",\n  \"label\": \"Radar (Rainviewer)\",\n  \"abbrev_label\": \"RV\",\n  \"short_label\": \"RainViewer.com\",\n  \"icon\": \"ic_rainviewer\",\n  \"description\": \"Res: ~2.5km/1hr | Range: up to now | Update: 10 minutely | Region: Global\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"radar\",\n  \"domain\": {\n    \"type\": \"MercatorDataTileDomain\",\n    \"bounds\":  [-180.0, 90.0, 180.0, -90.0],\n    \"tile_sets\": [\"1000/250\", \"2000/250\", \"4000/250\", \"8000/250\", \"16000/250\"]\n  },\n\n  \"data\": [\n    \"reflectivity\",\n    \"coverage\"\n  ]\n\n}","source/rdps_v2.json":"{\n  \"id\": \"rdps_v2\",\n  \"category\": \"wx\",\n  \"provider\": \"cmc\",\n  \"label\": \"CMC RDPS+ ~10km\",\n  \"short_label\": \"RDPS+ 10km\",\n  \"abbrev_label\": \"RDPS\",\n  \"icon\": \"ic_cmc\",\n  \"description\": \"Res: ~10km/1hr | Range: 84 hours | Update: 6 hourly | Region: Canada+\",\n  \"time_range\": \"-120:84:1\",\n\n  \"pro_level\": \"silver\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RotatedLatLonDomain\",\n    \"grid_no\": 1,\n    \"radius\": 6371229.0,\n    \"NX\": 1140,\n    \"NY\": 1045,\n\n    \"latLon00\": [-48.805954, 306.141412],\n    \"latLon11\": [45.464939, 48.990594],\n    \"Di\": 0.090298,\n    \"Dj\": 0.090298,\n    \"latLonSouthPole\": [-31.758312, 267.597031],\n    \"angleOfRotation\": 0.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"cloud.total\",\n    \"cloud.layers\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\"\n  ]\n\n}","source/rrfs_ak.json":"{\n  \"id\": \"rrfs_ak\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA RRFS Alaska 3km\",\n  \"short_label\": \"RRFS Alaska\",\n  \"abbrev_label\": \"RRFS AK\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: 3km/15min | Range: up to 84 hours | Update: 1 hourly | Region: Alaska\",\n  \"time_range\": \"-120:18:15m,18:84:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"PolarStereographicDomain\",\n    \"grid_no\": 20,\n    \"radius\": 6371229.0,\n    \"NX\": 1649,\n    \"NY\": 1105,\n\n    \"latLon00\": [40.53, 181.429],\n    \"LaD\": 60.0,\n    \"LoV\": 210.0,\n    \"Dx\": 2976.0,\n    \"Dy\": 2976.0,\n\n    \"projectionCentreFlag\": 0,\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"radar.atm\",\n    \"radar.1000m\",\n    \"radar.4000m\",\n    \"temperature.2m\",\n    \"pressure.msl\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature_dew_point.2m\",\n    \"visibility.sfc\"\n  ]\n}\n","source/rrfs_ak_3h.json":"{\n  \"id\": \"rrfs_ak_3h\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA RRFS Alaska 3km (3h)\",\n  \"short_label\": \"RRFS Alaska 3h\",\n  \"abbrev_label\": \"RRFS\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: 3km/1h | Range: up to 84 hours | Update: 3 hourly | Region: Alaska\",\n  \"time_range\": \"-120:84:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"PolarStereographicDomain\",\n    \"grid_no\": 20,\n    \"radius\": 6371229.0,\n    \"NX\": 1649,\n    \"NY\": 1105,\n\n    \"latLon00\": [40.53, 181.429],\n    \"LaD\": 60.0,\n    \"LoV\": 210.0,\n    \"Dx\": 2976.0,\n    \"Dy\": 2976.0,\n\n    \"projectionCentreFlag\": 0,\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"humidity_relative.2m\",\n    \"cloud.layers\",\n    \"cloud.total\",\n    \"cloud.high\",\n    \"cloud.mid\",\n    \"cloud.low\",\n    \"cape.sfc\",\n    \"cape.180-0mb\",\n    \"cape.255-0mb\",\n    \"lifted_index.sfc\",\n    \"lifted_index.b4l\",\n    \"smoke.sfc\"\n  ]\n}\n","source/rrfs_conus.json":"{\n  \"id\": \"rrfs_conus\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA RRFS CONUS 3km\",\n  \"short_label\": \"RRFS CONUS\",\n  \"abbrev_label\": \"RRFS\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: 3km/15min | Range: up to 84 hours | Update: 1 hourly | Region: USA\",\n  \"time_range\": \"-120:18:15m,18:84:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"LambertConformalDomain\",\n    \"grid_no\": 30,\n    \"radius\": 6371229.0,\n    \"NX\": 1799,\n    \"NY\": 1059,\n\n    \"latLon00\": [21.138123, 237.280472],\n    \"LaD\": 38.5,\n    \"LoV\": 262.5,\n    \"Latin1\": 38.5,\n    \"Latin2\": 38.5,\n    \"Dx\": 3000.0,\n    \"Dy\": 3000.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"radar.atm\",\n    \"radar.1000m\",\n    \"radar.4000m\",\n    \"temperature.2m\",\n    \"pressure.msl\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature_dew_point.2m\",\n    \"visibility.sfc\"\n  ]\n}\n","source/rrfs_conus_3h.json":"{\n  \"id\": \"rrfs_conus_3h\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA RRFS CONUS 3km (3h)\",\n  \"short_label\": \"RRFS CONUS 3h\",\n  \"abbrev_label\": \"RRFS\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: 3km/1h | Range: up to 84 hours | Update: 3 hourly | Region: USA\",\n  \"time_range\": \"-120:84:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"LambertConformalDomain\",\n    \"grid_no\": 30,\n    \"radius\": 6371229.0,\n    \"NX\": 1799,\n    \"NY\": 1059,\n\n    \"latLon00\": [21.138123, 237.280472],\n    \"LaD\": 38.5,\n    \"LoV\": 262.5,\n    \"Latin1\": 38.5,\n    \"Latin2\": 38.5,\n    \"Dx\": 3000.0,\n    \"Dy\": 3000.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"humidity_relative.2m\",\n    \"cloud.layers\",\n    \"cloud.total\",\n    \"cloud.high\",\n    \"cloud.mid\",\n    \"cloud.low\",\n    \"cape.sfc\",\n    \"cape.180-0mb\",\n    \"cape.255-0mb\",\n    \"lifted_index.sfc\",\n    \"lifted_index.b4l\",\n    \"smoke.sfc\"\n  ]\n}\n","source/rrfs_hi.json":"{\n  \"id\": \"rrfs_hi\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA RRFS Hawaii 2.5km\",\n  \"short_label\": \"RRFS Hawaii\",\n  \"abbrev_label\": \"RRFS\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: 2.5km/15min | Range: up to 84 hours | Update: 1 hourly | Region: Hawaii\",\n  \"time_range\": \"-120:18:15m,18:84:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"MercatorDomain\",\n    \"grid_no\": 10,\n    \"radius\": 6371229.0,\n    \"NX\": 321,\n    \"NY\": 225,\n\n    \"latLon00\": [18.072699, 198.474999],\n    \"latLon11\": [23.087799, 206.13099],\n    \"LaD\": 20.0,\n    \"Dx\": 2500.0,\n    \"Dy\": 2500.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"radar.atm\",\n    \"radar.1000m\",\n    \"radar.4000m\",\n    \"temperature.2m\",\n    \"pressure.msl\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature_dew_point.2m\",\n    \"visibility.sfc\"\n  ]\n}\n","source/rrfs_hi_3h.json":"{\n  \"id\": \"rrfs_hi_3h\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA RRFS Hawaii 2.5km (3h)\",\n  \"short_label\": \"RRFS Hawaii 3h\",\n  \"abbrev_label\": \"RRFS\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: 2.5km/1h | Range: up to 84 hours | Update: 3 hourly | Region: Hawaii\",\n  \"time_range\": \"-120:84:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"MercatorDomain\",\n    \"grid_no\": 10,\n    \"radius\": 6371229.0,\n    \"NX\": 321,\n    \"NY\": 225,\n\n    \"latLon00\": [18.072699, 198.474999],\n    \"latLon11\": [23.087799, 206.13099],\n    \"LaD\": 20.0,\n    \"Dx\": 2500.0,\n    \"Dy\": 2500.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\"]\n  },\n\n  \"data\": [\n    \"humidity_relative.2m\",\n    \"cloud.layers\",\n    \"cloud.total\",\n    \"cloud.high\",\n    \"cloud.mid\",\n    \"cloud.low\",\n    \"cape.sfc\",\n    \"cape.180-0mb\",\n    \"cape.255-0mb\",\n    \"lifted_index.sfc\",\n    \"lifted_index.b4l\",\n    \"smoke.sfc\"\n  ]\n}\n","source/rrfs_na.json":"{\n  \"id\": \"rrfs_na\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA RRFS North America 13km\",\n  \"short_label\": \"RRFS N America\",\n  \"abbrev_label\": \"RRFS NA\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: 13km/1hr | Range: 84 hours | Update: 6 hourly | Region: North America\",\n  \"time_range\": \"-120:84:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RotatedLatLonDomain\",\n    \"grid_no\": 1,\n    \"radius\": 6371229.0,\n    \"NX\": 1127,\n    \"NY\": 683,\n\n    \"latLon00\": [-36.9303, 299.0],\n    \"latLon11\": [36.9303, 60.9458],\n    \"Di\": 0.1083,\n    \"Dj\": 0.1083,\n    \"latLonSouthPole\": [-35.0, 247.0],\n    \"angleOfRotation\": 0.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"radar.atm\",\n    \"radar.1000m\",\n    \"radar.4000m\",\n    \"temperature.2m\",\n    \"pressure.msl\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature_dew_point.2m\",\n    \"visibility.sfc\",\n    \"humidity_relative.2m\",\n    \"cloud.layers\",\n    \"cloud.total\",\n    \"cloud.high\",\n    \"cloud.mid\",\n    \"cloud.low\",\n    \"cape.sfc\",\n    \"cape.180-0mb\",\n    \"cape.255-0mb\",\n    \"lifted_index.sfc\",\n    \"lifted_index.b4l\",\n    \"smoke.sfc\"\n  ]\n}\n","source/rrfs_pr.json":"{\n  \"id\": \"rrfs_pr\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA RRFS Puerto Rico 2.5km\",\n  \"short_label\": \"RRFS Puerto Rico\",\n  \"abbrev_label\": \"RRFS\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: 2.5km/15min | Range: up to 84 hours | Update: 1 hourly | Region: Puerto Rico\",\n  \"time_range\": \"-120:18:15m,18:84:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"MercatorDomain\",\n    \"grid_no\": 10,\n    \"radius\": 6371229.0,\n    \"NX\": 544,\n    \"NY\": 310,\n\n    \"latLon00\": [15.0, 284.5],\n    \"latLon11\": [22.005, 297.491],\n    \"LaD\": 20.0,\n    \"Dx\": 2500.0,\n    \"Dy\": 2500.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"radar.atm\",\n    \"radar.1000m\",\n    \"radar.4000m\",\n    \"temperature.2m\",\n    \"pressure.msl\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature_dew_point.2m\",\n    \"visibility.sfc\"\n  ]\n}\n","source/rrfs_pr_3h.json":"{\n  \"id\": \"rrfs_pr_3h\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA RRFS Puerto Rico 2.5km (3h)\",\n  \"short_label\": \"RRFS Puerto Rico 3h\",\n  \"abbrev_label\": \"RRFS\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: 2.5km/1h | Range: up to 84 hours | Update: 3 hourly | Region: Puerto Rico\",\n  \"time_range\": \"-120:84:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"MercatorDomain\",\n    \"grid_no\": 10,\n    \"radius\": 6371229.0,\n    \"NX\": 544,\n    \"NY\": 310,\n\n    \"latLon00\": [15.0, 284.5],\n    \"latLon11\": [22.005, 297.491],\n    \"LaD\": 20.0,\n    \"Dx\": 2500.0,\n    \"Dy\": 2500.0,\n\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\"]\n  },\n\n  \"data\": [\n    \"humidity_relative.2m\",\n    \"cloud.layers\",\n    \"cloud.total\",\n    \"cloud.high\",\n    \"cloud.mid\",\n    \"cloud.low\",\n    \"cape.sfc\",\n    \"cape.180-0mb\",\n    \"cape.255-0mb\",\n    \"lifted_index.sfc\",\n    \"lifted_index.b4l\",\n    \"smoke.sfc\"\n  ]\n}\n","source/rtofs.json":"{\n  \"id\": \"rtofs\",\n  \"category\": \"wx\",\n  \"provider\": \"noaa\",\n  \"label\": \"NOAA RTOFS\",\n  \"short_label\": \"RTOFS\",\n  \"abbrev_label\": \"RTOFS\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Res: ~9km/3hr | Range: 8 days | Update: 24 hourly | Region: World\",\n  \"time_range\": \"-120:192:3\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 4320, \"NY\": 2160,\n    \"pt0\": {\"lat\": 89.9095, \"lon\": 0.083333333},\n    \"pt1\": {\"lat\": -90.0, \"lon\": 360.083333333},\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\", \"960x960/16\"]\n  },\n  \"data\": [\n    \"sea_temperature.sfc\",\n    \"sea_salinity.sfc\",\n    \"sea_current_mag.sfc\",\n    \"sea_current_dir.sfc\",\n    \"sea_current.sfc\"\n  ]\n}\n","source/smn_ar.json":"{\n  \"id\": \"smn_ar\",\n  \"category\": \"wx\",\n  \"provider\": \"smn\",\n  \"label\": \"SMN WRF Argentina 4km\",\n  \"short_label\": \"WRF Argentina\",\n  \"abbrev_label\": \"SMN\",\n  \"icon\": \"ic_smn\",\n  \"description\": \"Res: 4km/1hr, 10min rain | Range: 72 hours | Update: 6 hourly | Region: Argentina, Chile, Uruguay, Paraguay\",\n  \"time_range\": \"-120:72:1\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"LambertConformalDomain\",\n    \"grid_no\": 30,\n    \"radius\": 6370000.0,\n    \"NX\": 999,\n    \"NY\": 1249,\n    \"latLon00\": [-54.386837, 265.669189],\n    \"LaD\": -35.0,\n    \"LoV\": 295.0,\n    \"Latin1\": -35.0,\n    \"Latin2\": -35.0,\n    \"Dx\": 4000.0,\n    \"Dy\": 4000.0,\n    \"iScansNegatively\": 0,\n    \"jScansPositively\": 1,\n\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"temperature.2m\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"humidity_relative.2m\"\n  ]\n}\n","source/stadiamaps.json":"{\n  \"id\": \"stadiamaps\",\n  \"category\": \"map\",\n  \"provider\": \"stadiamaps\",\n  \"label\": \"Stadia Maps\",\n  \"icon\": \"ic_noaa\",\n  \"description\": \"Stadia maps\",\n\n  \"resolver\": \"map\",\n  \"domain\": {\n    \"type\": \"MercatorTileDomain\",\n    \"tile_shape\": \"512x512\",\n    \"min_zoom\": 0,\n    \"max_zoom\": 16\n  },\n\n  \"data\": [\n    \"alidade_smooth\",\n    \"alidade_smooth_dark\",\n    \"outdoors\",\n    \"osm_bright\",\n\n    \"stamen_watercolor\",\n\n    \"stamen_hybrid\",\n    \"stamen_terrain\",\n    \"stamen_terrain_background\",\n    \"stamen_terrain_lines\",\n    \"stamen_terrain_labels\",\n\n    \"stamen_toner\",\n    \"stamen_toner_background\",\n    \"stamen_toner_lines\",\n    \"stamen_toner_labels\"\n  ]\n}\n","source/storms.json":"{\n  \"id\": \"storms\",\n  \"category\": \"\",\n  \"label\": \"Storms\",\n  \"icon\": \"ic_flowx\",\n  \"description\": \"Hurricane tracks | Update: 6 hourly (GFS/GEFS), 12 hourly (CMC/CENS) | Region: World\",\n\n  \"resolver\": \"storm\",\n  \"domain\": { \"type\": \"GlobalDomain\" },\n\n  \"data\": [ \"history\", \"tracks\" ],\n\n  \"subdomains\": [\n    { \"id\": \"gfs\", \"label\": \"Storms (GFS)\"},\n    { \"id\": \"gefs\", \"label\": \"Storms (GEFS)\", \"data\": [\"tracks\"] },\n    { \"id\": \"cmc\", \"label\": \"Storms (CMC)\", \"data\": [\"tracks\"] },\n    { \"id\": \"cens\", \"label\": \"Storms (CENS)\", \"data\": [\"tracks\"] }\n    ]\n}","source/ukmo_10km.json":"{\n  \"id\": \"ukmo_10km\",\n  \"category\": \"wx\",\n  \"provider\": \"ukmo\",\n  \"label\": \"UKMO 10km\",\n  \"short_label\": \"UKMO 10km\",\n  \"abbrev_label\": \"UK10\",\n  \"icon\": \"ic_ukmo\",\n  \"description\": \"Res: ~10km/1hr | Range: up to 144 hours | Update: 6 hourly | Region: World\",\n  \"time_range\": \"-120:54,54:144:3\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"RegularLatLonLegacyDomain\",\n    \"NX\": 2560, \"NY\": 1920,\n    \"pt0\": {\"lat\": -90.0, \"lon\": -180.0},\n    \"pt1\": {\"lat\": 90.0, \"lon\": 180.0},\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\",\n    \"cloud.layers\",\n    \"cloud.total\",\n    \"cloud.high\",\n    \"cloud.mid\",\n    \"cloud.low\",\n    \"cloud.convective\",\n    \"cloud.boundary\",\n    \"cape.sfc\",\n    \"visibility.sfc\"\n  ]\n}\n","source/ukmo_2km.json":"{\n  \"id\": \"ukmo_2km\",\n  \"category\": \"wx\",\n  \"provider\": \"ukmo\",\n  \"label\": \"UKMO 2km\",\n  \"short_label\": \"UKMO 2km\",\n  \"abbrev_label\": \"UK2\",\n  \"icon\": \"ic_ukmo\",\n  \"description\": \"Res: ~2km/15m/1hr | Range: up to 120 hours | Update: 1 hourly | Region: UK\",\n  \"time_range\": \"-120:120\",\n\n  \"pro_level\": \"gold\",\n\n  \"resolver\": \"std\",\n  \"domain\": {\n    \"type\": \"LambertAzimuthalEADomain\",\n    \"NX\": 1042, \"NY\": 970,\n    \"lat0\": 54.9, \"lon0\": -2.5,\n    \"xMin\": -1158000.0, \"yMin\": -1036000.0,\n    \"dx\": 2000.0, \"dy\": 2000.0,\n    \"tile_sizes\": [\"60x60/1\", \"120x120/2\", \"240x240/4\", \"480x480/8\"]\n  },\n\n  \"data\": [\n    \"precipitation.sfc\",\n    \"snow.sfc\",\n    \"wind_speed.10m\",\n    \"wind_direction.10m\",\n    \"wind_vectors.10m\",\n    \"wind_gust.10m\",\n    \"temperature.2m\",\n    \"temperature_dew_point.2m\",\n    \"pressure.msl\",\n    \"humidity_relative.2m\",\n    \"cloud.layers\",\n    \"cloud.total\",\n    \"cloud.high\",\n    \"cloud.mid\",\n    \"cloud.low\",\n    \"cloud.convective\",\n    \"cloud.boundary\",\n    \"cape.sfc\",\n    \"visibility.sfc\"\n  ]\n}\n","spectrum/colormaps.json":"{\n  \"turbo\": 0,\n  \"jet\": 1,\n  \"bgrm\": 2,\n  \"mbgr\": 3,\n  \"rmbg\": 4,\n  \"clouds_awg\": 5,\n  \"WhGr\": 6,\n  \"uv_index\": 7,\n  \"cams_pm\": 8,\n  \"cams_aq\": 9,\n  \"noaa_smoke\": 10,\n  \"nws\": 11,\n  \"rainviewer_original\": 12,\n  \"universal_blue\": 13,\n  \"titan\": 14,\n  \"the_weather_channel\": 15,\n  \"nexrad_level3\": 16,\n  \"rainbox_selex_si\": 17,\n  \"dark_rain\": 18,\n  \"dark_purred\": 19,\n  \"dark_blured\": 20,\n  \"thermal\": 21,\n  \"haline\": 22,\n  \"solar\": 23,\n  \"ice\": 24,\n  \"gray\": 25,\n  \"oxy\": 26,\n  \"deep\": 27,\n  \"dense\": 28,\n  \"algae\": 29,\n  \"matter\": 30,\n  \"turbid\": 31,\n  \"speed\": 32,\n  \"amp\": 33,\n  \"tempo\": 34,\n  \"rain\": 35,\n  \"phase\": 36,\n  \"topo\": 37,\n  \"balance\": 38,\n  \"delta\": 39,\n  \"curl\": 40,\n  \"diff\": 41,\n  \"tarn\": 42,\n  \"magma\": 43,\n  \"inferno\": 44,\n  \"plasma\": 45,\n  \"viridis\": 46,\n  \"cividis\": 47,\n  \"twilight\": 48,\n  \"twilight_shifted\": 49,\n  \"turbo_b\": 50,\n  \"CMRmap\": 51,\n  \"afmhot\": 52,\n  \"autumn\": 53,\n  \"binary\": 54,\n  \"bone\": 55,\n  \"brg\": 56,\n  \"bwr\": 57,\n  \"cool\": 58,\n  \"coolwarm\": 59,\n  \"copper\": 60,\n  \"cubehelix\": 61,\n  \"gist_earth\": 62,\n  \"gist_gray\": 63,\n  \"gist_heat\": 64,\n  \"gist_ncar\": 65,\n  \"gist_rainbow\": 66,\n  \"gist_stern\": 67,\n  \"gist_yarg\": 68,\n  \"gnuplot\": 69,\n  \"gnuplot2\": 70,\n  \"gray_b\": 71,\n  \"hot\": 72,\n  \"hsv\": 73,\n  \"jet_b\": 74,\n  \"nipy_spectral\": 75,\n  \"ocean\": 76,\n  \"pink\": 77,\n  \"rainbow\": 78,\n  \"seismic\": 79,\n  \"spring\": 80,\n  \"summer\": 81,\n  \"terrain\": 82,\n  \"winter\": 83,\n  \"Blues\": 84,\n  \"BrBG\": 85,\n  \"BuGn\": 86,\n  \"BuPu\": 87,\n  \"GnBu\": 88,\n  \"Greens\": 89,\n  \"Greys\": 90,\n  \"OrRd\": 91,\n  \"Oranges\": 92,\n  \"PRGn\": 93,\n  \"PiYG\": 94,\n  \"PuBu\": 95,\n  \"PuBuGn\": 96,\n  \"PuOr\": 97,\n  \"PuRd\": 98,\n  \"Purples\": 99,\n  \"RdBu\": 100,\n  \"RdGy\": 101,\n  \"RdPu\": 102,\n  \"RdYlBu\": 103,\n  \"RdYlGn\": 104,\n  \"Reds\": 105,\n  \"Wistia\": 106,\n  \"YlGn\": 107,\n  \"YlGnBu\": 108,\n  \"YlOrBr\": 109,\n  \"YlOrRd\": 110\n}","spectrum/spectrums.json":"[\n  {\n    \"id\": \"precipitation\",\n    \"type\": \"precipitation\",\n    \"name\": \"Precipitation\",\n    \"opacity\": \"90\",\n    \"range\": {\"import\": \"precipitation\"},\n    \"display\": {\"breakpoints\":  [\"0\", \"1\", \"5\", \"20\", \"50\", \"150\"], \"units\": \"mm hr**-1\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"mbgr\", \"reverse\": false},\n      {\"type\": \"steps\", \"divs\": 0},\n      {\"type\": \"push\", \"dx\": 0.02},\n      {\"type\": \"cut\", \"dx\": 0.02}\n    ]\n  },\n  {\n    \"id\": \"precipitation_dark_sky\",\n    \"type\": \"precipitation\",\n    \"name\": \"Precipitation Dark Sky\",\n    \"opacity\": \"90\",\n    \"range\": {\"import\": \"precipitation\"},\n    \"display\": {\"breakpoints\":  [\"0\", \"1\", \"5\", \"20\", \"50\", \"150\"], \"units\": \"mm hr**-1\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"dark_rain\", \"reverse\": false},\n      {\"type\": \"steps\", \"divs\": 16},\n      {\"type\": \"push\", \"dx\": 0.02},\n      {\"type\": \"cut\", \"dx\": 0.02}\n    ]\n  },\n  {\n    \"id\": \"precipitation_drizzle\",\n    \"type\": \"precipitation\",\n    \"name\": \"Precipitation Drizzle\",\n    \"opacity\": \"90\",\n    \"range\": {\"import\": \"precipitation_drizzle\"},\n    \"display\": {\"breakpoints\":  [\"0\", \"1\", \"5\", \"20\", \"50\", \"150\"], \"units\": \"mm hr**-1\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"mbgr\", \"reverse\": false},\n      {\"type\": \"steps\", \"divs\": 12},\n      {\"type\": \"push\", \"dx\": 0.02},\n      {\"type\": \"cut\", \"dx\": 0.02}\n    ]\n  },\n  {\n    \"id\": \"precipitation_custom1\",\n    \"type\": \"precipitation\",\n    \"name\": \"Precipitation Custom\",\n    \"opacity\": \"90\",\n    \"range\": {\"min\":  \"0\", \"max\": \"\", \"units\": \"mm hr**-1\"},\n    \"display\": {\"breakpoints\":  [\"0\", \"1\", \"5\", \"20\", \"50\", \"150\"], \"units\": \"mm hr**-1\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"mbgr\", \"reverse\": false},\n      {\"type\": \"steps\", \"divs\": 12},\n      {\"type\": \"push\", \"dx\": 0.02},\n      {\"type\": \"cut\", \"dx\": 0.02}\n    ]\n  },\n\n\n  {\n    \"id\": \"reflectivity\",\n    \"type\": \"reflectivity\",\n    \"name\": \"Radar Reflectivity\",\n    \"opacity\": \"90\",\n    \"range\": {\"import\": \"reflectivity\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"nws\", \"reverse\": false},\n      {\"type\": \"steps\", \"divs\": 12},\n      {\"type\": \"cut\", \"dx\": 0.01}\n    ]\n  },\n\n  {\n    \"id\": \"cloud\",\n    \"type\": \"cloud\",\n    \"opacity\": \"70\",\n    \"range\": {\"min\": \"0\", \"max\": \"100\", \"units\": \"%\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"WhGr\"},\n      {\"type\": \"alpha_ramp\", \"dx\": 0.5}\n    ]\n  },\n\n  {\n    \"id\": \"cloud_red\",\n    \"type\": \"cloud_layer\",\n    \"opacity\": \"60\",\n    \"range\": {\"min\": \"0\", \"max\": \"100\", \"units\": \"%\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"Reds\"},\n      {\"type\": \"alpha_ramp\", \"dx\": 1.0}\n    ]\n  },\n\n  {\n    \"id\": \"cloud_green\",\n    \"type\": \"cloud_layer\",\n    \"opacity\": \"60\",\n    \"range\": {\"min\": \"0\", \"max\": \"100\", \"units\": \"%\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"Greens\"},\n      {\"type\": \"alpha_ramp\", \"dx\": 1.0}\n    ]\n  },\n\n  {\n    \"id\": \"cloud_blue\",\n    \"type\": \"cloud_layer\",\n    \"opacity\": \"60\",\n    \"range\": {\"min\": \"0\", \"max\": \"100\", \"units\": \"%\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"Blues\"},\n      {\"type\": \"alpha_ramp\", \"dx\": 1.0}\n    ]\n  },\n\n  {\n    \"id\": \"cloud_custom\",\n    \"type\": \"cloud\",\n    \"recipe\": [{\"type\": \"import_colormap\", \"id\": \"clouds_awg\"}]\n  },\n\n  {\n    \"id\": \"temperature\",\n    \"type\": \"temperature\"\n  },\n  {\n    \"id\": \"temperature_temperate\",\n    \"type\": \"temperature\",\n    \"range\": {\"min\":  \"10\", \"max\": \"34\", \"units\": \"C\"}\n  },\n  {\n    \"id\": \"temperature_frigid\",\n    \"type\": \"temperature\",\n    \"range\": {\"min\":  \"-12\", \"max\": \"22\", \"units\": \"C\"}\n  },\n  {\n    \"id\": \"temperature_custom\",\n    \"type\": \"temperature\"\n  },\n\n  {\n    \"id\": \"wind_speed\",\n    \"type\": \"wind_speed\",\n    \"range\": {\"import\": \"wind_speed\"}\n  },\n\n  {\n    \"id\": \"wind_speed_custom\",\n    \"type\": \"wind_speed\",\n    \"range\": {\"import\": \"wind_speed\"},\n    \"recipe\": [{\"type\": \"import_colormap\", \"id\": \"CMRmap\"}]\n  },\n\n  {\n    \"id\": \"pressure\",\n    \"type\": \"pressure\",\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"turbo\"},\n      {\"type\": \"steps\", \"divs\": 12}\n    ]\n  },\n  {\n    \"id\": \"pressure_custom\",\n    \"type\": \"pressure\",\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"turbo\"}\n    ]\n  },\n  {\n    \"id\": \"humidity\",\n    \"type\": \"humidity\"\n  },\n  {\n    \"id\": \"humidity_custom\",\n    \"type\": \"humidity\"\n  },\n\n  {\n    \"id\": \"wave_height\",\n    \"type\": \"wave_height\",\n    \"range\": {\"import\": \"wave_height\"}\n  },\n\n  {\n    \"id\": \"wave_height_small\",\n    \"type\": \"wave_height\",\n    \"name\": \"Small Waves\",\n    \"range\": {\"import\": \"wave_height_small\"}\n  },\n\n  {\n    \"id\": \"wave_height_big\",\n    \"type\": \"wave_height\",\n    \"name\": \"Big Waves\",\n    \"range\": {\"import\": \"wave_height_big\"}\n  },\n\n  {\n    \"id\": \"wave_direction\",\n    \"type\": \"wave_direction\",\n    \"range\": {\"min\":  \"0\", \"max\": \"360\", \"units\": \"degrees\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"phase\"}\n    ]\n  },\n\n  {\n    \"id\": \"wave_period\",\n    \"type\": \"wave_period\",\n    \"range\": {\"min\":  \"0\", \"max\": \"24\", \"units\": \"s\"}\n  },\n\n  {\n    \"id\": \"visibility\",\n    \"type\": \"visibility\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"\", \"units\":  \"m\"},\n    \"display\": {\"breakpoints\":  [\"0\", \"200\", \"1000\", \"5000\", \"20000\"], \"units\": \"m\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"universal_blue\", \"reverse\":  true},\n      {\"type\": \"cut\", \"dx\":  -0.03},\n      {\"type\": \"steps\", \"steps\": 16}\n    ]\n  },\n  {\n    \"id\": \"visibility_custom\",\n    \"type\": \"visibility\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"\", \"units\":  \"m\"},\n    \"display\": {\"breakpoints\":  [\"0\", \"200\", \"1000\", \"5000\", \"20000\", \"100000\"], \"units\": \"m\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"universal_blue\", \"reverse\":  true},\n      {\"type\": \"cut\", \"dx\":  -0.03},\n      {\"type\": \"steps\", \"steps\": 16}\n    ]\n  },\n  {\n    \"id\": \"cape\",\n    \"type\": \"cape\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"4000\", \"units\":  \"J kg**-1\"},\n    \"display\": {\"breakpoints\":  [\"0\", \"300\", \"1000\", \"2500\", \"4000\", \"8000\"], \"units\": \"J kg**-1\"}\n  },\n  {\n    \"id\": \"cape_custom\",\n    \"type\": \"cape\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"\", \"units\":  \"J kg**-1\"},\n    \"display\": {\"breakpoints\":  [\"0\", \"300\", \"1000\", \"2500\", \"4000\", \"8000\"], \"units\": \"J kg**-1\"}\n  },\n  {\n    \"id\": \"lifted_index\",\n    \"type\": \"lifted_index\"\n  },\n  {\n    \"id\": \"lifted_index_custom\",\n    \"type\": \"lifted_index\"\n  },\n\n  {\n    \"id\": \"smoke.sfc\",\n    \"type\": \"smoke.sfc\",\n    \"name\": \"Surface Smoke\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"200\", \"units\":  \"ug m**-3\"},\n    \"display\": {\"breakpoints\": [\"0\", \"10\", \"50\", \"200\", \"1000\", \"5000\"], \"units\": \"ug m**-3\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"noaa_smoke\"},\n      {\"type\": \"alpha_ramp\", \"dx\": 0.03}\n    ]\n  },\n  {\n    \"id\": \"smoke.sfc.1\",\n    \"type\": \"smoke.sfc\",\n    \"name\": \"Surface Smoke Detail\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"80\", \"units\":  \"ug m**-3\"},\n    \"display\": {\"breakpoints\": [\"0\", \"10\", \"50\", \"200\", \"1000\", \"5000\"], \"units\": \"ug m**-3\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"noaa_smoke\"},\n      {\"type\": \"alpha_ramp\", \"dx\": 0.03}\n    ]\n  },\n  {\n    \"id\": \"smoke.sfc.2\",\n    \"type\": \"smoke.sfc\",\n    \"name\": \"Surface Smoke Max\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"\", \"units\":  \"ug m**-3\"},\n    \"display\": {\"breakpoints\": [\"0\", \"10\", \"50\", \"200\", \"1000\", \"5000\"], \"units\": \"ug m**-3\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"noaa_smoke\"},\n      {\"type\": \"alpha_ramp\", \"dx\": 0.03}\n    ]\n  },\n\n  {\n    \"id\": \"smoke.col\",\n    \"type\": \"smoke.col\",\n    \"name\": \"Smoke Column\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"500\", \"units\":  \"mg m**-2\"},\n    \"display\": {\"breakpoints\": [\"0\", \"5\", \"25\", \"100\", \"500\", \"10000\"], \"units\": \"mg m**-2\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"noaa_smoke\"},\n      {\"type\": \"alpha_ramp\", \"dx\": 0.03}\n    ]\n  },\n  {\n    \"id\": \"smoke.col.1\",\n    \"type\": \"smoke.col\",\n    \"name\": \"Smoke Column Detail\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"200\", \"units\":  \"mg m**-2\"},\n    \"display\": {\"breakpoints\": [\"0\", \"5\", \"25\", \"100\", \"500\", \"10000\"], \"units\": \"mg m**-2\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"noaa_smoke\"},\n      {\"type\": \"alpha_ramp\", \"dx\": 0.03}\n    ]\n  },\n  {\n    \"id\": \"smoke.col.2\",\n    \"type\": \"smoke.col\",\n    \"name\": \"Smoke Column Max\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"\", \"units\":  \"mg m**-2\"},\n    \"display\": {\"breakpoints\": [\"0\", \"5\", \"25\", \"100\", \"500\", \"10000\"], \"units\": \"mg m**-2\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"noaa_smoke\"},\n      {\"type\": \"alpha_ramp\", \"dx\": 0.03}\n    ]\n  },\n\n  {\n    \"id\": \"fire_power\",\n    \"type\": \"fire_power\",\n    \"name\": \"Fire Radiative Power\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"100\", \"units\":  \"MW\"},\n    \"display\": {\"breakpoints\": [\"0\", \"1\", \"10\", \"100\", \"1000\", \"10000\"], \"units\": \"MW\"}\n  },\n\n  {\n    \"id\": \"fire_power.1\",\n    \"type\": \"fire_power\",\n    \"name\": \"Fire Radiative Power Max\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"\", \"units\":  \"MW\"},\n    \"display\": {\"breakpoints\": [\"0\", \"1\", \"10\", \"100\", \"1000\", \"10000\"], \"units\": \"MW\"}\n  },\n\n  {\n    \"id\": \"particulate_matter\",\n    \"type\": \"particulate_matter\",\n    \"name\": \"Particulate Matter\",\n    \"range\": {\"min\":  \"20\", \"max\":  \"500\", \"units\":  \"ug m**-3\"},\n    \"display\": {\"breakpoints\": [\"0\", \"12\", \"35\", \"55\", \"150\", \"500\"], \"units\": \"ug m**-3\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"cams_pm\"},\n      {\"type\": \"steps\", \"divs\": 16},\n      {\"type\": \"alpha_ramp\", \"dx\": 0.04}\n    ]\n  },\n\n  {\n    \"id\": \"no2\",\n    \"type\": \"no2\",\n    \"name\": \"NO2\",\n    \"range\": {\"min\":  \"1\", \"max\":  \"1200\", \"units\":  \"ppb\"},\n    \"display\": {\"breakpoints\": [\"0\", \"20\", \"50\", \"100\", \"200\", \"1200\"], \"units\": \"ppb\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"cams_aq\"},\n      {\"type\": \"steps\", \"divs\": 16},\n      {\"type\": \"alpha_ramp\", \"dx\": 0.04}\n    ]\n  },\n\n  {\n    \"id\": \"so2\",\n    \"type\": \"so2\",\n    \"name\": \"SO2\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"50\", \"units\":  \"ppb\"},\n    \"display\": {\"breakpoints\": [\"0\", \"0.5\", \"2\", \"10\", \"50\", \"200\", \"1000\"], \"units\": \"ppb\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"cams_aq\"},\n      {\"type\": \"steps\", \"divs\": 16},\n      {\"type\": \"alpha_ramp\", \"dx\": 0.05}\n    ]\n  },\n\n  {\n    \"id\": \"co\",\n    \"type\": \"co\",\n    \"name\": \"CO\",\n    \"range\": {\"min\":  \"0.1\", \"max\":  \"50\", \"units\":  \"ppm\"},\n    \"display\": {\"breakpoints\": [\"0\", \"0.1\", \"0.5\", \"2\", \"10\", \"50\"], \"units\": \"ppm\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"cams_aq\"},\n      {\"type\": \"steps\", \"divs\": 16},\n      {\"type\": \"alpha_ramp\", \"dx\": 0.04}\n    ]\n  },\n\n  {\n    \"id\": \"o3\",\n    \"type\": \"o3\",\n    \"name\": \"O3\",\n    \"range\": {\"min\":  \"10\", \"max\":  \"400\", \"units\":  \"ppb\"},\n    \"display\": {\"breakpoints\": [\"0\", \"50\", \"100\", \"150\", \"200\", \"400\"], \"units\": \"ppb\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"cams_aq\"},\n      {\"type\": \"steps\", \"divs\": 16},\n      {\"type\": \"alpha_ramp\", \"dx\": 0.08}\n    ]\n  },\n\n  {\n    \"id\": \"uv_index\",\n    \"type\": \"uv_index\",\n    \"name\": \"UV Index\",\n    \"range\": {\"min\":  \"0\", \"max\":  \"12\", \"units\":  \"uv_index\"},\n    \"recipe\": [\n      {\"type\": \"import_colormap\", \"id\": \"uv_index\"},\n      {\"type\": \"steps\", \"divs\": 12},\n      {\"type\": \"alpha_ramp\", \"dx\": 0.24}\n    ]\n  }\n]","style/dark.gauge.json":"{\n  \"temperature\": {\n    \"text_color_high\": \"#FF8D50\",\n    \"text_color_low\": \"#72adff\"\n  }\n}","style/default.gauge.json":"{\n  \"temperature\": {\n    \"text_color_high\": \"#F06600\",\n    \"text_color_low\": \"#005FAF\"\n  }\n}","style/default.map.json":"{\n  \"default\": {\n    \"layer_alpha\": 1.0,\n    \"layer_quality\": 120,\n\n    \"line_width\": 1,\n    \"line_color\": \"#AA55AAFF\",\n    \"line_color.1\": \"#FFFFAAFF\"\n  },\n\n  \"layer_name.place\": {\n    \"layer_type\": \"points\",\n    \"layer_level\": 600,\n    \"point_size\": 31,\n    \"color0\": \"#F7A787\",\n    \"color1\": \"#005083\"\n  },\n\n  \"layer_name.center_point\": {\n    \"layer_type\": \"points\",\n    \"layer_level\": 601,\n    \"view_tile\": true,\n    \"point_size\": 30,\n    \"color0\": \"#EB4B0FAA\",\n    \"color1\": \"#FFFFFFFF\",\n\n    \"_zoom\": {\n      \"0\": {\"point_size\": 20},\n      \"5\": {\"point_size\": 24},\n      \"6\": {\"point_size\": 28},\n      \"7\": {\"point_size\": 32},\n      \"8\": {\"point_size\": 36},\n      \"9\": {\"point_size\": 40},\n      \"10\": {\"point_size\": 44}\n    }\n  },\n\n  \"layer_name.coastlines\": {\n    \"layer_type\": \"lines\",\n    \"layer_level\": 500,\n\n    \"data_id\": \"geomaps/coastlines-10km/0\",\n\n    \"line_width\": 1,\n    \"line_color\": \"#888888\",\n    \"line_color.1\": \"#888888\",\n\n    \"_zoom\": {\n      \"0\": {\"zoom_level\": 0, \"data_id\": \"geomaps/coastlines-10km/1\"},\n      \"2\": {\"zoom_level\": 2, \"data_id\": \"geomaps/coastlines-5km/2\"},\n      \"5\": {\"zoom_level\": 5, \"data_id\": \"geomaps/coastlines-2km5/5\"},\n      \"6\": {\"zoom_level\": 6, \"data_id\": \"geomaps/coastlines-1km/6\"},\n      \"8\": {\"zoom_level\": 8, \"data_id\": \"geomaps/coastlines-500m/8\"},\n      \"9\": {\"zoom_level\": 9, \"data_id\": \"geomaps/coastlines-250m/9\"},\n      \"10\": {\"zoom_level\": 10, \"data_id\": \"geomaps/coastlines-100m/10\"},\n      \"12\": {\"zoom_level\": 12, \"data_id\": \"geomaps/coastlines-50m/12\"}\n    }\n  },\n\n  \"layer_name.ocean_stencil\": {\n    \"layer_type\": \"map\",\n    \"layer_level\": 50,\n    \"layer_quality\": 768,\n    \"layer_alpha\": 1.0,\n    \"is_stencil\": true,\n    \"data_id\": \"stadiamaps/alidade_smooth\",\n    \"discard_color\": \"#c1c9cc\"\n  },\n\n  \"ocean_map\": {\n    \"layer_type\": \"map\",\n    \"layer_quality\": 768,\n    \"data_layer\": true,\n    \"data_id\": \"stadiamaps/alidade_smooth\",\n    \"replaceColors\": \"#c1c9cc\"\n  },\n\n  \"layer_name.map\": {\n    \"layer_type\": \"map\",\n    \"layer_level\": 100,\n    \"layer_quality\": 768,\n    \"layer_alpha\": 1.0\n  },\n\n  \"layer_name.wavefronts\": {\n    \"layer_type\": \"waves\",\n    \"layer_alpha\": 1.0,\n    \"layer_level\": 70,\n    \"wave_density\": 28,\n    \"wave_size\": 1.3,\n    \"perturb_wave\": 0.3,\n    \"cycle_time\": 2.0\n  },\n\n  \"layer_name.openzones\": {\n    \"layer_type\": \"lines\",\n    \"layer_level\": 590,\n\n    \"data_id\": \"flowx/openzones\",\n\n    \"line_width\": 3,\n    \"line_color\": \"#44CC44\",\n    \"line_color.1\": \"#008800\"\n  },\n\n  \"layer_name.storms\": {\n    \"layer_type\": \"storms\",\n    \"layer_alpha\": 1.0,\n    \"layer_level\": 600,\n    \"line_color\": \"#88888844\",\n    \"line_width\": 1,\n    \"point_color\": \"#FF0066AA\",\n    \"point_size\": 9.0,\n    \"show_ensemble\": true,\n    \"show_envelope\": true,\n    \"show_source_noaa\": true,\n    \"show_source_cmc\": true,\n    \"render_value\": \"source_set,category,pressure,wind_speed\"\n  },\n\n  \"source:storms.gfs\": {\n    \"source_set\": \"noaa\",\n    \"line_color\": \"#8888FF\",\n    \"line_color.1\": \"#8888FF\",\n    \"line_width\": 4,\n    \"point_color\": \"#6600FFAA\"\n  },\n\n  \"source:storms.gefs\": {\n    \"source_set\": \"noaa\",\n    \"line_color\": \"#8888FF44\",\n    \"line_color.1\": \"#8888FF44\",\n    \"line_width\": 2,\n    \"point_color\": \"#6600FFAA\"\n  },\n\n  \"source:storms.cmc\": {\n    \"source_set\": \"cmc\",\n    \"line_color\": \"#FF8888\",\n    \"line_color.1\": \"#FF8888\",\n    \"line_width\": 4,\n    \"point_color\": \"#AAFF0066\"\n  },\n\n  \"source:storms.cens\": {\n    \"source_set\": \"cmc\",\n    \"line_color\": \"#FF888844\",\n    \"line_color.1\": \"#FF888844\",\n    \"line_width\": 2,\n    \"point_color\": \"#FF0066AA\"\n  },\n\n  \"stadiamaps/alidade_smooth\": {\n    \"backgroundColor\": \"#c1c9cc\",\n    \"replaceColors\": \"#c1c9cc\"\n  },\n\n  \"stadiamaps/alidade_smooth_dark\": {\n    \"backgroundColor\": \"#222222\",\n    \"replaceColors\": \"#222222\"\n  },\n\n  \"stadiamaps/outdoors\": {\n    \"backgroundColor\": \"#adcceb\",\n    \"replaceColors\": \"#adcceb,#aecdea,#adcdeb,#accceb\"\n  },\n\n  \"stadiamaps/stamen_terrain\": {\n    \"replaceColors\": \"#99b3cc,#98b3cc\"\n  },\n\n  \"stadiamaps/stamen_terrain_background\": {\n    \"replaceColors\": \"#99b3cc\"\n  },\n\n  \"stadiamaps/stamen_watercolor\": {\n    \"replaceColors\": \"#adcceb\"\n  },\n\n  \"stamen/terrain\": {\n    \"layer_type\": \"map\",\n    \"layer_quality\": 768,\n    \"replaceColors\": \"#99b3cc\",\n    \"_zoom\": {\n      \"0\": {\"data_id\": \"stadiamaps/stamen_terrain_background\", \"replaceColors\": \"#99b3cc\"},\n      \"6\": {\"data_id\": \"stadiamaps/stamen_terrain\", \"replaceColors\": \"#9ab3cc,#99b3cc,#98b3cc,#9ab2cc,#99b2cc\"}\n    }\n  },\n\n  \"stadiamaps/stamen_hybrid\": {\n    \"layer_type\": \"map\",\n    \"layer_quality\": 768,\n    \"_zoom\": {\n      \"0\": {\"data_id\": \"stadiamaps/stamen_terrain_background\", \"replaceColors\": \"#99b3cc\"},\n      \"6\": {\"data_id\": \"stadiamaps/stamen_terrain\", \"replaceColors\": \"#9ab3cc,#99b3cc,#98b3cc,#9ab2cc,#99b2cc\"}\n    }\n  },\n\n  \"layer_name.scalar0\": {\n    \"layer_type\": \"scalar\",\n    \"layer_alpha\": 0.85,\n    \"layer_level\": 200,\n    \"line_width\": 3\n  },\n\n  \"layer_name.scalar1\": {\n    \"layer_type\": \"scalar\",\n    \"layer_alpha\": 0.85,\n    \"layer_level\": 300,\n    \"line_width\": 3\n  },\n\n  \"layer_name.radar1\": {\n    \"layer_type\": \"radar\",\n    \"layer_alpha\": 0.85,\n    \"layer_level\": 400,\n    \"layer_quality\": 180,\n    \"spectrum\": \"reflectivity\"\n  },\n\n  \"layer_name.vector0\": {\n    \"layer_type\": \"streamlines\",\n    \"layer_alpha\": 0.85,\n    \"layer_level\": 500,\n    \"line_width\": 2.0,\n    \"line_color\": \"#FFFFFF\",\n    \"line_color.1\": \"#000000\",\n    \"use_mask\":  true,\n    \"stream_length\": 1,\n    \"stream_visible_time\": 1.0,\n    \"stream_cycle_time\": 3.0\n  },\n\n  \"layer_name.celestial\": {\n    \"layer_type\": \"celestial\",\n    \"layer_level\": 550,\n    \"view_tile\": true,\n    \"point_size\": 30,\n\n    \"outlineWidth\": 2.0,\n    \"outlineColor\": \"#88888888\",\n\n    \"sunPathWidth\": 2.0,\n    \"sunPathColor\": \"#FFAA00AA\",\n    \"sunColor\": \"#ffe566\",\n    \"sunOutlineWidth\": 1.2,\n    \"sunOutlineUpColor\": \"#ccccff\",\n    \"sunOutlineDownColor\": \"#444444\",\n\n    \"moonPathWidth\": 1.5,\n    \"moonPathColor\": \"#9999FFFF\",\n    \"moonColor\": \"#191980\",\n    \"moonShadowColor\": \"#e5ccff\",\n    \"moonOutlineWidth\": 1.2,\n    \"moonOutlineUpColor\": \"#8888aa\",\n    \"moonOutlineDownColor\": \"#444444\"\n  },\n\n\n  \"precipitation\": {\n    \"spectrum\": \"precipitation\"\n  },\n  \"cloud\": {\n    \"spectrum\": \"cloud\"\n  },\n  \"temperature\": {\n    \"spectrum\": \"temperature\"\n  },\n  \"wind_speed\": {\n    \"spectrum\": \"wind_speed\"\n  },\n  \"wind_streams\": {\n    \"use_stream_preset\": true\n  },\n  \"humidity\": {\n    \"spectrum\": \"humidity\"\n  },\n  \"visibility\": {\n    \"spectrum\": \"visibility\"\n  },\n  \"cape\": {\n    \"spectrum\": \"cape\"\n  },\n  \"lifted_index\": {\n    \"spectrum\": \"lifted_index\"\n  },\n\n\n  \"smoke.sfc\": {\n    \"layer_quality\": 150,\n    \"spectrum\": \"smoke.sfc\"\n  },\n  \"smoke.col\": {\n    \"layer_quality\": 150,\n    \"spectrum\": \"smoke.col\"\n  },\n  \"fire_power\": {\n    \"layer_quality\": 150,\n    \"spectrum\": \"fire_power\"\n  },\n\n\n  \"radar_image\": {\n    \"layer_type\": \"radar\",\n    \"spectrum\": \"reflectivity\"\n  },\n  \"radar_scalar\": {\n    \"layer_type\": \"scalar\",\n    \"spectrum\": \"reflectivity\"\n  },\n\n\n  \"wave_height\": {\n    \"layer_level\": 50,\n    \"spectrum\": \"wave_height\",\n    \"use_mask\": false\n  },\n  \"wave_direction\": {\n    \"layer_level\": 60,\n    \"spectrum\": \"wave_direction\",\n    \"use_mask\":  false\n  },\n  \"wave_period\": {\n    \"layer_level\": 50,\n    \"spectrum\": \"wave_period\",\n    \"use_mask\":  false\n  },\n\n  \"marine_scalar\": {\n    \"layer_level\": 50,\n    \"dilate\": 2\n  },\n  \"marine_currents\": {\n    \"layer_level\": 50,\n    \"dilate\": 2,\n    \"dilate_value\": 0.0\n  },\n\n  \"marine_streams\": {\n    \"layer_level\": 60,\n    \"use_mask\":  true,\n    \"dilate\": 2,\n    \"dilate_value\": 0.0,\n    \"stream_length\": 15,\n    \"stream_visible_time\": 2.0,\n    \"stream_cycle_time\": 5.0\n  },\n\n  \"particulate_matter\": {\n    \"spectrum\": \"particulate_matter\"\n  },\n\n  \"no2\": {\n    \"spectrum\": \"no2\"\n  },\n\n  \"so2\": {\n    \"spectrum\": \"so2\"\n  },\n\n  \"co\": {\n    \"spectrum\": \"co\"\n  },\n\n  \"o3\": {\n    \"spectrum\": \"o3\"\n  },\n\n  \"uv_index\": {\n    \"spectrum\": \"uv_index\"\n  }\n\n}"}