Skip to content

Instantly share code, notes, and snippets.

@cnuernber
Last active July 17, 2019 18:48
Show Gist options
  • Save cnuernber/e8dd9be62531eb4bb21a1f9723610919 to your computer and use it in GitHub Desktop.
Save cnuernber/e8dd9be62531eb4bb21a1f9723610919 to your computer and use it in GitHub Desktop.
Expanded mesonet table
weather-databot.madis> (rich-table "mesonet.gz")
11:46:35.521 [nRepl-session-3bc5bf7a-6ea2-49b6-b862-df91fefe056b] DEBUG ucar.nc2.NetcdfFile - Using IOSP ucar.nc2.iosp.netcdf3.N3raf
| :name | :units | :datatype | :shape | :valid-ecount | :example-values |
|-------------------------+-------------+-----------+--------------+---------------+---------------------------------------|
| ICT | | :char | [55 72] | 3960 | [49 45 32] |
| QCT | | :char | [10 60] | 600 | [49 45 32] |
| altimeter | pascal | :float | [138878] | 82131 | ["1.02e+05" "1.02e+05" "1.02e+05"] |
| altimeterDD | | :char | [138878] | 138878 | [86 81 83] |
| altimeterQCA | | :int | [138878] | 138878 | [115 99 51] |
| altimeterQCD | pascal | :float | [138878 10] | 213133 | ["3.00e+01" "0.00e+00" "6.01e+01"] |
| altimeterQCR | | :int | [138878] | 138878 | [0 97 0] |
| capPi | dimensi... | :float | [138878] | 0 | [] |
| code1PST | | :short | [300] | 81 | [-3 -3 0] |
| code2PST | | :short | [300] | 81 | [7 7 0] |
| code3PST | | :short | [300] | 81 | [0 0 0] |
| code4PST | | :short | [300] | 81 | [0 0 0] |
| dataProvider | | :char | [138878 11] | 1527658 | [65 80 82] |
| dewpoint | kelvin | :float | [138878] | 105661 | ["2.76e+02" "2.90e+02" "2.98e+02"] |
| dewpointDD | | :char | [138878] | 138878 | [86 86 83] |
| dewpointICA | | :int | [138878] | 138878 | [3 3 3] |
| dewpointICR | | :int | [138878] | 138878 | [0 0 0] |
| dewpointQCA | | :int | [138878] | 138878 | [123 123 59] |
| dewpointQCD | kelvin | :float | [138878 10] | 297015 | ["8.29e-01" "1.88e+00" "-2.20e-01"] |
| dewpointQCR | | :int | [138878] | 138878 | [0 0 0] |
| drySignalDelay | meters | :float | [138878] | 0 | [] |
| elevation | meter | :float | [138878] | 138878 | ["7.12e+02" "7.30e+01" "1.32e+02"] |
| filterSetNum | | :int | [] | 1 | [2] |
| firstInBin | | :int | [24] | 24 | [0 752 1563] |
| firstOverflow | | :int | [] | 0 | [] |
| formalError | centimeters | :float | [138878] | 0 | [] |
| fuelMoistChangeTime | seconds... | :double | [138878] | 0 | [] |
| fuelMoisture | percent | :float | [138878] | 1335 | ["4.34e+00" "5.20e+00" "5.50e+00"] |
| fuelTempChangeTime | seconds... | :double | [138878] | 0 | [] |
| fuelTemperature | kelvin | :float | [138878] | 1336 | ["2.92e+02" "2.77e+02" "2.90e+02"] |
| globalInventory | | :int | [] | 1 | [16777215] |
| handbook5Id | | :char | [138878 6] | 833268 | [0 0 0] |
| homeWFO | | :char | [138878 4] | 555512 | [70 83 76] |
| iceThickness | millimeter | :float | [138878] | 0 | [] |
| invTime | | :int | [138878] | 138878 | [1563253206 1563253205 1563253204] |
| inventory | | :int | [45000] | 28770 | [2708117 5592405 5592405] |
| isOverflow | | :int | [138878] | 0 | [] |
| lastInBin | | :int | [24] | 24 | [138738 122740 138524] |
| lastRecord | | :int | [45000] | 28770 | [114548 52940 52942] |
| latitude | degree_... | :float | [138878] | 138878 | ["3.49e+01" "4.56e+01" "1.82e+01"] |
| longitude | degree_east | :float | [138878] | 138878 | ["-1.18e+02" "-1.22e+02" "-6.59e+01"] |
| maxTemp24Hour | kelvin | :float | [138878] | 0 | [] |
| meanWeightedTemperature | kelvin | :float | [138878] | 0 | [] |
| minTemp24Hour | kelvin | :float | [138878] | 0 | [] |
| mobileElev | meter | :float | [138878] | 0 | [] |
| mobileLat | degree_... | :float | [138878] | 76615 | ["3.49e+01" "4.56e+01" "1.82e+01"] |
| mobileLon | degree_east | :float | [138878] | 76615 | ["-1.18e+02" "-1.22e+02" "-6.59e+01"] |
| modifyTime | seconds... | :double | [138878] | 22618 | ["1.56e+09" "1.56e+09" "1.56e+09"] |
| nStaticIds | | :int | [] | 1 | [28770] |
| namePST | | :char | [300 11] | 3300 | [70 84 67] |
| numPST | | :short | [] | 1 | [81] |
| numSkyCoverObs | | :int | [138878] | 1216 | [1 1 1] |
| numericWMOid | | :int | [138878] | 0 | [] |
| observationTime | seconds... | :double | [138878] | 138878 | ["1.56e+09" "1.56e+09" "1.56e+09"] |
| precip1min | millimeter | :float | [138878] | 0 | [] |
| precipAccum | mm | :float | [138878] | 90843 | ["0.00e+00" "1.02e+00" "2.54e-01"] |
| precipAccumDD | | :char | [138878] | 138878 | [67 67 67] |
| precipAccumICA | | :int | [138878] | 138878 | [0 0 0] |
| precipAccumICR | | :int | [138878] | 138878 | [0 0 0] |
| precipAccumQCA | | :int | [138878] | 138878 | [3 3 3] |
| precipAccumQCD | mm | :float | [138878 10] | 0 | [] |
| precipAccumQCR | | :int | [138878] | 138878 | [0 0 0] |
| precipIntensity | | :short | [138878 2] | 5469 | [1 1 1] |
| precipRate | meter/s... | :float | [138878] | 98957 | ["0.00e+00" "0.00e+00" "0.00e+00"] |
| precipRateDD | | :char | [138878] | 138878 | [67 67 67] |
| precipRateQCA | | :int | [138878] | 138878 | [3 3 3] |
| precipRateQCD | meter/s... | :float | [138878 10] | 0 | [] |
| precipRateQCR | | :int | [138878] | 138878 | [0 0 0] |
| precipType | | :short | [138878 2] | 3927 | [0 0 0] |
| presWx | | :char | [138878 25] | 3471950 | [0 0 0] |
| pressChange3Hour | pascal | :float | [138878] | 0 | [] |
| pressChange3HourDD | | :char | [138878] | 138878 | [90 90 90] |
| pressChange3HourICA | | :int | [138878] | 138878 | [0 0 0] |
| pressChange3HourICR | | :int | [138878] | 138878 | [0 0 0] |
| pressChange3HourQCA | | :int | [138878] | 138878 | [0 0 0] |
| pressChange3HourQCD | pascal | :float | [138878 10] | 0 | [] |
| pressChange3HourQCR | | :int | [138878] | 138878 | [0 0 0] |
| pressChangeChar | | :short | [138878] | 0 | [] |
| prevRecord | | :int | [138878] | 110108 | [737 947 1174] |
| providerId | | :char | [138878 12] | 1666536 | [97 112 49] |
| rawMessage | | :char | [138878 512] | 71105536 | [97 112 49] |
| rawPrecip | mm | :float | [138878] | 91778 | ["0.00e+00" "1.02e+00" "2.54e-01"] |
| receivedTime | seconds... | :double | [138878] | 138878 | ["1.56e+09" "1.56e+09" "1.56e+09"] |
| relHumidity | percent | :float | [138878] | 107556 | ["1.90e+01" "8.40e+01" "9.30e+01"] |
| relHumidityDD | | :char | [138878] | 138878 | [86 86 83] |
| relHumidityQCA | | :int | [138878] | 138878 | [115 115 51] |
| relHumidityQCD | percent | :float | [138878 10] | 301362 | ["8.25e-01" "2.00e+00" "-3.50e-01"] |
| relHumidityQCR | | :int | [138878] | 138878 | [0 0 0] |
| reportTime | seconds... | :double | [138878] | 138878 | ["1.56e+09" "1.56e+09" "1.56e+09"] |
| restrictedDataLevel | | :short | [138878] | 0 | [] |
| rhChangeTime | seconds... | :double | [138878] | 0 | [] |
| roadLiquidChemFactor1 | | :float | [138878] | 4 | ["9.50e+01" "9.50e+01" "5.00e+00"] |
| roadLiquidChemFactor2 | | :float | [138878] | 0 | [] |
| roadLiquidChemFactor3 | | :float | [138878] | 9 | ["2.88e+02" "2.92e+02" "9.50e+01"] |
| roadLiquidChemFactor4 | | :float | [138878] | 0 | [] |
| roadLiquidChemPercent1 | percent | :float | [138878] | 2 | ["0.00e+00" "0.00e+00"] |
| roadLiquidChemPercent2 | percent | :float | [138878] | 1 | ["0.00e+00"] |
| roadLiquidChemPercent3 | percent | :float | [138878] | 3 | ["2.88e+02" "2.92e+02" "0.00e+00"] |
| roadLiquidChemPercent4 | percent | :float | [138878] | 0 | [] |
| roadLiquidDepth1 | meter | :float | [138878] | 418 | ["0.00e+00" "0.00e+00" "0.00e+00"] |
| roadLiquidDepth2 | meter | :float | [138878] | 36 | ["0.00e+00" "1.00e-03" "3.07e-02"] |
| roadLiquidDepth3 | meter | :float | [138878] | 1 | ["3.00e-03"] |
| roadLiquidDepth4 | meter | :float | [138878] | 12 | ["0.00e+00" "0.00e+00" "0.00e+00"] |
| roadLiquidFreezeTemp1 | kelvin | :float | [138878] | 559 | ["2.73e+02" "2.73e+02" "2.73e+02"] |
| roadLiquidFreezeTemp2 | kelvin | :float | [138878] | 273 | ["2.73e+02" "2.73e+02" "2.73e+02"] |
| roadLiquidFreezeTemp3 | kelvin | :float | [138878] | 65 | ["2.73e+02" "2.73e+02" "2.73e+02"] |
| roadLiquidFreezeTemp4 | kelvin | :float | [138878] | 57 | ["2.73e+02" "2.73e+02" "2.73e+02"] |
| roadLiquidIcePercent1 | percent | :float | [138878] | 0 | [] |
| roadLiquidIcePercent2 | percent | :float | [138878] | 0 | [] |
| roadLiquidIcePercent3 | percent | :float | [138878] | 0 | [] |
| roadLiquidIcePercent4 | percent | :float | [138878] | 0 | [] |
| roadState1 | | :short | [138878] | 3676 | [1 1 4] |
| roadState2 | | :short | [138878] | 2129 | [1 4 4] |
| roadState3 | | :short | [138878] | 685 | [4 1 4] |
| roadState4 | | :short | [138878] | 221 | [1 1 1] |
| roadSubsurfaceTemp1 | kelvin | :float | [138878] | 1965 | ["2.95e+02" "2.90e+02" "2.90e+02"] |
| roadSubsurfaceTemp2 | kelvin | :float | [138878] | 246 | ["3.04e+02" "3.04e+02" "2.99e+02"] |
| roadSubsurfaceTemp3 | kelvin | :float | [138878] | 258 | ["2.98e+02" "3.03e+02" "3.01e+02"] |
| roadSubsurfaceTemp4 | kelvin | :float | [138878] | 248 | ["2.97e+02" "3.01e+02" "3.00e+02"] |
| roadTemperature1 | kelvin | :float | [138878] | 6024 | ["2.93e+02" "3.00e+02" "2.99e+02"] |
| roadTemperature2 | kelvin | :float | [138878] | 2727 | ["2.99e+02" "2.99e+02" "3.02e+02"] |
| roadTemperature3 | kelvin | :float | [138878] | 760 | ["2.97e+02" "2.97e+02" "2.89e+02"] |
| roadTemperature4 | kelvin | :float | [138878] | 274 | ["3.02e+02" "2.97e+02" "2.85e+02"] |
| seaLevelPressure | pascal | :float | [138878] | 145 | ["1.02e+05" "1.02e+05" "1.02e+05"] |
| seaLevelPressureDD | | :char | [138878] | 138878 | [90 90 90] |
| seaLevelPressureICA | | :int | [138878] | 138878 | [0 0 0] |
| seaLevelPressureICR | | :int | [138878] | 138878 | [0 0 0] |
| seaLevelPressureQCA | | :int | [138878] | 138878 | [0 0 0] |
| seaLevelPressureQCD | pascal | :float | [138878 10] | 410 | ["9.05e-01" "1.00e+01" "-8.19e+00"] |
| seaLevelPressureQCR | | :int | [138878] | 138878 | [0 0 0] |
| seaSurfaceTemp | kelvin | :float | [138878] | 1988 | ["2.91e+02" "2.88e+02" "2.88e+02"] |
| seaSurfaceTempDD | | :char | [138878] | 138878 | [90 90 90] |
| seaSurfaceTempICA | | :int | [138878] | 138878 | [0 0 0] |
| seaSurfaceTempICR | | :int | [138878] | 138878 | [0 0 0] |
| seaSurfaceTempQCA | | :int | [138878] | 138878 | [0 0 0] |
| seaSurfaceTempQCD | kelvin | :float | [138878 10] | 3844 | ["0.00e+00" "0.00e+00" "0.00e+00"] |
| seaSurfaceTempQCR | | :int | [138878] | 138878 | [0 0 0] |
| secondsStage1_2 | | :int | [138878] | 138878 | [152 152 152] |
| secondsStage3 | | :int | [138878] | 122140 | [346 346 346] |
| skyCovLayerBase | meter | :float | [138878 6] | 441 | ["7.01e+02" "8.23e+02" "1.68e+03"] |
| skyCvr | | :char | [138878 6 8] | 6666144 | [0 0 0] |
| soilMoisture | kilopascal | :float | [138878] | 0 | [] |
| soilMoisturePercent | percent | :float | [138878] | 493 | ["1.40e+01" "2.67e+01" "1.47e+00"] |
| soilMoisturePercentDD | | :char | [138878] | 138878 | [90 90 90] |
| soilMoisturePercentQCA | | :int | [138878] | 138878 | [0 0 0] |
| soilMoisturePercentQCD | percent | :float | [138878 10] | 0 | [] |
| soilMoisturePercentQCR | | :int | [138878] | 138878 | [0 0 0] |
| soilTemperature | kelvin | :float | [138878] | 3808 | ["3.06e+02" "3.05e+02" "2.96e+02"] |
| soilTemperatureDD | | :char | [138878] | 138878 | [90 90 90] |
| soilTemperatureQCA | | :int | [138878] | 138878 | [0 0 0] |
| soilTemperatureQCD | kelvin | :float | [138878 10] | 7320 | ["1.14e+00" "1.14e+00" "8.61e-01"] |
| soilTemperatureQCR | | :int | [138878] | 138878 | [0 0 0] |
| solarRadChangeTime | seconds... | :double | [138878] | 0 | [] |
| solarRadiation | watt/meter2 | :float | [138878] | 33185 | ["3.64e+02" "1.11e+02" "1.34e+02"] |
| staticIds | | :char | [45000 24] | 1080000 | [48 48 50] |
| stationId | | :char | [138878 6] | 833268 | [65 80 49] |
| stationName | | :char | [138878 51] | 7082778 | [87 65 54] |
| stationPressChangeTime | seconds... | :double | [138878] | 0 | [] |
| stationPressure | pascal | :float | [138878] | 9501 | ["8.50e+04" "8.38e+04" "8.45e+04"] |
| stationPressureDD | | :char | [138878] | 138878 | [90 90 90] |
| stationPressureICA | | :int | [138878] | 138878 | [0 0 0] |
| stationPressureICR | | :int | [138878] | 138878 | [0 0 0] |
| stationPressureQCA | | :int | [138878] | 138878 | [0 0 0] |
| stationPressureQCD | pascal | :float | [138878 10] | 24319 | ["3.96e+02" "3.96e+02" "5.41e+01"] |
| stationPressureQCR | | :int | [138878] | 138878 | [0 0 0] |
| stationType | | :char | [138878 11] | 1527658 | [65 80 82] |
| tempChangeTime | seconds... | :double | [138878] | 0 | [] |
| temperature | kelvin | :float | [138878] | 116745 | ["3.02e+02" "2.93e+02" "2.99e+02"] |
| temperatureDD | | :char | [138878] | 138878 | [86 86 83] |
| temperatureICA | | :int | [138878] | 138878 | [3 3 3] |
| temperatureICR | | :int | [138878] | 138878 | [0 0 0] |
| temperatureQCA | | :int | [138878] | 138878 | [123 123 59] |
| temperatureQCD | kelvin | :float | [138878 10] | 328798 | ["-4.28e-01" "5.56e-01" "-1.41e+00"] |
| temperatureQCR | | :int | [138878] | 138878 | [0 0 0] |
| test1 | | :char | [138878 51] | 7082778 | [0 0 0] |
| timeSinceLastPcp | second | :double | [138878] | 0 | [] |
| totalColumnPWV | centimeters | :float | [138878] | 0 | [] |
| totalSignalDelay | meters | :float | [138878] | 0 | [] |
| typePST | | :char | [300] | 300 | [80 80 80] |
| visibility | meter | :float | [138878] | 8576 | ["2.00e+03" "2.00e+03" "2.00e+03"] |
| visibilityDD | | :char | [138878] | 138878 | [90 90 90] |
| visibilityICA | | :int | [138878] | 138878 | [0 0 0] |
| visibilityICR | | :int | [138878] | 138878 | [0 0 0] |
| visibilityQCA | | :int | [138878] | 138878 | [0 0 0] |
| visibilityQCD | meter | :float | [138878 10] | 0 | [] |
| visibilityQCR | | :int | [138878] | 138878 | [0 0 0] |
| waterLevel | meter | :float | [138878] | 10 | ["-9.14e-03" "-3.66e-02" "-6.10e-02"] |
| wetSignalDelay | meters | :float | [138878] | 0 | [] |
| windDir | degree | :float | [138878] | 105980 | ["2.24e+02" "2.00e+00" "9.30e+01"] |
| windDir10 | degree | :float | [138878] | 0 | [] |
| windDirChangeTime | seconds... | :double | [138878] | 0 | [] |
| windDirDD | | :char | [138878] | 138878 | [86 86 83] |
| windDirICA | | :int | [138878] | 138878 | [0 0 0] |
| windDirICR | | :int | [138878] | 138878 | [0 0 0] |
| windDirMax | degree | :float | [138878] | 5948 | ["2.08e+02" "3.48e+02" "3.30e+02"] |
| windDirMax10 | degree | :float | [138878] | 0 | [] |
| windDirMaxDD | | :char | [138878] | 138878 | [90 90 90] |
| windDirMaxQCA | | :int | [138878] | 138878 | [0 0 0] |
| windDirMaxQCD | degree | :float | [138878 10] | 0 | [] |
| windDirMaxQCR | | :int | [138878] | 138878 | [0 0 0] |
| windDirQCA | | :int | [138878] | 138878 | [99 99 35] |
| windDirQCD | degree | :float | [138878 10] | 182320 | ["5.85e+01" "5.85e+01" "-1.75e+02"] |
| windDirQCR | | :int | [138878] | 138878 | [0 0 0] |
| windGust | meter/sec | :float | [138878] | 102923 | ["5.36e+00" "0.00e+00" "2.24e+00"] |
| windGust10 | meter/sec | :float | [138878] | 0 | [] |
| windGustChangeTime | seconds... | :double | [138878] | 0 | [] |
| windGustDD | | :char | [138878] | 138878 | [83 83 83] |
| windGustQCA | | :int | [138878] | 138878 | [19 19 19] |
| windGustQCD | meter/sec | :float | [138878 10] | 202764 | ["4.47e-01" "4.47e-01" "0.00e+00"] |
| windGustQCR | | :int | [138878] | 138878 | [0 0 0] |
| windSpeed | meter/sec | :float | [138878] | 110878 | ["2.68e+00" "0.00e+00" "8.94e-01"] |
| windSpeed10 | meter/sec | :float | [138878] | 0 | [] |
| windSpeedChangeTime | seconds... | :double | [138878] | 0 | [] |
| windSpeedDD | | :char | [138878] | 138878 | [86 86 83] |
| windSpeedICA | | :int | [138878] | 138878 | [0 0 0] |
| windSpeedICR | | :int | [138878] | 138878 | [0 0 0] |
| windSpeedQCA | | :int | [138878] | 138878 | [115 115 51] |
| windSpeedQCD | meter/sec | :float | [138878 10] | 310439 | ["1.42e+00" "4.47e-01" "2.40e+00"] |
| windSpeedQCR | | :int | [138878] | 138878 | [0 0 0] |
weather-databot.madis> (->> (range 4)
(mapv (fn [rs-idx]
(let [item-name (str "roadState" (inc rs-idx))]
{:name item-name
:frequences (frequencies (get-in varmap [item-name :vdata]))}))))
[{:name "roadState1", :frequences {1 2925, 4 229, 2 338, 17 97, 5 75, 10 12}}
{:name "roadState2", :frequences {1 1733, 4 101, 24 6, 17 91, 2 161, 5 37}}
{:name "roadState3", :frequences {4 16, 1 619, 24 12, 17 12, 0 2, 2 24}}
{:name "roadState4", :frequences {1 183, 17 10, 2 28}}]
@cnuernber
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment