From 67f704a37d7af1a034887d4fc4bf4952099b803c Mon Sep 17 00:00:00 2001 From: Scott Chamberlain Date: Thu, 2 Aug 2018 17:32:06 -0700 Subject: [PATCH] starting to deal with units better for ncdc(), #266 #233 --- R/ncdc.r | 7 +- R/ncdc_add_units.R | 25 +++ R/rnoaa-package.r | 2 +- R/units-annual.R | 26 +++ R/units-ghcnd.R | 121 +++++++++++ R/units-normal_ann.R | 478 +++++++++++++++++++++++++++++++++++++++++++ R/units-normal_dly.R | 63 ++++++ R/units-precip_15.R | 13 ++ R/units-precip_hly.R | 8 + 9 files changed, 739 insertions(+), 4 deletions(-) create mode 100644 R/ncdc_add_units.R create mode 100644 R/units-annual.R create mode 100644 R/units-ghcnd.R create mode 100644 R/units-normal_ann.R create mode 100644 R/units-normal_dly.R create mode 100644 R/units-precip_15.R create mode 100644 R/units-precip_hly.R diff --git a/R/ncdc.r b/R/ncdc.r index bc72e87d..afcce254 100644 --- a/R/ncdc.r +++ b/R/ncdc.r @@ -1,4 +1,4 @@ -#' Search for and get NOAA NCDC data. +#' Search for and get NOAA NCDC data #' #' @export #' @template rnoaa @@ -95,7 +95,7 @@ #' startdate = '2010-05-01', enddate = '2010-05-10') #' #' # multiple datatypeid's -#' ncdc(datasetid='PRECIP_HLY', datatypeid=c('HPCP', 'ACMC'), +#' ncdc(datasetid='PRECIP_HLY', datatypeid = 'HPCP', #' startdate = '2010-05-01', enddate = '2010-05-10') #' #' # multiple locationid's @@ -199,8 +199,9 @@ ncdc <- function(datasetid=NULL, datatypeid=NULL, stationid=NULL, locationid=NUL } else { tt$results <- lapply(tt$results, split_atts, ds = datasetid) dat <- dplyr::bind_rows(lapply(tt$results, function(x) - data.frame(x,stringsAsFactors = FALSE))) + data.frame(x, stringsAsFactors = FALSE))) meta <- tt$metadata$resultset + dat <- ncdc_add_units(dat, datasetid) atts <- list(totalCount = meta$count, pageCount = meta$limit, offset = meta$offset) all <- list(meta = atts, data = dat) diff --git a/R/ncdc_add_units.R b/R/ncdc_add_units.R new file mode 100644 index 00000000..b1189ca7 --- /dev/null +++ b/R/ncdc_add_units.R @@ -0,0 +1,25 @@ +ncdc_add_units <- function(x, datasetid) { + stopifnot(is.data.frame(x)) + unit_adder(datasetid, x) + # switch( + # datasetid, + # 'GHCND' = unit_adder(x), + # stop("no logic in ncdc_add_units() for dataset: ", datasetid) + # ) +} + +unit_adder <- function(datasetid, x) { + x <- dplyr::rowwise(x) + df <- dplyr::do(x, data.frame(units = pick_by_datatype(datasetid, .$datatype), + stringsAsFactors = FALSE)) + df <- dplyr::bind_cols(x, df) + dplyr::ungroup(df) +} + +pick_by_datatype <- function(datasetid, var) { + src <- paste0("ncdc_units_", tolower(datasetid)) + src <- eval(parse(text = src)) + tmp <- which(vapply(names(src), function(z) grepl(z, var), logical(1))) + if (length(tmp) == 0) return("unknown; see docs") + src[tmp][[1]]$units +} diff --git a/R/rnoaa-package.r b/R/rnoaa-package.r index 2852a347..7d85d307 100644 --- a/R/rnoaa-package.r +++ b/R/rnoaa-package.r @@ -69,7 +69,7 @@ #' @importFrom rappdirs user_cache_dir #' @importFrom gridExtra grid.arrange #' @importFrom dplyr %>% select mutate rename tbl_df filter bind_rows -#' as_data_frame contains +#' as_data_frame contains rowwise do bind_cols ungroup #' @importFrom tibble as_data_frame #' @importFrom scales comma #' @name rnoaa-package diff --git a/R/units-annual.R b/R/units-annual.R new file mode 100644 index 00000000..68a378d9 --- /dev/null +++ b/R/units-annual.R @@ -0,0 +1,26 @@ +# from https://www1.ncdc.noaa.gov/pub/data/cdo/documentation/ANNUAL_documentation.pdf +ncdc_units_annual <- list( + CLDD = list(name = "CLDD", units = "fahrenheit", description = "Cooling degree days. These are using a 65 degree Fahrenheit base (whole degrees Fahrenheit)"), + DP01 = list(name = "DP01", units = "number_of_days", description = "Number of days in month with greater than or equal to 0.1 inch of precipitation"), + DP05 = list(name = "DP05", units = "number_of_days", description = "Number of days in month with greater than or equal to 0.5 inch of precipitation"), + DP10 = list(name = "DP10", units = "number_of_days", description = "Number of days in month with greater than or equal to 1.0 inch of precipitation"), + DT00 = list(name = "DT00", units = "number_of_days", description = "Number days in month with minimum temperature less than or equal to 0.0 F "), + DT32 = list(name = "DT32", units = "number_of_days", description = "Number days in month with minimum temperature less than or equal to 32.0 F"), + DT90 = list(name = "DT90", units = "number_of_days", description = "Number days in month with maximum temperature greater than or equal 90.0 F "), + DX32 = list(name = "DX32", units = "number_of_days", description = "Number days in month with maximum temperature less than or equal to 32.0 F "), + HTDD = list(name = "HTDD", units = "fahrenheit", description = "Heating degree days. These are using a 65 degree Fahrenheit base (whole degrees Fahrenheit"), + EMXP = list(name = "EMXP", units = "mm_tenths", description = "Extreme maximum daily precipitation total within month (inches to hundredths), day of occurrence given on PDF output"), + TPCP = list(name = "TPCP", units = "mm_tenths", description = "Total precipitation amount for the month (inches to hundredths)"), + TSNW = list(name = "TSNW", units = "mm", description = "Total snow fall amount for the month (inches to tenths)"), + MXSD = list(name = "MXSD", units = "mm", description = "Maximum snow depth reported during month (inches), day of occurrence given on PDF output"), + DPNP = list(name = "DPNP", units = "mm_tenths", description = "Departure from normal monthly precipitation (1981 – 2010 normal)"), + EMNT = list(name = "EMNT", units = "celcius_tenths", description = "Extreme minimum temperature reported in month, day of occurrence given on PDF output"), + EMXT = list(name = "EMXT", units = "celcius_tenths", description = "Extreme maximum temperature reported in month, day of occurrence given on PDF output"), + MMNT = list(name = "MMNT", units = "celcius_tenths", description = "Monthly mean minimum temperature (tenths of degrees)"), + MMXT = list(name = "MMXT", units = "celcius_tenths", description = "Monthly mean maximum temperature (tenths of degrees)"), + MNTM = list(name = "MNTM", units = "celcius_tenths", description = "Monthly mean temperature (tenths of degrees)"), + DPNT = list(name = "DPNT", units = "celcius_tenths", description = "Departure from normal monthly mean temperature (1981 – 2010 normal)"), + MMNP = list(name = "MMNP", units = "fahrenheit", description = "Mean minimum temperature for month of water within evaporation pan (Fahrenheit to tenths)"), + MMXP = list(name = "MMXP", units = "fahrenheit", description = "Mean maximum temperature for month of water within evaporation pan (Fahrenheit to tenths)"), + TEVP = list(name = "TEVP", units = "mm_tenths", description = "Total water to evaporated from evaporation pan for month (inches to hundredths)") +) diff --git a/R/units-ghcnd.R b/R/units-ghcnd.R new file mode 100644 index 00000000..e344d9d5 --- /dev/null +++ b/R/units-ghcnd.R @@ -0,0 +1,121 @@ +# from https://www1.ncdc.noaa.gov/pub/data/cdo/documentation/GHCND_documentation.pdf and +# https://www1.ncdc.noaa.gov/pub/data/ghcn/daily/readme.txt +ncdc_units_ghcnd <- list( + PRCP = list(name = "precipitation", units = "mm_tenths", description = "Precipitation"), + SNOW = list(name = "snow_fall", units = "mm", description = "Snowfall"), + SNWD = list(name = "snow_depth", units = "mm", description = "Snow depth"), + TMAX = list(name = "temperature_max", units = "celcius_tenths", description = "Maximum temperature"), + TMIN = list(name = "temperature_min", units = "celcius_tenths", description = "Minimum temperature"), + ACMC = list(name = "ACMC", units = "percent", description = "Average cloudiness midnight to midnight from 30-second ceilometer data (percent)"), + ACMH = list(name = "ACMH", units = "percent", description = "Average cloudiness midnight to midnight from manual observations (percent)"), + ACSC = list(name = "ACSC", units = "percent", description = "Average cloudiness sunrise to sunset from 30-second ceilometer data (percent)"), + ACSH = list(name = "ACSH", units = "percent", description = "Average cloudiness sunrise to sunset from manual observations (percent)"), + AWDR = list(name = "AWDR", units = "degrees", description = "Average daily wind direction (degrees)"), + AWND = list(name = "AWND", units = "meters_per_sec_tenths", description = "Average daily wind speed (tenths of meters per second)"), + DAEV = list(name = "DAEV", units = "number_of_days", description = "Number of days included in the multiday evaporation total (MDEV)"), + DAPR = list(name = "DAPR", units = "number_of_days", description = "Number of days included in the multiday precipiation total (MDPR)"), + DASF = list(name = "DASF", units = "number_of_days", description = "Number of days included in the multiday snowfall total (MDSF)"), + DATN = list(name = "DATN", units = "number_of_days", description = "Number of days included in the multiday minimum temperature (MDTN)"), + DATX = list(name = "DATX", units = "number_of_days", description = "Number of days included in the multiday maximum temperature (MDTX)"), + DAWM = list(name = "DAWM", units = "number_of_days", description = "Number of days included in the multiday wind movement (MDWM)"), + DWPR = list(name = "DWPR", units = "number_of_days", description = "Number of days with non-zero precipitation included in multiday precipitation total (MDPR)"), + EVAP = list(name = "EVAP", units = "mm_tenths", description = "Evaporation of water from evaporation pan (tenths of mm)"), + FMTM = list(name = "FMTM", units = "time", description = "Time of fastest mile or fastest 1-minute wind (hours and minutes, i.e., HHMM)"), + FRGB = list(name = "FRGB", units = "cm", description = "Base of frozen ground layer (cm)"), + FRGT = list(name = "FRGT", units = "cm", description = "Top of frozen ground layer (cm)"), + FRTH = list(name = "FRTH", units = "cm", description = "Thickness of frozen ground layer (cm)"), + GAHT = list(name = "GAHT", units = "cm", description = "Difference between river and gauge height (cm)"), + MDEV = list(name = "MDEV", units = "mm_tenths", description = "Multiday evaporation total (tenths of mm; use with DAEV)"), + MDPR = list(name = "MDPR", units = "mm_tenths", description = "Multiday precipitation total (tenths of mm; use with DAPR and DWPR, if available)"), + MDSF = list(name = "MDSF", units = "mm", description = "Multiday snowfall total"), + MDTN = list(name = "MDTN", units = "celcius_tenths", description = "Multiday minimum temperature (tenths of degrees C; use with DATN)"), + MDTX = list(name = "MDTX", units = "celcius_tenths", description = "Multiday maximum temperature (tenths of degress C; use with DATX)"), + MDWM = list(name = "MDWM", units = "km", description = "Multiday wind movement (km)"), + MNPN = list(name = "MNPN", units = "celcius_tenths", description = "Daily minimum temperature of water in an evaporation pan (tenths of degrees C)"), + MXPN = list(name = "MXPN", units = "celcius_tenths", description = "Daily maximum temperature of water in an evaporation pan (tenths of degrees C)"), + PGTM = list(name = "PGTM", units = "time", description = "Peak gust time (hours and minutes, i.e., HHMM)"), + PSUN = list(name = "PSUN", units = "percent", description = "Daily percent of possible sunshine (percent)"), + TAVG = list(name = "TAVG", units = "celcius_tenths", description = "Average temperature (tenths of degrees C) [Note that TAVG from source 'S' corresponds to an average for the period ending at 2400 UTC rather than local midnight]"), + THIC = list(name = "THIC", units = "mm_tenths", description = "Thickness of ice on water (tenths of mm)"), + TOBS = list(name = "TOBS", units = "celcius_tenths", description = "Temperature at the time of observation (tenths of degrees C)"), + TSUN = list(name = "TSUN", units = "minutes", description = "Daily total sunshine (minutes)"), + WDF1 = list(name = "WDF1", units = "degrees", description = "Direction of fastest 1-minute wind (degrees)"), + WDF2 = list(name = "WDF2", units = "degrees", description = "Direction of fastest 2-minute wind (degrees)"), + WDF5 = list(name = "WDF5", units = "degrees", description = "Direction of fastest 5-second wind (degrees)"), + WDFG = list(name = "WDFG", units = "degrees", description = "Direction of peak wind gust (degrees)"), + WDFI = list(name = "WDFI", units = "degrees", description = "Direction of highest instantaneous wind (degrees)"), + WDFM = list(name = "WDFM", units = "degrees", description = "Fastest mile wind direction (degrees)"), + WDMV = list(name = "WDMV", units = "km", description = "24-hour wind movement (km)"), + WESD = list(name = "WESD", units = "mm_tenths", description = "Water equivalent of snow on the ground (tenths of mm)"), + WESF = list(name = "WESF", units = "mm_tenths", description = "Water equivalent of snowfall (tenths of mm)"), + WSF1 = list(name = "WSF1", units = "meters_per_sec_tenths", description = "Fastest 1-minute wind speed (tenths of meters per second)"), + WSF2 = list(name = "WSF2", units = "meters_per_sec_tenths", description = "Fastest 2-minute wind speed (tenths of meters per second)"), + WSF5 = list(name = "WSF5", units = "meters_per_sec_tenths", description = "Fastest 5-second wind speed (tenths of meters per second)"), + WSFG = list(name = "WSFG", units = "meters_per_sec_tenths", description = "Peak gust wind speed (tenths of meters per second)"), + WSFI = list(name = "WSFI", units = "meters_per_sec_tenths", description = "Highest instantaneous wind speed (tenths of meters per second)"), + WSFM = list(name = "WSFM", units = "meters_per_sec_tenths", description = "Fastest mile wind speed (tenths of meters per second)"), + 'SN[0-9]{2}' = list(name = "SN*", units = "celcius_tenths", + description = "Minimum soil temperature (tenths of degrees C) where * corresponds to a code for ground cover and # corresponds to a code for soil depth. `values` data.frame: first number is ground cover, second is depth", + values = data.frame( + type = c(rep('ground_cover', 9), rep('depth', 7)), + code = c(0, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7), + value = c( + "unknown", "grass", "fallow", "bare ground", "brome grass", + "sod", "straw multch", "grass muck", "bare muck", + "5 cm", "10 cm", "20 cm", "50 cm", "100 cm", "150 cm", "180 cm"), + stringsAsFactors = FALSE + ) + ), + 'SX[0-9]{2}' = list(name = "SX*", units = "celcius_tenths", + description = "Maximum soil temperature (tenths of degrees C) where * corresponds to a code for ground cover and # corresponds to a code for soil depth.", + values = data.frame( + type = c(rep('ground_cover', 9), rep('depth', 7)), + code = c(0, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7), + value = c( + "unknown", "grass", "fallow", "bare ground", "brome grass", + "sod", "straw multch", "grass muck", "bare muck", + "5 cm", "10 cm", "20 cm", "50 cm", "100 cm", "150 cm", "180 cm"), + stringsAsFactors = FALSE + ) + ), + 'WT[0-9]{2}' = list(name = "WT*", units = "no units", + description = "Weather Type", + values = data.frame( + code = c('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '21', '22'), + value = c("Fog, ice fog, or freezing fog (may include heavy fog)", + "Heavy fog or heaving freezing fog (not always distinquished from fog)", + "Thunder", + "Ice pellets, sleet, snow pellets, or small hail ", + "Hail (may include small hail)", + "Glaze or rime ", + "Dust, volcanic ash, blowing dust, blowing sand, or blowing obstruction", + "Smoke or haze ", + "Blowing or drifting snow", + "Tornado, waterspout, or funnel cloud ", + "High or damaging winds", + "Blowing spray", + "Mist", + "Drizzle", + "Freezing drizzle ", + "Rain (may include freezing rain, drizzle, and freezing drizzle) ", + "Freezing rain ", + "Snow, snow pellets, snow grains, or ice crystals", + "Unknown source of precipitation ", + "Ground fog ", + "Ice fog or freezing fog"), + stringsAsFactors = FALSE + ) + ), + 'WV[0-9]{2}' = list(name = "WV*", units = "no units", + description = "Weather in the Vicinity", + values = data.frame( + code = c('01', '03', '07', '18', '20'), + value = c( + "Fog, ice fog, or freezing fog (may include heavy fog)", "Thunder", + "Ash, dust, sand, or other blowing obstruction", "Snow or ice crystals", + "Rain or snow shower"), + stringsAsFactors = FALSE + ) + ) +) + diff --git a/R/units-normal_ann.R b/R/units-normal_ann.R new file mode 100644 index 00000000..eb515fc5 --- /dev/null +++ b/R/units-normal_ann.R @@ -0,0 +1,478 @@ +# from https://www1.ncdc.noaa.gov/pub/data/cdo/documentation/NORMAL_ANN_documentation.pdf +ncdc_units_normal_ann <- list( + "ann-cldd-base45" = list(name = "ann-cldd-base45", units = "FIXME", description = "Long-term averages of annual cooling degree days with base 45F"), + "ann-cldd-base50" = list(name = "ann-cldd-base50", units = "FIXME", description = "Long-term averages of annual cooling degree days with base 50F"), + "ann-cldd-base55" = list(name = "ann-cldd-base55", units = "FIXME", description = "Long-term averages of annual cooling degree days with base 55F"), + "ann-cldd-base57" = list(name = "ann-cldd-base57", units = "FIXME", description = "Long-term averages of annual cooling degree days with base 57F"), + "ann-cldd-base60" = list(name = "ann-cldd-base60", units = "FIXME", description = "Long-term averages of annual cooling degree days with base 60F"), + "ann-cldd-base70" = list(name = "ann-cldd-base70", units = "FIXME", description = "Long-term averages of annual cooling degree days with base 70F"), + "ann-cldd-base72" = list(name = "ann-cldd-base72", units = "FIXME", description = "Long-term averages of annual cooling degree days with base 72F"), + "ann-cldd-normal" = list(name = "ann-cldd-normal", units = "FIXME", description = "Long-term averages of annual cooling degree days with base 65F"), + "ann-dutr-normal" = list(name = "ann-dutr-normal", units = "FIXME", description = "Long-term averages of annual diurnal temperature range"), + "ann-grdd-tb4886" = list(name = "ann-grdd-tb4886", units = "FIXME", description = "Long-term averages of annual growing degree days with truncated bases 48F & 86F"), + "ann-grdd-tb5086" = list(name = "ann-grdd-tb5086", units = "FIXME", description = "Long-term averages of annual growing degree days with truncated bases 50F & 86F"), + "ann-grdd-base40" = list(name = "ann-grdd-base40", units = "FIXME", description = "Long-term averages of annual growing degree days with base 40F"), + "ann-grdd-base45" = list(name = "ann-grdd-base45", units = "FIXME", description = "Long-term averages of annual growing degree days with base 45F"), + "ann-grdd-base50" = list(name = "ann-grdd-base50", units = "FIXME", description = "Long-term averages of annual growing degree days with base 50F"), + "ann-grdd-base55" = list(name = "ann-grdd-base55", units = "FIXME", description = "Long-term averages of annual growing degree days with base 55F"), + "ann-grdd-base57" = list(name = "ann-grdd-base57", units = "FIXME", description = "Long-term averages of annual growing degree days with base 57F"), + "ann-grdd-base60" = list(name = "ann-grdd-base60", units = "FIXME", description = "Long-term averages of annual growing degree days with base 60F"), + "ann-grdd-base65" = list(name = "ann-grdd-base65", units = "FIXME", description = "Long-term averages of annual growing degree days with base 65F"), + "ann-grdd-base70" = list(name = "ann-grdd-base70", units = "FIXME", description = "Long-term averages of annual growing degree days with base 70F"), + "ann-grdd-base72" = list(name = "ann-grdd-base72", units = "FIXME", description = "Long-term averages of annual growing degree days with base 72F"), + "ann-htdd-base40" = list(name = "ann-htdd-base40", units = "FIXME", description = "Long-term averages of annual heating degree days with base 40F"), + "ann-htdd-base45" = list(name = "ann-htdd-base45", units = "FIXME", description = "Long-term averages of annual heating degree days with base 45F"), + "ann-htdd-base50" = list(name = "ann-htdd-base50", units = "FIXME", description = "Long-term averages of annual heating degree days with base 50F"), + "ann-htdd-base55" = list(name = "ann-htdd-base55", units = "FIXME", description = "Long-term averages of annual heating degree days with base 55F"), + "ann-htdd-base57" = list(name = "ann-htdd-base57", units = "FIXME", description = "Long-term averages of annual heating degree days with base 57F"), + "ann-htdd-base60" = list(name = "ann-htdd-base60", units = "FIXME", description = "Long-term averages of annual heating degree days with base 60F"), + "ann-htdd-normal" = list(name = "ann-htdd-normal", units = "FIXME", description = "Long-term averages of annual heating degree days with base 65F"), + "ann-prcp-avgnds-ge001hi" = list(name = "ann-prcp-avgnds-ge001hi", units = "FIXME", description = "Long-term averages of number of days during the year with precipitation >= 0.01 inches"), + "ann-prcp-avgnds-ge010hi" = list(name = "ann-prcp-avgnds-ge010hi", units = "FIXME", description = "Long-term averages of number of days during the year with precipitation >= 0.10 inches"), + "ann-prcp-avgnds-ge050hi" = list(name = "ann-prcp-avgnds-ge050hi", units = "FIXME", description = "Long-term averages of number of days during the year with precipitation >= 0.50 inches"), + "ann-prcp-avgnds-ge100hi" = list(name = "ann-prcp-avgnds-ge100hi", units = "FIXME", description = "Long-term averages of number of days during the year with precipitation >= 1.00 inches"), + "ann-prcp-normal" = list(name = "ann-prcp-normal", units = "FIXME", description = "Long-term averages of annual precipitation totals"), + "ann-snow-avgnds-ge001ti" = list(name = "ann-snow-avgnds-ge001ti", units = "FIXME", description = "Long-term averages of number of days during the year with snowfall >= 0.1 inches"), + "ann-snow-avgnds-ge010ti" = list(name = "ann-snow-avgnds-ge010ti", units = "FIXME", description = "Long-term averages of number of days during the year with snowfall >= 1.0 inches"), + "ann-snow-avgnds-ge030ti" = list(name = "ann-snow-avgnds-ge030ti", units = "FIXME", description = "Long-term averages of number of days during the year with snowfall >= 3.0 inches"), + "ann-snow-avgnds-ge050ti" = list(name = "ann-snow-avgnds-ge050ti", units = "FIXME", description = "Long-term averages of number of days during the year with snowfall >= 5.0 inches"), + "ann-snow-avgnds-ge100ti" = list(name = "ann-snow-avgnds-ge100ti", units = "FIXME", description = "Long-term averages of number of days during the year with snowfall >= 10.0 inches"), + "ann-snow-normal" = list(name = "ann-snow-normal", units = "FIXME", description = "Long-term averages of annual snowfall totals"), + "ann-snwd-avgnds-ge001wi" = list(name = "ann-snwd-avgnds-ge001wi", units = "FIXME", description = "Long-term averages of number of days during the year with snow depth >= 1 inch"), + "ann-snwd-avgnds-ge003wi" = list(name = "ann-snwd-avgnds-ge003wi", units = "FIXME", description = "Long-term averages of number of days during the year with snow depth >= 3 inches"), + "ann-snwd-avgnds-ge005wi" = list(name = "ann-snwd-avgnds-ge005wi", units = "FIXME", description = "Long-term averages of number of days during the year with snow depth >=5 inches"), + "ann-snwd-avgnds-ge010wi" = list(name = "ann-snwd-avgnds-ge010wi", units = "FIXME", description = "Long-term averages of number of days during the year with snow depth >=5 inches"), + "ann-tavg-normal" = list(name = "ann-tavg-normal", units = "FIXME", description = "Long-term averages of annual average temperature"), + "ann-tmax-avgnds-grth040" = list(name = "ann-tmax-avgnds-grth040", units = "FIXME", description = "Long-term average number of days per year where tmax is greater than or equal to 40F"), + "ann-tmax-avgnds-grth050" = list(name = "ann-tmax-avgnds-grth050", units = "FIXME", description = "Long-term average number of days per year where tmax is greater than or equal to 50F"), + "ann-tmax-avgnds-grth060" = list(name = "ann-tmax-avgnds-grth060", units = "FIXME", description = "Long-term average number of days per year where tmax is greater than or equal to 60F"), + "ann-tmax-avgnds-grth070" = list(name = "ann-tmax-avgnds-grth070", units = "FIXME", description = "Long-term average number of days per year where tmax is greater than or equal to 70F"), + "ann-tmax-avgnds-grth080" = list(name = "ann-tmax-avgnds-grth080", units = "FIXME", description = "Long-term average number of days per year where tmax is greater than or equal to 80F"), + "ann-tmax-avgnds-grth090" = list(name = "ann-tmax-avgnds-grth090", units = "FIXME", description = "Long-term average number of days per year where tmax is greater than or equal to 90F"), + "ann-tmax-avgnds-grth100" = list(name = "ann-tmax-avgnds-grth100", units = "FIXME", description = "Long-term average number of days per year where tmax is greater than or equal to 100F"), + "ann-tmax-avgnds-lsth032" = list(name = "ann-tmax-avgnds-lsth032", units = "FIXME", description = "Long-term average number of days per year where tmax is less than or equal to 32F"), + "ann-tmax-normal" = list(name = "ann-tmax-normal", units = "FIXME", description = "Long-term averages of annual maximum temperature"), + "ann-tmin-avgnds-lsth000" = list(name = "ann-tmin-avgnds-lsth000", units = "FIXME", description = "Long-term average number of days per year where tmin is less than or equal to 0F"), + "ann-tmin-avgnds-lsth010" = list(name = "ann-tmin-avgnds-lsth010", units = "FIXME", description = "Long-term average number of days per year where tmin is less than or equal to 10F"), + "ann-tmin-avgnds-lsth020" = list(name = "ann-tmin-avgnds-lsth020", units = "FIXME", description = "Long-term average number of days per year where tmin is less than or equal to 20F"), + "ann-tmin-avgnds-lsth032" = list(name = "ann-tmin-avgnds-lsth032", units = "FIXME", description = "Long-term average number of days per year where tmin is less than or equal to 32F"), + "ann-tmin-avgnds-lsth040" = list(name = "ann-tmin-avgnds-lsth040", units = "FIXME", description = "Long-term average number of days per year where tmin is less than or equal to 40F"), + "ann-tmin-avgnds-lsth050" = list(name = "ann-tmin-avgnds-lsth050", units = "FIXME", description = "Long-term average number of days per year where tmin is less than or equal to 50F"), + "ann-tmin-avgnds-lsth060" = list(name = "ann-tmin-avgnds-lsth060", units = "FIXME", description = "Long-term average number of days per year where tmin is less than or equal to 60F"), + "ann-tmin-avgnds-lsth070" = list(name = "ann-tmin-avgnds-lsth070", units = "FIXME", description = "Long-term average number of days per year where tmin is less than or equal to 70F"), + "ann-tmin-normal" = list(name = "ann-tmin-normal", units = "FIXME", description = "Long-term averages of annual minimum temperature"), + "ann-tmin-prbfst-t16fp10" = list(name = "ann-tmin-prbfst-t16fp10", units = "FIXME", description = "10% probability date of first 16F occurrence or earlier"), + "ann-tmin-prbfst-t16fp20" = list(name = "ann-tmin-prbfst-t16fp20", units = "FIXME", description = "20% probability date of first 16F occurrence or earlier"), + "ann-tmin-prbfst-t16fp30" = list(name = "ann-tmin-prbfst-t16fp30", units = "FIXME", description = "30% probability date of first 16F occurrence or earlier"), + "ann-tmin-prbfst-t16fp40" = list(name = "ann-tmin-prbfst-t16fp40", units = "FIXME", description = "40% probability date of first 16F occurrence or earlier"), + "ann-tmin-prbfst-t16fp50" = list(name = "ann-tmin-prbfst-t16fp50", units = "FIXME", description = "50% probability date of first 16F occurrence or earlier"), + "ann-tmin-prbfst-t16fp60" = list(name = "ann-tmin-prbfst-t16fp60", units = "FIXME", description = "60% probability date of first 16F occurrence or earlier"), + "ann-tmin-prbfst-t16fp70" = list(name = "ann-tmin-prbfst-t16fp70", units = "FIXME", description = "70% probability date of first 16F occurrence or earlier"), + "ann-tmin-prbfst-t16fp80" = list(name = "ann-tmin-prbfst-t16fp80", units = "FIXME", description = "80% probability date of first 16F occurrence or earlier"), + "ann-tmin-prbfst-t16fp90" = list(name = "ann-tmin-prbfst-t16fp90", units = "FIXME", description = "90% probability date of first 16F occurrence or earlier"), + "ann-tmin-prbfst-t20fp10" = list(name = "ann-tmin-prbfst-t20fp10", units = "FIXME", description = "10% probability date of first 20F occurrence or earlier"), + "ann-tmin-prbfst-t20fp20" = list(name = "ann-tmin-prbfst-t20fp20", units = "FIXME", description = "20% probability date of first 20F occurrence or earlier"), + "ann-tmin-prbfst-t20fp30" = list(name = "ann-tmin-prbfst-t20fp30", units = "FIXME", description = "30% probability date of first 20F occurrence or earlier"), + "ann-tmin-prbfst-t20fp40" = list(name = "ann-tmin-prbfst-t20fp40", units = "FIXME", description = "40% probability date of first 20F occurrence or earlier"), + "ann-tmin-prbfst-t20fp50" = list(name = "ann-tmin-prbfst-t20fp50", units = "FIXME", description = "50% probability date of first 20F occurrence or earlier"), + "ann-tmin-prbfst-t20fp60" = list(name = "ann-tmin-prbfst-t20fp60", units = "FIXME", description = "60% probability date of first 20F occurrence or earlier"), + "ann-tmin-prbfst-t20fp70" = list(name = "ann-tmin-prbfst-t20fp70", units = "FIXME", description = "70% probability date of first 20F occurrence or earlier"), + "ann-tmin-prbfst-t20fp80" = list(name = "ann-tmin-prbfst-t20fp80", units = "FIXME", description = "80% probability date of first 20F occurrence or earlier"), + "ann-tmin-prbfst-t20fp90" = list(name = "ann-tmin-prbfst-t20fp90", units = "FIXME", description = "90% probability date of first 20F occurrence or earlier"), + "ann-tmin-prbfst-t24fp10" = list(name = "ann-tmin-prbfst-t24fp10", units = "FIXME", description = "10% probability date of first 24F occurrence or earlier"), + "ann-tmin-prbfst-t24fp20" = list(name = "ann-tmin-prbfst-t24fp20", units = "FIXME", description = "20% probability date of first 24F occurrence or earlier"), + "ann-tmin-prbfst-t24fp30" = list(name = "ann-tmin-prbfst-t24fp30", units = "FIXME", description = "30% probability date of first 24F occurrence or earlier"), + "ann-tmin-prbfst-t24fp40" = list(name = "ann-tmin-prbfst-t24fp40", units = "FIXME", description = "40% probability date of first 24F occurrence or earlier"), + "ann-tmin-prbfst-t24fp50" = list(name = "ann-tmin-prbfst-t24fp50", units = "FIXME", description = "50% probability date of first 24F occurrence or earlier"), + "ann-tmin-prbfst-t24fp60" = list(name = "ann-tmin-prbfst-t24fp60", units = "FIXME", description = "60% probability date of first 24F occurrence or earlier"), + "ann-tmin-prbfst-t24fp70" = list(name = "ann-tmin-prbfst-t24fp70", units = "FIXME", description = "70% probability date of first 24F occurrence or earlier"), + "ann-tmin-prbfst-t24fp80" = list(name = "ann-tmin-prbfst-t24fp80", units = "FIXME", description = "80% probability date of first 24F occurrence or earlier"), + "ann-tmin-prbfst-t24fp90" = list(name = "ann-tmin-prbfst-t24fp90", units = "FIXME", description = "90% probability date of first 24F occurrence or earlier"), + "ann-tmin-prbfst-t28fp10" = list(name = "ann-tmin-prbfst-t28fp10", units = "FIXME", description = "10% probability date of first 28F occurrence or earlier"), + "ann-tmin-prbfst-t28fp20" = list(name = "ann-tmin-prbfst-t28fp20", units = "FIXME", description = "20% probability date of first 28F occurrence or earlier"), + "ann-tmin-prbfst-t28fp30" = list(name = "ann-tmin-prbfst-t28fp30", units = "FIXME", description = "30% probability date of first 28F occurrence or earlier"), + "ann-tmin-prbfst-t28fp40" = list(name = "ann-tmin-prbfst-t28fp40", units = "FIXME", description = "40% probability date of first 28F occurrence or earlier"), + "ann-tmin-prbfst-t28fp50" = list(name = "ann-tmin-prbfst-t28fp50", units = "FIXME", description = "50% probability date of first 28F occurrence or earlier"), + "ann-tmin-prbfst-t28fp60" = list(name = "ann-tmin-prbfst-t28fp60", units = "FIXME", description = "60% probability date of first 28F occurrence or earlier"), + "ann-tmin-prbfst-t28fp70" = list(name = "ann-tmin-prbfst-t28fp70", units = "FIXME", description = "70% probability date of first 28F occurrence or earlier"), + "ann-tmin-prbfst-t28fp80" = list(name = "ann-tmin-prbfst-t28fp80", units = "FIXME", description = "80% probability date of first 28F occurrence or earlier"), + "ann-tmin-prbfst-t28fp90" = list(name = "ann-tmin-prbfst-t28fp90", units = "FIXME", description = "90% probability date of first 28F occurrence or earlier"), + "ann-tmin-prbfst-t32fp10" = list(name = "ann-tmin-prbfst-t32fp10", units = "FIXME", description = "10% probability date of first 32F occurrence or earlier"), + "ann-tmin-prbfst-t32fp20" = list(name = "ann-tmin-prbfst-t32fp20", units = "FIXME", description = "20% probability date of first 32F occurrence or earlier"), + "ann-tmin-prbfst-t32fp30" = list(name = "ann-tmin-prbfst-t32fp30", units = "FIXME", description = "30% probability date of first 32F occurrence or earlier"), + "ann-tmin-prbfst-t32fp40" = list(name = "ann-tmin-prbfst-t32fp40", units = "FIXME", description = "40% probability date of first 32F occurrence or earlier"), + "ann-tmin-prbfst-t32fp50" = list(name = "ann-tmin-prbfst-t32fp50", units = "FIXME", description = "50% probability date of first 32F occurrence or earlier"), + "ann-tmin-prbfst-t32fp60" = list(name = "ann-tmin-prbfst-t32fp60", units = "FIXME", description = "60% probability date of first 32F occurrence or earlier"), + "ann-tmin-prbfst-t32fp70" = list(name = "ann-tmin-prbfst-t32fp70", units = "FIXME", description = "70% probability date of first 32F occurrence or earlier"), + "ann-tmin-prbfst-t32fp80" = list(name = "ann-tmin-prbfst-t32fp80", units = "FIXME", description = "80% probability date of first 32F occurrence or earlier"), + "ann-tmin-prbfst-t32fp90" = list(name = "ann-tmin-prbfst-t32fp90", units = "FIXME", description = "90% probability date of first 32F occurrence or earlier"), + "ann-tmin-prbfst-t36fp10" = list(name = "ann-tmin-prbfst-t36fp10", units = "FIXME", description = "10% probability date of first 36F occurrence or earlier"), + "ann-tmin-prbfst-t36fp20" = list(name = "ann-tmin-prbfst-t36fp20", units = "FIXME", description = "20% probability date of first 36F occurrence or earlier"), + "ann-tmin-prbfst-t36fp30" = list(name = "ann-tmin-prbfst-t36fp30", units = "FIXME", description = "30% probability date of first 36F occurrence or earlier"), + "ann-tmin-prbfst-t36fp40" = list(name = "ann-tmin-prbfst-t36fp40", units = "FIXME", description = "40% probability date of first 36F occurrence or earlier"), + "ann-tmin-prbfst-t36fp50" = list(name = "ann-tmin-prbfst-t36fp50", units = "FIXME", description = "50% probability date of first 36F occurrence or earlier"), + "ann-tmin-prbfst-t36fp60" = list(name = "ann-tmin-prbfst-t36fp60", units = "FIXME", description = "60% probability date of first 36F occurrence or earlier"), + "ann-tmin-prbfst-t36fp70" = list(name = "ann-tmin-prbfst-t36fp70", units = "FIXME", description = "70% probability date of first 36F occurrence or earlier"), + "ann-tmin-prbfst-t36fp80" = list(name = "ann-tmin-prbfst-t36fp80", units = "FIXME", description = "80% probability date of first 36F occurrence or earlier"), + "ann-tmin-prbfst-t36fp90" = list(name = "ann-tmin-prbfst-t36fp90", units = "FIXME", description = "90% probability date of first 36F occurrence or earlier"), + "ann-tmin-prbgsl-t16fp10" = list(name = "ann-tmin-prbgsl-t16fp10", units = "FIXME", description = "10% probability of 16F growing season length or longer"), + "ann-tmin-prbgsl-t16fp20" = list(name = "ann-tmin-prbgsl-t16fp20", units = "FIXME", description = "20% probability of 16F growing season length or longer"), + "ann-tmin-prbgsl-t16fp30" = list(name = "ann-tmin-prbgsl-t16fp30", units = "FIXME", description = "30% probability of 16F growing season length or longer"), + "ann-tmin-prbgsl-t16fp40" = list(name = "ann-tmin-prbgsl-t16fp40", units = "FIXME", description = "40% probability of 16F growing season length or longer"), + "ann-tmin-prbgsl-t16fp50" = list(name = "ann-tmin-prbgsl-t16fp50", units = "FIXME", description = "50% probability of 16F growing season length or longer"), + "ann-tmin-prbgsl-t16fp60" = list(name = "ann-tmin-prbgsl-t16fp60", units = "FIXME", description = "60% probability of 16F growing season length or longer"), + "ann-tmin-prbgsl-t16fp70" = list(name = "ann-tmin-prbgsl-t16fp70", units = "FIXME", description = "70% probability of 16F growing season length or longer"), + "ann-tmin-prbgsl-t16fp80" = list(name = "ann-tmin-prbgsl-t16fp80", units = "FIXME", description = "80% probability of 16F growing season length or longer"), + "ann-tmin-prbgsl-t16fp90" = list(name = "ann-tmin-prbgsl-t16fp90", units = "FIXME", description = "90% probability of 16F growing season length or longer"), + "ann-tmin-prbgsl-t20fp10" = list(name = "ann-tmin-prbgsl-t20fp10", units = "FIXME", description = "10% probability of 20F growing season length or longer"), + "ann-tmin-prbgsl-t20fp20" = list(name = "ann-tmin-prbgsl-t20fp20", units = "FIXME", description = "20% probability of 20F growing season length or longer"), + "ann-tmin-prbgsl-t20fp30" = list(name = "ann-tmin-prbgsl-t20fp30", units = "FIXME", description = "30% probability of 20F growing season length or longer"), + "ann-tmin-prbgsl-t20fp40" = list(name = "ann-tmin-prbgsl-t20fp40", units = "FIXME", description = "40% probability of 20F growing season length or longer"), + "ann-tmin-prbgsl-t20fp50" = list(name = "ann-tmin-prbgsl-t20fp50", units = "FIXME", description = "50% probability of 20F growing season length or longer"), + "ann-tmin-prbgsl-t20fp60" = list(name = "ann-tmin-prbgsl-t20fp60", units = "FIXME", description = "60% probability of 20F growing season length or longer"), + "ann-tmin-prbgsl-t20fp70" = list(name = "ann-tmin-prbgsl-t20fp70", units = "FIXME", description = "70% probability of 20F growing season length or longer"), + "ann-tmin-prbgsl-t20fp80" = list(name = "ann-tmin-prbgsl-t20fp80", units = "FIXME", description = "80% probability of 20F growing season length or longer"), + "ann-tmin-prbgsl-t20fp90" = list(name = "ann-tmin-prbgsl-t20fp90", units = "FIXME", description = "90% probability of 20F growing season length or longer"), + "ann-tmin-prbgsl-t24fp10" = list(name = "ann-tmin-prbgsl-t24fp10", units = "FIXME", description = "10% probability of 24F growing season length or longer"), + "ann-tmin-prbgsl-t24fp20" = list(name = "ann-tmin-prbgsl-t24fp20", units = "FIXME", description = "20% probability of 24F growing season length or longer"), + "ann-tmin-prbgsl-t24fp30" = list(name = "ann-tmin-prbgsl-t24fp30", units = "FIXME", description = "30% probability of 24F growing season length or longer"), + "ann-tmin-prbgsl-t24fp40" = list(name = "ann-tmin-prbgsl-t24fp40", units = "FIXME", description = "40% probability of 24F growing season length or longer"), + "ann-tmin-prbgsl-t24fp50" = list(name = "ann-tmin-prbgsl-t24fp50", units = "FIXME", description = "50% probability of 24F growing season length or longer"), + "ann-tmin-prbgsl-t24fp60" = list(name = "ann-tmin-prbgsl-t24fp60", units = "FIXME", description = "60% probability of 24F growing season length or longer"), + "ann-tmin-prbgsl-t24fp70" = list(name = "ann-tmin-prbgsl-t24fp70", units = "FIXME", description = "70% probability of 24F growing season length or longer"), + "ann-tmin-prbgsl-t24fp80" = list(name = "ann-tmin-prbgsl-t24fp80", units = "FIXME", description = "80% probability of 24F growing season length or longer"), + "ann-tmin-prbgsl-t24fp90" = list(name = "ann-tmin-prbgsl-t24fp90", units = "FIXME", description = "90% probability of 24F growing season length or longer"), + "ann-tmin-prbgsl-t28fp10" = list(name = "ann-tmin-prbgsl-t28fp10", units = "FIXME", description = "10% probability of 28F growing season length or longer"), + "ann-tmin-prbgsl-t28fp20" = list(name = "ann-tmin-prbgsl-t28fp20", units = "FIXME", description = "20% probability of 28F growing season length or longer"), + "ann-tmin-prbgsl-t28fp30" = list(name = "ann-tmin-prbgsl-t28fp30", units = "FIXME", description = "30% probability of 28F growing season length or longer"), + "ann-tmin-prbgsl-t28fp40" = list(name = "ann-tmin-prbgsl-t28fp40", units = "FIXME", description = "40% probability of 28F growing season length or longer"), + "ann-tmin-prbgsl-t28fp50" = list(name = "ann-tmin-prbgsl-t28fp50", units = "FIXME", description = "50% probability of 28F growing season length or longer"), + "ann-tmin-prbgsl-t28fp60" = list(name = "ann-tmin-prbgsl-t28fp60", units = "FIXME", description = "60% probability of 28F growing season length or longer"), + "ann-tmin-prbgsl-t28fp70" = list(name = "ann-tmin-prbgsl-t28fp70", units = "FIXME", description = "70% probability of 28F growing season length or longer"), + "ann-tmin-prbgsl-t28fp80" = list(name = "ann-tmin-prbgsl-t28fp80", units = "FIXME", description = "80% probability of 28F growing season length or longer"), + "ann-tmin-prbgsl-t28fp90" = list(name = "ann-tmin-prbgsl-t28fp90", units = "FIXME", description = "90% probability of 28F growing season length or longer"), + "ann-tmin-prbgsl-t32fp10" = list(name = "ann-tmin-prbgsl-t32fp10", units = "FIXME", description = "10% probability of 32F growing season length or longer"), + "ann-tmin-prbgsl-t32fp20" = list(name = "ann-tmin-prbgsl-t32fp20", units = "FIXME", description = "20% probability of 32F growing season length or longer"), + "ann-tmin-prbgsl-t32fp30" = list(name = "ann-tmin-prbgsl-t32fp30", units = "FIXME", description = "30% probability of 32F growing season length or longer"), + "ann-tmin-prbgsl-t32fp40" = list(name = "ann-tmin-prbgsl-t32fp40", units = "FIXME", description = "40% probability of 32F growing season length or longer"), + "ann-tmin-prbgsl-t32fp50" = list(name = "ann-tmin-prbgsl-t32fp50", units = "FIXME", description = "50% probability of 32F growing season length or longer"), + "ann-tmin-prbgsl-t32fp60" = list(name = "ann-tmin-prbgsl-t32fp60", units = "FIXME", description = "60% probability of 32F growing season length or longer"), + "ann-tmin-prbgsl-t32fp70" = list(name = "ann-tmin-prbgsl-t32fp70", units = "FIXME", description = "70% probability of 32F growing season length or longer"), + "ann-tmin-prbgsl-t32fp80" = list(name = "ann-tmin-prbgsl-t32fp80", units = "FIXME", description = "80% probability of 32F growing season length or longer"), + "ann-tmin-prbgsl-t32fp90" = list(name = "ann-tmin-prbgsl-t32fp90", units = "FIXME", description = "90% probability of 32F growing season length or longer"), + "ann-tmin-prbgsl-t36fp10" = list(name = "ann-tmin-prbgsl-t36fp10", units = "FIXME", description = "10% probability of 36F growing season length or longer"), + "ann-tmin-prbgsl-t36fp20" = list(name = "ann-tmin-prbgsl-t36fp20", units = "FIXME", description = "20% probability of 36F growing season length or longer"), + "ann-tmin-prbgsl-t36fp30" = list(name = "ann-tmin-prbgsl-t36fp30", units = "FIXME", description = "30% probability of 36F growing season length or longer"), + "ann-tmin-prbgsl-t36fp40" = list(name = "ann-tmin-prbgsl-t36fp40", units = "FIXME", description = "40% probability of 36F growing season length or longer"), + "ann-tmin-prbgsl-t36fp50" = list(name = "ann-tmin-prbgsl-t36fp50", units = "FIXME", description = "50% probability of 36F growing season length or longer"), + "ann-tmin-prbgsl-t36fp60" = list(name = "ann-tmin-prbgsl-t36fp60", units = "FIXME", description = "60% probability of 36F growing season length or longer"), + "ann-tmin-prbgsl-t36fp70" = list(name = "ann-tmin-prbgsl-t36fp70", units = "FIXME", description = "70% probability of 36F growing season length or longer"), + "ann-tmin-prbgsl-t36fp80" = list(name = "ann-tmin-prbgsl-t36fp80", units = "FIXME", description = "80% probability of 36F growing season length or longer"), + "ann-tmin-prbgsl-t36fp90" = list(name = "ann-tmin-prbgsl-t36fp90", units = "FIXME", description = "90% probability of 36F growing season length or longer"), + "ann-tmin-prblst-t16fp10" = list(name = "ann-tmin-prblst-t16fp10", units = "FIXME", description = "10% probability date of last 16F occurrence or earlier"), + "ann-tmin-prblst-t16fp20" = list(name = "ann-tmin-prblst-t16fp20", units = "FIXME", description = "20% probability date of last 16F occurrence or earlier"), + "ann-tmin-prblst-t16fp30" = list(name = "ann-tmin-prblst-t16fp30", units = "FIXME", description = "30% probability date of last 16F occurrence or earlier"), + "ann-tmin-prblst-t16fp40" = list(name = "ann-tmin-prblst-t16fp40", units = "FIXME", description = "40% probability date of last 16F occurrence or earlier"), + "ann-tmin-prblst-t16fp50" = list(name = "ann-tmin-prblst-t16fp50", units = "FIXME", description = "50% probability date of last 16F occurrence or earlier"), + "ann-tmin-prblst-t16fp60" = list(name = "ann-tmin-prblst-t16fp60", units = "FIXME", description = "60% probability date of last 16F occurrence or earlier"), + "ann-tmin-prblst-t16fp70" = list(name = "ann-tmin-prblst-t16fp70", units = "FIXME", description = "70% probability date of last 16F occurrence or earlier"), + "ann-tmin-prblst-t16fp80" = list(name = "ann-tmin-prblst-t16fp80", units = "FIXME", description = "80% probability date of last 16F occurrence or earlier"), + "ann-tmin-prblst-t16fp90" = list(name = "ann-tmin-prblst-t16fp90", units = "FIXME", description = "90% probability date of last 16F occurrence or earlier"), + "ann-tmin-prblst-t20fp10" = list(name = "ann-tmin-prblst-t20fp10", units = "FIXME", description = "10% probability date of last 20F occurrence or earlier"), + "ann-tmin-prblst-t20fp20" = list(name = "ann-tmin-prblst-t20fp20", units = "FIXME", description = "20% probability date of last 20F occurrence or earlier"), + "ann-tmin-prblst-t20fp30" = list(name = "ann-tmin-prblst-t20fp30", units = "FIXME", description = "30% probability date of last 20F occurrence or earlier"), + "ann-tmin-prblst-t20fp40" = list(name = "ann-tmin-prblst-t20fp40", units = "FIXME", description = "40% probability date of last 20F occurrence or earlier"), + "ann-tmin-prblst-t20fp50" = list(name = "ann-tmin-prblst-t20fp50", units = "FIXME", description = "50% probability date of last 20F occurrence or earlier"), + "ann-tmin-prblst-t20fp60" = list(name = "ann-tmin-prblst-t20fp60", units = "FIXME", description = "60% probability date of last 20F occurrence or earlier"), + "ann-tmin-prblst-t20fp70" = list(name = "ann-tmin-prblst-t20fp70", units = "FIXME", description = "70% probability date of last 20F occurrence or earlier"), + "ann-tmin-prblst-t20fp80" = list(name = "ann-tmin-prblst-t20fp80", units = "FIXME", description = "80% probability date of last 20F occurrence or earlier"), + "ann-tmin-prblst-t20fp90" = list(name = "ann-tmin-prblst-t20fp90", units = "FIXME", description = "90% probability date of last 20F occurrence or earlier"), + "ann-tmin-prblst-t24fp10" = list(name = "ann-tmin-prblst-t24fp10", units = "FIXME", description = "10% probability date of last 24F occurrence or earlier"), + "ann-tmin-prblst-t24fp20" = list(name = "ann-tmin-prblst-t24fp20", units = "FIXME", description = "20% probability date of last 24F occurrence or earlier"), + "ann-tmin-prblst-t24fp30" = list(name = "ann-tmin-prblst-t24fp30", units = "FIXME", description = "30% probability date of last 24F occurrence or earlier"), + "ann-tmin-prblst-t24fp40" = list(name = "ann-tmin-prblst-t24fp40", units = "FIXME", description = "40% probability date of last 24F occurrence or earlier"), + "ann-tmin-prblst-t24fp50" = list(name = "ann-tmin-prblst-t24fp50", units = "FIXME", description = "50% probability date of last 24F occurrence or earlier"), + "ann-tmin-prblst-t24fp60" = list(name = "ann-tmin-prblst-t24fp60", units = "FIXME", description = "60% probability date of last 24F occurrence or earlier"), + "ann-tmin-prblst-t24fp70" = list(name = "ann-tmin-prblst-t24fp70", units = "FIXME", description = "70% probability date of last 24F occurrence or earlier"), + "ann-tmin-prblst-t24fp80" = list(name = "ann-tmin-prblst-t24fp80", units = "FIXME", description = "80% probability date of last 24F occurrence or earlier"), + "ann-tmin-prblst-t24fp90" = list(name = "ann-tmin-prblst-t24fp90", units = "FIXME", description = "90% probability date of last 24F occurrence or earlier"), + "ann-tmin-prblst-t28fp10" = list(name = "ann-tmin-prblst-t28fp10", units = "FIXME", description = "10% probability date of last 28F occurrence or earlier"), + "ann-tmin-prblst-t28fp20" = list(name = "ann-tmin-prblst-t28fp20", units = "FIXME", description = "20% probability date of last 28F occurrence or earlier"), + "ann-tmin-prblst-t28fp30" = list(name = "ann-tmin-prblst-t28fp30", units = "FIXME", description = "30% probability date of last 28F occurrence or earlier"), + "ann-tmin-prblst-t28fp40" = list(name = "ann-tmin-prblst-t28fp40", units = "FIXME", description = "40% probability date of last 28F occurrence or earlier"), + "ann-tmin-prblst-t28fp50" = list(name = "ann-tmin-prblst-t28fp50", units = "FIXME", description = "50% probability date of last 28F occurrence or earlier"), + "ann-tmin-prblst-t28fp60" = list(name = "ann-tmin-prblst-t28fp60", units = "FIXME", description = "60% probability date of last 28F occurrence or earlier"), + "ann-tmin-prblst-t28fp70" = list(name = "ann-tmin-prblst-t28fp70", units = "FIXME", description = "70% probability date of last 28F occurrence or earlier"), + "ann-tmin-prblst-t28fp80" = list(name = "ann-tmin-prblst-t28fp80", units = "FIXME", description = "80% probability date of last 28F occurrence or earlier"), + "ann-tmin-prblst-t28fp90" = list(name = "ann-tmin-prblst-t28fp90", units = "FIXME", description = "90% probability date of last 28F occurrence or earlier"), + "ann-tmin-prblst-t32fp10" = list(name = "ann-tmin-prblst-t32fp10", units = "FIXME", description = "10% probability date of last 32F occurrence or earlier"), + "ann-tmin-prblst-t32fp20" = list(name = "ann-tmin-prblst-t32fp20", units = "FIXME", description = "20% probability date of last 32F occurrence or earlier"), + "ann-tmin-prblst-t32fp30" = list(name = "ann-tmin-prblst-t32fp30", units = "FIXME", description = "30% probability date of last 32F occurrence or earlier"), + "ann-tmin-prblst-t32fp40" = list(name = "ann-tmin-prblst-t32fp40", units = "FIXME", description = "40% probability date of last 32F occurrence or earlier"), + "ann-tmin-prblst-t32fp50" = list(name = "ann-tmin-prblst-t32fp50", units = "FIXME", description = "50% probability date of last 32F occurrence or earlier"), + "ann-tmin-prblst-t32fp60" = list(name = "ann-tmin-prblst-t32fp60", units = "FIXME", description = "60% probability date of last 32F occurrence or earlier"), + "ann-tmin-prblst-t32fp70" = list(name = "ann-tmin-prblst-t32fp70", units = "FIXME", description = "70% probability date of last 32F occurrence or earlier"), + "ann-tmin-prblst-t32fp80" = list(name = "ann-tmin-prblst-t32fp80", units = "FIXME", description = "80% probability date of last 32F occurrence or earlier"), + "ann-tmin-prblst-t32fp90" = list(name = "ann-tmin-prblst-t32fp90", units = "FIXME", description = "90% probability date of last 32F occurrence or earlier"), + "ann-tmin-prblst-t36fp10" = list(name = "ann-tmin-prblst-t36fp10", units = "FIXME", description = "10% probability date of last 36F occurrence or earlier"), + "ann-tmin-prblst-t36fp20" = list(name = "ann-tmin-prblst-t36fp20", units = "FIXME", description = "20% probability date of last 36F occurrence or earlier"), + "ann-tmin-prblst-t36fp30" = list(name = "ann-tmin-prblst-t36fp30", units = "FIXME", description = "30% probability date of last 36F occurrence or earlier"), + "ann-tmin-prblst-t36fp40" = list(name = "ann-tmin-prblst-t36fp40", units = "FIXME", description = "40% probability date of last 36F occurrence or earlier"), + "ann-tmin-prblst-t36fp50" = list(name = "ann-tmin-prblst-t36fp50", units = "FIXME", description = "50% probability date of last 36F occurrence or earlier"), + "ann-tmin-prblst-t36fp60" = list(name = "ann-tmin-prblst-t36fp60", units = "FIXME", description = "60% probability date of last 36F occurrence or earlier"), + "ann-tmin-prblst-t36fp70" = list(name = "ann-tmin-prblst-t36fp70", units = "FIXME", description = "70% probability date of last 36F occurrence or earlier"), + "ann-tmin-prblst-t36fp80" = list(name = "ann-tmin-prblst-t36fp80", units = "FIXME", description = "80% probability date of last 36F occurrence or earlier"), + "ann-tmin-prblst-t36fp90" = list(name = "ann-tmin-prblst-t36fp90", units = "FIXME", description = "90% probability date of last 36F occurrence or earlier"), + "ann-tmin-prbocc-lsth016" = list(name = "ann-tmin-prbocc-lsth016", units = "FIXME", description = "probability of 16F or below at least once in the year"), + "ann-tmin-prbocc-lsth020" = list(name = "ann-tmin-prbocc-lsth020", units = "FIXME", description = "probability of 20F or below at least once in the year"), + "ann-tmin-prbocc-lsth024" = list(name = "ann-tmin-prbocc-lsth024", units = "FIXME", description = "probability of 24F or below at least once in the year"), + "ann-tmin-prbocc-lsth028" = list(name = "ann-tmin-prbocc-lsth028", units = "FIXME", description = "probability of 28F or below at least once in the year"), + "ann-tmin-prbocc-lsth032" = list(name = "ann-tmin-prbocc-lsth032", units = "FIXME", description = "probability of 32F or below at least once in the year"), + "ann-tmin-prbocc-lsth036" = list(name = "ann-tmin-prbocc-lsth036", units = "FIXME", description = "probability of 36F or below at least once in the year"), + "ytd-prcp-normal" = list(name = "ytd-prcp-normal", units = "FIXME", description = "Long-term average year-to-date precipitation totals"), + "ytd-snow-normal" = list(name = "ytd-snow-normal", units = "FIXME", description = "Long-term average year-to-date snowfall totals"), + "djf-cldd-base45" = list(name = "djf-cldd-base45", units = "FIXME", description = "Long-term averages of winter cooling degree days with base 45F"), + "djf-cldd-base50" = list(name = "djf-cldd-base50", units = "FIXME", description = "Long-term averages of winter cooling degree days with base 50F"), + "djf-cldd-base55" = list(name = "djf-cldd-base55", units = "FIXME", description = "Long-term averages of winter cooling degree days with base 55F"), + "djf-cldd-base57" = list(name = "djf-cldd-base57", units = "FIXME", description = "Long-term averages of winter cooling degree days with base 57F"), + "djf-cldd-base60" = list(name = "djf-cldd-base60", units = "FIXME", description = "Long-term averages of winter cooling degree days with base 60F"), + "djf-cldd-base70" = list(name = "djf-cldd-base70", units = "FIXME", description = "Long-term averages of winter cooling degree days with base 70F"), + "djf-cldd-base72" = list(name = "djf-cldd-base72", units = "FIXME", description = "Long-term averages of winter cooling degree days with base 72F"), + "djf-cldd-normal" = list(name = "djf-cldd-normal", units = "FIXME", description = "Long-term averages of winter cooling degree days with base 65F"), + "djf-dutr-normal" = list(name = "djf-dutr-normal", units = "FIXME", description = "Long-term averages of winter diurnal temperature range"), + "djf-grdd-tb4886" = list(name = "djf-grdd-tb4886", units = "FIXME", description = "Long-term averages of winter growing degree days with truncated bases 48F & 86F"), + "djf-grdd-tb5086" = list(name = "djf-grdd-tb5086", units = "FIXME", description = "Long-term averages of winter growing degree days with truncated bases 50F & 86F"), + "djf-grdd-base40" = list(name = "djf-grdd-base40", units = "FIXME", description = "Long-term averages of winter growing degree days with base 40F"), + "djf-grdd-base45" = list(name = "djf-grdd-base45", units = "FIXME", description = "Long-term averages of winter growing degree days with base 45F"), + "djf-grdd-base50" = list(name = "djf-grdd-base50", units = "FIXME", description = "Long-term averages of winter growing degree days with base 50F"), + "djf-grdd-base55" = list(name = "djf-grdd-base55", units = "FIXME", description = "Long-term averages of winter growing degree days with base 55F"), + "djf-grdd-base57" = list(name = "djf-grdd-base57", units = "FIXME", description = "Long-term averages of winter growing degree days with base 57F"), + "djf-grdd-base60" = list(name = "djf-grdd-base60", units = "FIXME", description = "Long-term averages of winter growing degree days with base 60F"), + "djf-grdd-base65" = list(name = "djf-grdd-base65", units = "FIXME", description = "Long-term averages of winter growing degree days with base 65F"), + "djf-grdd-base70" = list(name = "djf-grdd-base70", units = "FIXME", description = "Long-term averages of winter growing degree days with base 70F"), + "djf-grdd-base72" = list(name = "djf-grdd-base72", units = "FIXME", description = "Long-term averages of winter growing degree days with base 72F"), + "djf-htdd-base40" = list(name = "djf-htdd-base40", units = "FIXME", description = "Long-term averages of winter heating degree days with base 40F"), + "djf-htdd-base45" = list(name = "djf-htdd-base45", units = "FIXME", description = "Long-term averages of winter heating degree days with base 45F"), + "djf-htdd-base50" = list(name = "djf-htdd-base50", units = "FIXME", description = "Long-term averages of winter heating degree days with base 50F"), + "djf-htdd-base55" = list(name = "djf-htdd-base55", units = "FIXME", description = "Long-term averages of winter heating degree days with base 55F"), + "djf-htdd-base57" = list(name = "djf-htdd-base57", units = "FIXME", description = "Long-term averages of winter heating degree days with base 57F"), + "djf-htdd-base60" = list(name = "djf-htdd-base60", units = "FIXME", description = "Long-term averages of winter heating degree days with base 60F"), + "djf-htdd-normal" = list(name = "djf-htdd-normal", units = "FIXME", description = "Long-term averages of winter heating degree days with base 65F"), + "djf-prcp-avgnds-ge001hi" = list(name = "djf-prcp-avgnds-ge001hi", units = "FIXME", description = "Long-term averages of number of days during December-February with precipitation >= 0.01 inches"), + "djf-prcp-avgnds-ge010hi" = list(name = "djf-prcp-avgnds-ge010hi", units = "FIXME", description = "Long-term averages of number of days during December-February with precipitation >= 0.10 inches"), + "djf-prcp-avgnds-ge050hi" = list(name = "djf-prcp-avgnds-ge050hi", units = "FIXME", description = "Long-term averages of number of days during December-February with precipitation >= 0.50 inches"), + "djf-prcp-avgnds-ge100hi" = list(name = "djf-prcp-avgnds-ge100hi", units = "FIXME", description = "Long-term averages of number of days during December-February with precipitation >= 1.00 inches"), + "djf-prcp-normal" = list(name = "djf-prcp-normal", units = "FIXME", description = "Long-term averages of seasonal precipitation totals for December-February"), + "djf-snow-avgnds-ge001ti" = list(name = "djf-snow-avgnds-ge001ti", units = "FIXME", description = "Long-term averages of number of days during December-February with snowfall >= 0.1 inches"), + "djf-snow-avgnds-ge010ti" = list(name = "djf-snow-avgnds-ge010ti", units = "FIXME", description = "Long-term averages of number of days during December-February with snowfall >= 1.0 inches"), + "djf-snow-avgnds-ge030ti" = list(name = "djf-snow-avgnds-ge030ti", units = "FIXME", description = "Long-term averages of number of days during December-February with snowfall >= 3.0 inches"), + "djf-snow-avgnds-ge050ti" = list(name = "djf-snow-avgnds-ge050ti", units = "FIXME", description = "Long-term averages of number of days during December-February with snowfall >= 5.0 inches"), + "djf-snow-avgnds-ge100ti" = list(name = "djf-snow-avgnds-ge100ti", units = "FIXME", description = "Long-term averages of number of days during December-February with snowfall >= 10.0 inches"), + "djf-snow-normal" = list(name = "djf-snow-normal", units = "FIXME", description = "Long-term averages of seasonal snowfall totals for December-February"), + "djf-snwd-avgnds-ge001wi" = list(name = "djf-snwd-avgnds-ge001wi", units = "FIXME", description = "Long-term averages of number of days during December-February with snow depth >= 1 inch"), + "djf-snwd-avgnds-ge003wi" = list(name = "djf-snwd-avgnds-ge003wi", units = "FIXME", description = "Long-term averages of number of days during December-February with snow depth >= 3 inches"), + "djf-snwd-avgnds-ge005wi" = list(name = "djf-snwd-avgnds-ge005wi", units = "FIXME", description = "Long-term averages of number of days during December-February with snow depth >= 5 inches"), + "djf-snwd-avgnds-ge010wi" = list(name = "djf-snwd-avgnds-ge010wi", units = "FIXME", description = "Long-term averages of number of days during December-February with snow depth >= 10 inches"), + "djf-tavg-normal" = list(name = "djf-tavg-normal", units = "FIXME", description = "Long-term averages of winter average temperature"), + "djf-tmax-avgnds-grth040" = list(name = "djf-tmax-avgnds-grth040", units = "FIXME", description = "Long-term average number of days per winter where tmax is greater than or equal to 40F"), + "djf-tmax-avgnds-grth050" = list(name = "djf-tmax-avgnds-grth050", units = "FIXME", description = "Long-term average number of days per winter where tmax is greater than or equal to 50F"), + "djf-tmax-avgnds-grth060" = list(name = "djf-tmax-avgnds-grth060", units = "FIXME", description = "Long-term average number of days per winter where tmax is greater than or equal to 60F"), + "djf-tmax-avgnds-grth070" = list(name = "djf-tmax-avgnds-grth070", units = "FIXME", description = "Long-term average number of days per winter where tmax is greater than or equal to 70F"), + "djf-tmax-avgnds-grth080" = list(name = "djf-tmax-avgnds-grth080", units = "FIXME", description = "Long-term average number of days per winter where tmax is greater than or equal to 80F"), + "djf-tmax-avgnds-grth090" = list(name = "djf-tmax-avgnds-grth090", units = "FIXME", description = "Long-term average number of days per winter where tmax is greater than or equal to 90F"), + "djf-tmax-avgnds-grth100" = list(name = "djf-tmax-avgnds-grth100", units = "FIXME", description = "Long-term average number of days per winter where tmax is greater than or equal to 100F"), + "djf-tmax-avgnds-lsth032" = list(name = "djf-tmax-avgnds-lsth032", units = "FIXME", description = "Long-term average number of days per winter where tmax is less than or equal to 32F"), + "djf-tmax-normal" = list(name = "djf-tmax-normal", units = "FIXME", description = "Long-term averages of winter maximum temperature"), + "djf-tmin-avgnds-lsth000" = list(name = "djf-tmin-avgnds-lsth000", units = "FIXME", description = "Long-term average number of days per winter where tmin is less than or equal to 0F"), + "djf-tmin-avgnds-lsth010" = list(name = "djf-tmin-avgnds-lsth010", units = "FIXME", description = "Long-term average number of days per winter where tmin is less than or equal to 10F"), + "djf-tmin-avgnds-lsth020" = list(name = "djf-tmin-avgnds-lsth020", units = "FIXME", description = "Long-term average number of days per winter where tmin is less than or equal to 20F"), + "djf-tmin-avgnds-lsth032" = list(name = "djf-tmin-avgnds-lsth032", units = "FIXME", description = "Long-term average number of days per winter where tmin is less than or equal to 32F"), + "djf-tmin-avgnds-lsth040" = list(name = "djf-tmin-avgnds-lsth040", units = "FIXME", description = "Long-term average number of days per winter where tmin is less than or equal to 40F"), + "djf-tmin-avgnds-lsth050" = list(name = "djf-tmin-avgnds-lsth050", units = "FIXME", description = "Long-term average number of days per winter where tmin is less than or equal to 50F"), + "djf-tmin-avgnds-lsth060" = list(name = "djf-tmin-avgnds-lsth060", units = "FIXME", description = "Long-term average number of days per winter where tmin is less than or equal to 60F"), + "djf-tmin-avgnds-lsth070" = list(name = "djf-tmin-avgnds-lsth070", units = "FIXME", description = "Long-term average number of days per winter where tmin is less than or equal to 70F"), + "djf-tmin-normal" = list(name = "djf-tmin-normal", units = "FIXME", description = "Long-term averages of winter minimum temperature"), + "jja-cldd-base45" = list(name = "jja-cldd-base45", units = "FIXME", description = "Long-term averages of summer cooling degree days with base 45F"), + "jja-cldd-base50" = list(name = "jja-cldd-base50", units = "FIXME", description = "Long-term averages of summer cooling degree days with base 50F"), + "jja-cldd-base55" = list(name = "jja-cldd-base55", units = "FIXME", description = "Long-term averages of summer cooling degree days with base 55F"), + "jja-cldd-base57" = list(name = "jja-cldd-base57", units = "FIXME", description = "Long-term averages of summer cooling degree days with base 57F"), + "jja-cldd-base60" = list(name = "jja-cldd-base60", units = "FIXME", description = "Long-term averages of summer cooling degree days with base 60F"), + "jja-cldd-base70" = list(name = "jja-cldd-base70", units = "FIXME", description = "Long-term averages of summer cooling degree days with base 70F"), + "jja-cldd-base72" = list(name = "jja-cldd-base72", units = "FIXME", description = "Long-term averages of summer cooling degree days with base 72F"), + "jja-cldd-normal" = list(name = "jja-cldd-normal", units = "FIXME", description = "Long-term averages of summer cooling degree days with base 65F"), + "jja-dutr-normal" = list(name = "jja-dutr-normal", units = "FIXME", description = "Long-term averages of summer diurnal temperature range"), + "jja-grdd-tb4886" = list(name = "jja-grdd-tb4886", units = "FIXME", description = "Long-term averages of summer growing degree days with truncated bases 48F & 86F"), + "jja-grdd-tb5086" = list(name = "jja-grdd-tb5086", units = "FIXME", description = "Long-term averages of summer growing degree days with truncated bases 50F & 86F"), + "jja-grdd-base40" = list(name = "jja-grdd-base40", units = "FIXME", description = "Long-term averages of summer growing degree days with base 40F"), + "jja-grdd-base45" = list(name = "jja-grdd-base45", units = "FIXME", description = "Long-term averages of summer growing degree days with base 45F"), + "jja-grdd-base50" = list(name = "jja-grdd-base50", units = "FIXME", description = "Long-term averages of summer growing degree days with base 50F"), + "jja-grdd-base55" = list(name = "jja-grdd-base55", units = "FIXME", description = "Long-term averages of summer growing degree days with base 55F"), + "jja-grdd-base57" = list(name = "jja-grdd-base57", units = "FIXME", description = "Long-term averages of summer growing degree days with base 57F"), + "jja-grdd-base60" = list(name = "jja-grdd-base60", units = "FIXME", description = "Long-term averages of summer growing degree days with base 60F"), + "jja-grdd-base65" = list(name = "jja-grdd-base65", units = "FIXME", description = "Long-term averages of summer growing degree days with base 65F"), + "jja-grdd-base70" = list(name = "jja-grdd-base70", units = "FIXME", description = "Long-term averages of summer growing degree days with base 70F"), + "jja-grdd-base72" = list(name = "jja-grdd-base72", units = "FIXME", description = "Long-term averages of summer growing degree days with base 72F"), + "jja-htdd-base40" = list(name = "jja-htdd-base40", units = "FIXME", description = "Long-term averages of summer heating degree days with base 40F"), + "jja-htdd-base45" = list(name = "jja-htdd-base45", units = "FIXME", description = "Long-term averages of summer heating degree days with base 45F"), + "jja-htdd-base50" = list(name = "jja-htdd-base50", units = "FIXME", description = "Long-term averages of summer heating degree days with base 50F"), + "jja-htdd-base55" = list(name = "jja-htdd-base55", units = "FIXME", description = "Long-term averages of summer heating degree days with base 55F"), + "jja-htdd-base57" = list(name = "jja-htdd-base57", units = "FIXME", description = "Long-term averages of summer heating degree days with base 57F"), + "jja-htdd-base60" = list(name = "jja-htdd-base60", units = "FIXME", description = "Long-term averages of summer heating degree days with base 60F"), + "jja-htdd-normal" = list(name = "jja-htdd-normal", units = "FIXME", description = "Long-term averages of summer heating degree days with base 65F"), + "jja-prcp-avgnds-ge001hi" = list(name = "jja-prcp-avgnds-ge001hi", units = "FIXME", description = "Long-term averages of number of days during June-August with precipitation >= 0.01 inches"), + "jja-prcp-avgnds-ge010hi" = list(name = "jja-prcp-avgnds-ge010hi", units = "FIXME", description = "Long-term averages of number of days during June-August with precipitation >= 0.10 inches"), + "jja-prcp-avgnds-ge050hi" = list(name = "jja-prcp-avgnds-ge050hi", units = "FIXME", description = "Long-term averages of number of days during June-August with precipitation >= 0.50 inches"), + "jja-prcp-avgnds-ge100hi" = list(name = "jja-prcp-avgnds-ge100hi", units = "FIXME", description = "Long-term averages of number of days during June-August with precipitation >= 1.00 inches"), + "jja-prcp-normal" = list(name = "jja-prcp-normal", units = "FIXME", description = "Long-term averages of seasonal precipitation totals for June-August"), + "jja-snow-avgnds-ge001ti" = list(name = "jja-snow-avgnds-ge001ti", units = "FIXME", description = "Long-term averages of number of days during June-August with snowfall >= 0.1 inches"), + "jja-snow-avgnds-ge010ti" = list(name = "jja-snow-avgnds-ge010ti", units = "FIXME", description = "Long-term averages of number of days during June-August with snowfall >= 1.0 inches"), + "jja-snow-avgnds-ge030ti" = list(name = "jja-snow-avgnds-ge030ti", units = "FIXME", description = "Long-term averages of number of days during June-August with snowfall >= 3.0 inches"), + "jja-snow-avgnds-ge050ti" = list(name = "jja-snow-avgnds-ge050ti", units = "FIXME", description = "Long-term averages of number of days during June-August with snowfall >= 5.0 inches"), + "jja-snow-avgnds-ge100ti" = list(name = "jja-snow-avgnds-ge100ti", units = "FIXME", description = "Long-term averages of number of days during June-August with snowfall >= 10.0 inches"), + "jja-snow-normal" = list(name = "jja-snow-normal", units = "FIXME", description = "Long-term averages of seasonal snowfall totals for June-August"), + "jja-snwd-avgnds-ge001wi" = list(name = "jja-snwd-avgnds-ge001wi", units = "FIXME", description = "Long-term averages of number of days during June-August with snow depth >= 1 inch"), + "jja-snwd-avgnds-ge003wi" = list(name = "jja-snwd-avgnds-ge003wi", units = "FIXME", description = "Long-term averages of number of days during June-August with snow depth >= 3 inches"), + "jja-snwd-avgnds-ge005wi" = list(name = "jja-snwd-avgnds-ge005wi", units = "FIXME", description = "Long-term averages of number of days during June-August with snow depth >= 5 inches"), + "jja-snwd-avgnds-ge010wi" = list(name = "jja-snwd-avgnds-ge010wi", units = "FIXME", description = "Long-term averages of number of days during June-August with snow depth >= 10 inches"), + "jja-tavg-normal" = list(name = "jja-tavg-normal", units = "FIXME", description = "Long-term averages of summer average temperature"), + "jja-tmax-avgnds-grth040" = list(name = "jja-tmax-avgnds-grth040", units = "FIXME", description = "Long-term average number of days per summer where tmax is greater than or equal to 40F"), + "jja-tmax-avgnds-grth050" = list(name = "jja-tmax-avgnds-grth050", units = "FIXME", description = "Long-term average number of days per summer where tmax is greater than or equal to 50F"), + "jja-tmax-avgnds-grth060" = list(name = "jja-tmax-avgnds-grth060", units = "FIXME", description = "Long-term average number of days per summer where tmax is greater than or equal to 60F"), + "jja-tmax-avgnds-grth070" = list(name = "jja-tmax-avgnds-grth070", units = "FIXME", description = "Long-term average number of days per summer where tmax is greater than or equal to 70F"), + "jja-tmax-avgnds-grth080" = list(name = "jja-tmax-avgnds-grth080", units = "FIXME", description = "Long-term average number of days per summer where tmax is greater than or equal to 80F"), + "jja-tmax-avgnds-grth090" = list(name = "jja-tmax-avgnds-grth090", units = "FIXME", description = "Long-term average number of days per summer where tmax is greater than or equal to 90F"), + "jja-tmax-avgnds-grth100" = list(name = "jja-tmax-avgnds-grth100", units = "FIXME", description = "Long-term average number of days per summer where tmax is greater than or equal to 100F"), + "jja-tmax-avgnds-lsth032" = list(name = "jja-tmax-avgnds-lsth032", units = "FIXME", description = "Long-term average number of days per summer where tmax is less than or equal to 32F"), + "jja-tmax-normal" = list(name = "jja-tmax-normal", units = "FIXME", description = "Long-term averages of summer maximum temperature"), + "jja-tmin-avgnds-lsth000" = list(name = "jja-tmin-avgnds-lsth000", units = "FIXME", description = "Long-term average number of days per summer where tmin is less than or equal to 0F"), + "jja-tmin-avgnds-lsth010" = list(name = "jja-tmin-avgnds-lsth010", units = "FIXME", description = "Long-term average number of days per summer where tmin is less than or equal to 10F"), + "jja-tmin-avgnds-lsth020" = list(name = "jja-tmin-avgnds-lsth020", units = "FIXME", description = "Long-term average number of days per summer where tmin is less than or equal to 20F"), + "jja-tmin-avgnds-lsth032" = list(name = "jja-tmin-avgnds-lsth032", units = "FIXME", description = "Long-term average number of days per summer where tmin is less than or equal to 32F"), + "jja-tmin-avgnds-lsth040" = list(name = "jja-tmin-avgnds-lsth040", units = "FIXME", description = "Long-term average number of days per summer where tmin is less than or equal to 40F"), + "jja-tmin-avgnds-lsth050" = list(name = "jja-tmin-avgnds-lsth050", units = "FIXME", description = "Long-term average number of days per summer where tmin is less than or equal to 50F"), + "jja-tmin-avgnds-lsth060" = list(name = "jja-tmin-avgnds-lsth060", units = "FIXME", description = "Long-term average number of days per summer where tmin is less than or equal to 60F"), + "jja-tmin-avgnds-lsth070" = list(name = "jja-tmin-avgnds-lsth070", units = "FIXME", description = "Long-term average number of days per summer where tmin is less than or equal to 70F"), + "jja-tmin-normal" = list(name = "jja-tmin-normal", units = "FIXME", description = "Long-term averages of summer minimum temperature"), + "mam-cldd-base45" = list(name = "mam-cldd-base45", units = "FIXME", description = "Long-term averages of spring cooling degree days with base 45F"), + "mam-cldd-base50" = list(name = "mam-cldd-base50", units = "FIXME", description = "Long-term averages of spring cooling degree days with base 50F"), + "mam-cldd-base55" = list(name = "mam-cldd-base55", units = "FIXME", description = "Long-term averages of spring cooling degree days with base 55F"), + "mam-cldd-base57" = list(name = "mam-cldd-base57", units = "FIXME", description = "Long-term averages of spring cooling degree days with base 57F"), + "mam-cldd-base60" = list(name = "mam-cldd-base60", units = "FIXME", description = "Long-term averages of spring cooling degree days with base 60F"), + "mam-cldd-base70" = list(name = "mam-cldd-base70", units = "FIXME", description = "Long-term averages of spring cooling degree days with base 70F"), + "mam-cldd-base72" = list(name = "mam-cldd-base72", units = "FIXME", description = "Long-term averages of spring cooling degree days with base 72F"), + "mam-cldd-normal" = list(name = "mam-cldd-normal", units = "FIXME", description = "Long-term averages of spring cooling degree days with base 65F"), + "mam-dutr-normal" = list(name = "mam-dutr-normal", units = "FIXME", description = "Long-term averages of spring diurnal temperature range"), + "mam-grdd-tb4886" = list(name = "mam-grdd-tb4886", units = "FIXME", description = "Long-term averages of spring growing degree days with truncated bases 48F & 86F"), + "mam-grdd-tb5086" = list(name = "mam-grdd-tb5086", units = "FIXME", description = "Long-term averages of spring growing degree days with truncated bases 50F & 86F"), + "mam-grdd-base40" = list(name = "mam-grdd-base40", units = "FIXME", description = "Long-term averages of spring growing degree days with base 40F"), + "mam-grdd-base45" = list(name = "mam-grdd-base45", units = "FIXME", description = "Long-term averages of spring growing degree days with base 45F"), + "mam-grdd-base50" = list(name = "mam-grdd-base50", units = "FIXME", description = "Long-term averages of spring growing degree days with base 50F"), + "mam-grdd-base55" = list(name = "mam-grdd-base55", units = "FIXME", description = "Long-term averages of spring growing degree days with base 55F"), + "mam-grdd-base57" = list(name = "mam-grdd-base57", units = "FIXME", description = "Long-term averages of spring growing degree days with base 57F"), + "mam-grdd-base60" = list(name = "mam-grdd-base60", units = "FIXME", description = "Long-term averages of spring growing degree days with base 60F"), + "mam-grdd-base65" = list(name = "mam-grdd-base65", units = "FIXME", description = "Long-term averages of spring growing degree days with base 65F"), + "mam-grdd-base70" = list(name = "mam-grdd-base70", units = "FIXME", description = "Long-term averages of spring growing degree days with base 70F"), + "mam-grdd-base72" = list(name = "mam-grdd-base72", units = "FIXME", description = "Long-term averages of spring growing degree days with base 72F"), + "mam-htdd-base40" = list(name = "mam-htdd-base40", units = "FIXME", description = "Long-term averages of spring heating degree days with base 40F"), + "mam-htdd-base45" = list(name = "mam-htdd-base45", units = "FIXME", description = "Long-term averages of spring heating degree days with base 45F"), + "mam-htdd-base50" = list(name = "mam-htdd-base50", units = "FIXME", description = "Long-term averages of spring heating degree days with base 50F"), + "mam-htdd-base55" = list(name = "mam-htdd-base55", units = "FIXME", description = "Long-term averages of spring heating degree days with base 55F"), + "mam-htdd-base57" = list(name = "mam-htdd-base57", units = "FIXME", description = "Long-term averages of spring heating degree days with base 57F"), + "mam-htdd-base60" = list(name = "mam-htdd-base60", units = "FIXME", description = "Long-term averages of spring heating degree days with base 60F"), + "mam-htdd-normal" = list(name = "mam-htdd-normal", units = "FIXME", description = "Long-term averages of spring heating degree days with base 65F"), + "mam-prcp-avgnds-ge001hi" = list(name = "mam-prcp-avgnds-ge001hi", units = "FIXME", description = "Long-term averages of number of days during March-May with precipitation >= 0.01 inches"), + "mam-prcp-avgnds-ge010hi" = list(name = "mam-prcp-avgnds-ge010hi", units = "FIXME", description = "Long-term averages of number of days during March-May with precipitation >= a 0.10 inches"), + "mam-prcp-avgnds-ge050hi" = list(name = "mam-prcp-avgnds-ge050hi", units = "FIXME", description = "Long-term averages of number of days during March-May with precipitation >= 0.50 inches"), + "mam-prcp-avgnds-ge100hi" = list(name = "mam-prcp-avgnds-ge100hi", units = "FIXME", description = "Long-term averages of number of days during March-May with precipitation >= 1.00 inches"), + "mam-prcp-normal" = list(name = "mam-prcp-normal", units = "FIXME", description = "Long-term averages of seasonal precipitation totals for March-May"), + "mam-snow-avgnds-ge001ti" = list(name = "mam-snow-avgnds-ge001ti", units = "FIXME", description = "Long-term averages of number of days during March-May with snowfall >= 0.1 inches"), + "mam-snow-avgnds-ge010ti" = list(name = "mam-snow-avgnds-ge010ti", units = "FIXME", description = "Long-term averages of number of days during March-May with snowfall >= 1.0 inches"), + "mam-snow-avgnds-ge030ti" = list(name = "mam-snow-avgnds-ge030ti", units = "FIXME", description = "Long-term averages of number of days during March-May withsnowfall >= 3.0 inches"), + "mam-snow-avgnds-ge050ti" = list(name = "mam-snow-avgnds-ge050ti", units = "FIXME", description = "Long-term averages of number of days during March-May with snowfall >= 5.0 inches"), + "mam-snow-avgnds-ge100ti" = list(name = "mam-snow-avgnds-ge100ti", units = "FIXME", description = "Long-term averages of number of days during March-May with snowfall >= 10.0 inches"), + "mam-snow-normal" = list(name = "mam-snow-normal", units = "FIXME", description = "Long-term averages of seasonal snowfall totals for March-May"), + "mam-snwd-avgnds-ge001wi" = list(name = "mam-snwd-avgnds-ge001wi", units = "FIXME", description = "Long-term averages of number of days during March-May with snow depth >= 1 inches"), + "mam-snwd-avgnds-ge003wi" = list(name = "mam-snwd-avgnds-ge003wi", units = "FIXME", description = "Long-term averages of number of days during March-May with snow depth >= 3 inches"), + "mam-snwd-avgnds-ge005wi" = list(name = "mam-snwd-avgnds-ge005wi", units = "FIXME", description = "Long-term averages of number of days during March-May with snow depth >= 5 inches"), + "mam-snwd-avgnds-ge010wi" = list(name = "mam-snwd-avgnds-ge010wi", units = "FIXME", description = "Long-term averages of number of days during March-May with snow depth >= 10 inches"), + "mam-tavg-normal" = list(name = "mam-tavg-normal", units = "FIXME", description = "Long-term averages of spring average temperature "), + "mam-tmax-avgnds-grth040" = list(name = "mam-tmax-avgnds-grth040", units = "FIXME", description = "Long-term average number of days per spring where tmax is greater than or equal to 40F"), + "mam-tmax-avgnds-grth050" = list(name = "mam-tmax-avgnds-grth050", units = "FIXME", description = "Long-term average number of days per spring where tmax is greater than or equal to 50F"), + "mam-tmax-avgnds-grth060" = list(name = "mam-tmax-avgnds-grth060", units = "FIXME", description = "Long-term average number of days per spring where tmax is greater than or equal to 60F"), + "mam-tmax-avgnds-grth070" = list(name = "mam-tmax-avgnds-grth070", units = "FIXME", description = "Long-term average number of days per spring where tmax is greater than or equal to 70F"), + "mam-tmax-avgnds-grth080" = list(name = "mam-tmax-avgnds-grth080", units = "FIXME", description = "Long-term average number of days per spring where tmax is greater than or equal to 80F"), + "mam-tmax-avgnds-grth090" = list(name = "mam-tmax-avgnds-grth090", units = "FIXME", description = "Long-term average number of days per spring where tmax is greater than or equal to 90F"), + "mam-tmax-avgnds-grth100" = list(name = "mam-tmax-avgnds-grth100", units = "FIXME", description = "Long-term average number of days per spring where tmax is greater than or equal to 100F"), + "mam-tmax-avgnds-lsth032" = list(name = "mam-tmax-avgnds-lsth032", units = "FIXME", description = "Long-term average number of days per spring where tmax is less than or equal to 32F"), + "mam-tmax-normal" = list(name = "mam-tmax-normal", units = "FIXME", description = "Long-term averages of spring maximum temperature"), + "mam-tmin-avgnds-lsth000" = list(name = "mam-tmin-avgnds-lsth000", units = "FIXME", description = "Long-term average number of days per spring where tmin is less than or equal to 0F"), + "mam-tmin-avgnds-lsth010" = list(name = "mam-tmin-avgnds-lsth010", units = "FIXME", description = "Long-term average number of days per spring where tmin is less than or equal to 10F"), + "mam-tmin-avgnds-lsth020" = list(name = "mam-tmin-avgnds-lsth020", units = "FIXME", description = "Long-term average number of days per spring where tmin is less than or equal to 20F"), + "mam-tmin-avgnds-lsth032" = list(name = "mam-tmin-avgnds-lsth032", units = "FIXME", description = "Long-term average number of days per spring where tmin is less than or equal to 32F"), + "mam-tmin-avgnds-lsth040" = list(name = "mam-tmin-avgnds-lsth040", units = "FIXME", description = "Long-term average number of days per spring where tmin is less than or equal to 40F"), + "mam-tmin-avgnds-lsth050" = list(name = "mam-tmin-avgnds-lsth050", units = "FIXME", description = "Long-term average number of days per spring where tmin is less than or equal to 50F"), + "mam-tmin-avgnds-lsth060" = list(name = "mam-tmin-avgnds-lsth060", units = "FIXME", description = "Long-term average number of days per spring where tmin is less than or equal to 60F"), + "mam-tmin-avgnds-lsth070" = list(name = "mam-tmin-avgnds-lsth070", units = "FIXME", description = "Long-term average number of days per spring where tmin is less than or equal to 70F"), + "mam-tmin-normal" = list(name = "mam-tmin-normal", units = "FIXME", description = "Long-term averages of spring minimum temperature"), + "son-cldd-base45" = list(name = "son-cldd-base45", units = "FIXME", description = "Long-term averages of autumn cooling degree days with base 45F"), + "son-cldd-base50" = list(name = "son-cldd-base50", units = "FIXME", description = "Long-term averages of autumn cooling degree days with base 50F"), + "son-cldd-base55" = list(name = "son-cldd-base55", units = "FIXME", description = "Long-term averages of autumn cooling degree days with base 55F"), + "son-cldd-base57" = list(name = "son-cldd-base57", units = "FIXME", description = "Long-term averages of autumn cooling degree days with base 57F"), + "son-cldd-base60" = list(name = "son-cldd-base60", units = "FIXME", description = "Long-term averages of autumn cooling degree days with base 60F"), + "son-cldd-base70" = list(name = "son-cldd-base70", units = "FIXME", description = "Long-term averages of autumn cooling degree days with base 70F"), + "son-cldd-base72" = list(name = "son-cldd-base72", units = "FIXME", description = "Long-term averages of autumn cooling degree days with base 72F"), + "son-cldd-normal" = list(name = "son-cldd-normal", units = "FIXME", description = "Long-term averages of autumn cooling degree days with base 65F"), + "son-dutr-normal" = list(name = "son-dutr-normal", units = "FIXME", description = "Long-term averages of autumn diurnal temperature range"), + "son-grdd-tb4886" = list(name = "son-grdd-tb4886", units = "FIXME", description = "Long-term averages of fall growing degree days with truncated bases 48F & 86F"), + "son-grdd-tb5086" = list(name = "son-grdd-tb5086", units = "FIXME", description = "Long-term averages of fall growing degree days with truncated bases 50F & 86F"), + "son-grdd-base40" = list(name = "son-grdd-base40", units = "FIXME", description = "Long-term averages of fall growing degree days with base 40F"), + "son-grdd-base45" = list(name = "son-grdd-base45", units = "FIXME", description = "Long-term averages of fall growing degree days with base 45F"), + "son-grdd-base50" = list(name = "son-grdd-base50", units = "FIXME", description = "Long-term averages of fall growing degree days with base 50F"), + "son-grdd-base55" = list(name = "son-grdd-base55", units = "FIXME", description = "Long-term averages of fall growing degree days with base 55F"), + "son-grdd-base57" = list(name = "son-grdd-base57", units = "FIXME", description = "Long-term averages of fall growing degree days with base 57F"), + "son-grdd-base60" = list(name = "son-grdd-base60", units = "FIXME", description = "Long-term averages of fall growing degree days with base 60F"), + "son-grdd-base65" = list(name = "son-grdd-base65", units = "FIXME", description = "Long-term averages of fall growing degree days with base 65F"), + "son-grdd-base70" = list(name = "son-grdd-base70", units = "FIXME", description = "Long-term averages of fall growing degree days with base 70F"), + "son-grdd-base72" = list(name = "son-grdd-base72", units = "FIXME", description = "Long-term averages of fall growing degree days with base 72F"), + "son-htdd-base40" = list(name = "son-htdd-base40", units = "FIXME", description = "Long-term averages of autumn heating degree days with base 40F"), + "son-htdd-base45" = list(name = "son-htdd-base45", units = "FIXME", description = "Long-term averages of autumn heating degree days with base 45F"), + "son-htdd-base50" = list(name = "son-htdd-base50", units = "FIXME", description = "Long-term averages of autumn heating degree days with base 50F"), + "son-htdd-base55" = list(name = "son-htdd-base55", units = "FIXME", description = "Long-term averages of autumn heating degree days with base 55F"), + "son-htdd-base57" = list(name = "son-htdd-base57", units = "FIXME", description = "Long-term averages of autumn heating degree days with base 57F"), + "son-htdd-base60" = list(name = "son-htdd-base60", units = "FIXME", description = "Long-term averages of autumn heating degree days with base 60F"), + "son-htdd-normal" = list(name = "son-htdd-normal", units = "FIXME", description = "Long-term averages of autumn heating degree days with base 65F"), + "son-prcp-avgnds-ge001hi" = list(name = "son-prcp-avgnds-ge001hi", units = "FIXME", description = "Long-term averages of number of days during September-November with precipitation >= 0.01 inches"), + "son-prcp-avgnds-ge010hi" = list(name = "son-prcp-avgnds-ge010hi", units = "FIXME", description = "Long-term averages of number of days during September-November with precipitation >= 0.10 inches"), + "son-prcp-avgnds-ge050hi" = list(name = "son-prcp-avgnds-ge050hi", units = "FIXME", description = "Long-term averages of number of days during September-November with precipitation >= 0.50 inches"), + "son-prcp-avgnds-ge100hi" = list(name = "son-prcp-avgnds-ge100hi", units = "FIXME", description = "Long-term averages of number of days during September-November with precipitation >= 1.00 inches"), + "son-prcp-normal" = list(name = "son-prcp-normal", units = "FIXME", description = "Long-term averages of seasonal precipitation totals for September-November"), + "son-snow-avgnds-ge001ti" = list(name = "son-snow-avgnds-ge001ti", units = "FIXME", description = "Long-term averages of number of days during September-November with snowfall >= 0.1 inches"), + "son-snow-avgnds-ge010ti" = list(name = "son-snow-avgnds-ge010ti", units = "FIXME", description = "Long-term averages of number of days during September-November with snowfall >= 1.0 inches"), + "son-snow-avgnds-ge030ti" = list(name = "son-snow-avgnds-ge030ti", units = "FIXME", description = "Long-term averages of number of days during September-November with snowfall >= 3.0 inches"), + "son-snow-avgnds-ge050ti" = list(name = "son-snow-avgnds-ge050ti", units = "FIXME", description = "Long-term averages of number of days during September-November with snowfall >= 5.0 inches"), + "son-snow-avgnds-ge100ti" = list(name = "son-snow-avgnds-ge100ti", units = "FIXME", description = "Long-term averages of number of days during September-November with snowfall >= 10.0 inches"), + "son-snow-normal" = list(name = "son-snow-normal", units = "FIXME", description = "Long-term averages of seasonal snowfall totals for September-November"), + "son-snwd-avgnds-ge001wi" = list(name = "son-snwd-avgnds-ge001wi", units = "FIXME", description = "Long-term averages of number of days during September-November with snow depth >= 1 inch"), + "son-snwd-avgnds-ge003wi" = list(name = "son-snwd-avgnds-ge003wi", units = "FIXME", description = "Long-term averages of number of days during September-November with snow depth >= 3 inches"), + "son-snwd-avgnds-ge005wi" = list(name = "son-snwd-avgnds-ge005wi", units = "FIXME", description = "Long-term averages of number of days during September-November with snow depth >= 5 inches"), + "son-snwd-avgnds-ge010wi" = list(name = "son-snwd-avgnds-ge010wi", units = "FIXME", description = "Long-term averages of number of days during September-November with snow depth >= 10 inches"), + "son-tavg-normal" = list(name = "son-tavg-normal", units = "FIXME", description = "Long-term averages of autumn average temperature"), + "son-tmax-avgnds-grth040" = list(name = "son-tmax-avgnds-grth040", units = "FIXME", description = "Long-term average number of days per autumn where tmax is greater than or equal to 40F"), + "son-tmax-avgnds-grth050" = list(name = "son-tmax-avgnds-grth050", units = "FIXME", description = "Long-term average number of days per autumn where tmax is greater than or equal to 50F"), + "son-tmax-avgnds-grth060" = list(name = "son-tmax-avgnds-grth060", units = "FIXME", description = "Long-term average number of days per autumn where tmax is greater than or equal to 60F"), + "son-tmax-avgnds-grth070" = list(name = "son-tmax-avgnds-grth070", units = "FIXME", description = "Long-term average number of days per autumn where tmax is greater than or equal to 70F"), + "son-tmax-avgnds-grth080" = list(name = "son-tmax-avgnds-grth080", units = "FIXME", description = "Long-term average number of days per autumn where tmax is greater than or equal to 80F"), + "son-tmax-avgnds-grth090" = list(name = "son-tmax-avgnds-grth090", units = "FIXME", description = "Long-term average number of days per autumn where tmax is greater than or equal to 90F"), + "son-tmax-avgnds-grth100" = list(name = "son-tmax-avgnds-grth100", units = "FIXME", description = "Long-term average number of days per autumn where tmax is greater than or equal to 100F"), + "son-tmax-avgnds-lsth032" = list(name = "son-tmax-avgnds-lsth032", units = "FIXME", description = "Long-term average number of days per autumn where tmax is less than or equal to 32F"), + "son-tmax-normal" = list(name = "son-tmax-normal", units = "FIXME", description = "Long-term averages of autumn maximum temperature"), + "son-tmin-avgnds-lsth000" = list(name = "son-tmin-avgnds-lsth000", units = "FIXME", description = "Long-term average number of days per autumn where tmin is less than or equal to 0F"), + "son-tmin-avgnds-lsth010" = list(name = "son-tmin-avgnds-lsth010", units = "FIXME", description = "Long-term average number of days per autumn where tmin is less than or equal to 10F"), + "son-tmin-avgnds-lsth020" = list(name = "son-tmin-avgnds-lsth020", units = "FIXME", description = "Long-term average number of days per autumn where tmin is less than or equal to 20F"), + "son-tmin-avgnds-lsth032" = list(name = "son-tmin-avgnds-lsth032", units = "FIXME", description = "Long-term average number of days per autumn where tmin is less than or equal to 32F"), + "son-tmin-avgnds-lsth040" = list(name = "son-tmin-avgnds-lsth040", units = "FIXME", description = "Long-term average number of days per autumn where tmin is less than or equal to 40F"), + "son-tmin-avgnds-lsth050" = list(name = "son-tmin-avgnds-lsth050", units = "FIXME", description = "Long-term average number of days per autumn where tmin is less than or equal to 50F"), + "son-tmin-avgnds-lsth060" = list(name = "son-tmin-avgnds-lsth060", units = "FIXME", description = "Long-term average number of days per autumn where tmin is less than or equal to 60F"), + "son-tmin-avgnds-lsth070" = list(name = "son-tmin-avgnds-lsth070", units = "FIXME", description = "Long-term average number of days per autumn where tmin is less than or equal to 70F "), + "son-tmin-normal" = list(name = "son-tmin-normal", units = "FIXME", description = "Long-term averages of autumn minimum temperature") +) diff --git a/R/units-normal_dly.R b/R/units-normal_dly.R new file mode 100644 index 00000000..c0102006 --- /dev/null +++ b/R/units-normal_dly.R @@ -0,0 +1,63 @@ +# from https://www1.ncdc.noaa.gov/pub/data/cdo/documentation/NORMAL_DLY_documentation.pdf +ncdc_units_normal_dly <- list( + "dly-cldd-base45" = list(name = "dly-cldd-base45", units = "fahrenheit", description = "Long-term averages of daily cooling degree days with base 45F"), + "dly-cldd-base50" = list(name = "dly-cldd-base50", units = "fahrenheit", description = "Long-term averages of daily cooling degree days with base 50F"), + "dly-cldd-base55" = list(name = "dly-cldd-base55", units = "fahrenheit", description = "Long-term averages of daily cooling degree days with base 55F"), + "dly-cldd-base57" = list(name = "dly-cldd-base57", units = "fahrenheit", description = "Long-term averages of daily cooling degree days with base 57F"), + "dly-cldd-base60" = list(name = "dly-cldd-base60", units = "fahrenheit", description = "Long-term averages of daily cooling degree days with base 60F"), + "dly-cldd-base70" = list(name = "dly-cldd-base70", units = "fahrenheit", description = "Long-term averages of daily cooling degree days with base 70F"), + "dly-cldd-base72" = list(name = "dly-cldd-base72", units = "fahrenheit", description = "Long-term averages of daily cooling degree days with base 72F"), + "dly-cldd-normal" = list(name = "dly-cldd-normal", units = "fahrenheit", description = "Long-term averages of daily cooling degree days with base 65F"), + "dly-dutr-normal" = list(name = "dly-dutr-normal", units = "fahrenheit", description = "Long-term averages of daily diurnal temperature range"), + "dly-dutr-stddev" = list(name = "dly-dutr-stddev", units = "fahrenheit", description = "Long-term standard deviations of daily diurnal temperature range"), + "dly-grdd-base40" = list(name = "dly-grdd-base40", units = "fahrenheit", description = "Long-term averages of daily growing degree days with base 40F"), + "dly-grdd-base45" = list(name = "dly-grdd-base45", units = "fahrenheit", description = "Long-term averages of daily growing degree days with base 45F"), + "dly-grdd-base50" = list(name = "dly-grdd-base50", units = "fahrenheit", description = "Long-term averages of daily growing degree days with base 50F"), + "dly-grdd-base55" = list(name = "dly-grdd-base55", units = "fahrenheit", description = "Long-term averages of daily growing degree days with base 55F"), + "dly-grdd-base57" = list(name = "dly-grdd-base57", units = "fahrenheit", description = "Long-term averages of daily growing degree days with base 57F"), + "dly-grdd-base60" = list(name = "dly-grdd-base60", units = "fahrenheit", description = "Long-term averages of daily growing degree days with base 60F"), + "dly-grdd-base65" = list(name = "dly-grdd-base65", units = "fahrenheit", description = "Long-term averages of daily growing degree days with base 65F"), + "dly-grdd-base70" = list(name = "dly-grdd-base70", units = "fahrenheit", description = "Long-term averages of daily growing degree days with base 70F"), + "dly-grdd-base72" = list(name = "dly-grdd-base72", units = "fahrenheit", description = "Long-term averages of daily growing degree days with base 72F"), + "dly-grdd-tb4886" = list(name = "dly-grdd-tb4886", units = "fahrenheit", description = "Long-term averages of daily growing degree days with truncated bases 48F and 86F"), + "dly-grdd-tb5086" = list(name = "dly-grdd-tb5086", units = "fahrenheit", description = "Long-term averages of daily growing degree days with truncated bases 50F and 86F"), + "dly-htdd-base40" = list(name = "dly-htdd-base40", units = "fahrenheit", description = "Long-term averages of daily heating degree days with base 40F"), + "dly-htdd-base45" = list(name = "dly-htdd-base45", units = "fahrenheit", description = "Long-term averages of daily heating degree days with base 45F"), + "dly-htdd-base50" = list(name = "dly-htdd-base50", units = "fahrenheit", description = "Long-term averages of daily heating degree days with base 50F"), + "dly-htdd-base55" = list(name = "dly-htdd-base55", units = "fahrenheit", description = "Long-term averages of daily heating degree days with base 55F"), + "dly-htdd-base57" = list(name = "dly-htdd-base57", units = "fahrenheit", description = "Long-term averages of daily heating degree days with base 57F"), + "dly-htdd-base60" = list(name = "dly-htdd-base60", units = "fahrenheit", description = "Long-term averages of daily heating degree days with base 60F"), + "dly-htdd-normal" = list(name = "dly-htdd-normal", units = "fahrenheit", description = "Long-term averages of daily heating degree days with base 65F"), + "dly-prcp-25pctl" = list(name = "dly-prcp-25pctl", units = "percent", description = "25th percentiles of daily nonzero precipitation totals for 29-day windows centered on each day of the year"), + "dly-prcp-50pctl" = list(name = "dly-prcp-50pctl", units = "percent", description = "50th percentiles of daily nonzero precipitation totals for 29-day windows centered on each day of the year"), + "dly-prcp-75pctl" = list(name = "dly-prcp-75pctl", units = "percent", description = "75th percentiles of daily nonzero precipitation totals for 29-day windows centered on each day of the year"), + "dly-prcp-pctall-ge001hi" = list(name = "dly-prcp-pctall-ge001hi", units = "percent", description = "Probability of precipitation >= 0.01 inches for 29-day windows centered on each day of the year"), + "dly-prcp-pctall-ge010hi" = list(name = "dly-prcp-pctall-ge010hi", units = "percent", description = "Probability of precipitation >= 0.10 inches for 29-day windows centered on each day of the year"), + "dly-prcp-pctall-ge050hi" = list(name = "dly-prcp-pctall-ge050hi", units = "percent", description = "Probability of precipitation >= 0.50 inches for 29-day windows centered on each day of the year"), + "dly-prcp-pctall-ge100hi" = list(name = "dly-prcp-pctall-ge100hi", units = "percent", description = "Probability of precipitation >= 1.00 inches for 29-day windows centered on each day of the year"), + "dly-snow-25pctl" = list(name = "dly-snow-25pctl", units = "", description = "25th percentiles of daily nonzero snowfall totals for 29-day windows centered on each day of the year"), + "dly-snow-50pctl" = list(name = "dly-snow-50pctl", units = "", description = "50th percentiles of daily nonzero snowfall totals for 29-day windows centered on each day of the year"), + "dly-snow-75pctl" = list(name = "dly-snow-75pctl", units = "", description = "75th percentiles of daily nonzero snowfall totals for 29-day windows centered on each day of the year"), + "dly-snow-pctall-ge001ti" = list(name = "dly-snow-pctall-ge001ti", units = "percent", description = "Probability of snowfall >= 0.1 inches for 29-day windows centered on each day of the year"), + "dly-snow-pctall-ge010ti" = list(name = "dly-snow-pctall-ge010ti", units = "percent", description = "Probability of snowfall >= 1.0 inches for 29-day windows centered on each day of the year"), + "dly-snow-pctall-ge030ti" = list(name = "dly-snow-pctall-ge030ti", units = "percent", description = "Probability of snowfall >= 3.0 inches for 29-day windows centered on each day of the year"), + "dly-snow-pctall-ge050ti" = list(name = "dly-snow-pctall-ge050ti", units = "percent", description = "Probability of snowfall >= 5.0 inches for 29-day windows centered on each day of the year"), + "dly-snow-pctall-ge100ti" = list(name = "dly-snow-pctall-ge100ti", units = "percent", description = "Probability of snowfall >= 10 inches for 29-day windows centered on each day of the year"), + "dly-snwd-25pctl" = list(name = "dly-snwd-25pctl", units = "", description = "25th percentiles of daily nonzero snow depth for 29-day windows centered on each day of the year"), + "dly-snwd-50pctl" = list(name = "dly-snwd-50pctl", units = "", description = "50th percentiles of daily nonzero snow depth for 29-day windows centered on each day of the year"), + "dly-snwd-75pctl" = list(name = "dly-snwd-75pctl", units = "", description = "75th percentiles of daily nonzero snow depth for 29-day windows centered on each day of the year"), + "dly-snwd-pctall-ge001wi" = list(name = "dly-snwd-pctall-ge001wi", units = "percent", description = "Probability of snow depth >= 1 inch for 29-day windows centered on each day of the year"), + "dly-snwd-pctall-ge003wi" = list(name = "dly-snwd-pctall-ge003wi", units = "percent", description = "Probability of snow depth >= 3 inches for 29-day windows centered on each day of the year"), + "dly-snwd-pctall-ge005wi" = list(name = "dly-snwd-pctall-ge005wi", units = "percent", description = "Probability of snow depth >= 5 inches for 29-day windows centered on each day of the year"), + "dly-snwd-pctall-ge010wi" = list(name = "dly-snwd-pctall-ge010wi", units = "percent", description = "Probability of snow depth >= 10 inches for 29-day windows centered on each day of the year"), + "dly-tavg-normal" = list(name = "dly-tavg-normal", units = "fahrenheit_tenths", description = "Long-term averages of daily average temperature"), + "dly-tavg-stddev" = list(name = "dly-tavg-stddev", units = "fahrenheit_tenths", description = "Long-term standard deviations of daily average temperature"), + "dly-tmax-normal" = list(name = "dly-tmax-normal", units = "fahrenheit_tenths", description = "Long-term averages of daily maximum temperature"), + "dly-tmax-stddev" = list(name = "dly-tmax-stddev", units = "fahrenheit_tenths", description = "Long-term standard deviations of daily maximum temperature"), + "dly-tmin-normal" = list(name = "dly-tmin-normal", units = "fahrenheit_tenths", description = "Long-term averages of daily minimum temperature"), + "dly-tmin-stddev" = list(name = "dly-tmin-stddev", units = "fahrenheit_tenths", description = "Long-term standard deviations of daily minimum temperature"), + "mtd-prcp-normal" = list(name = "mtd-prcp-normal", units = "mm_tenths", description = "Long-term average month-to-date liquid precipitation amount"), + "mtd-snow-normal" = list(name = "mtd-snow-normal", units = "mm", description = "Long-term average month-to-date snowfall amount"), + "ytd-prcp-normal" = list(name = "ytd-prcp-normal", units = "mm_tenths", description = "Long-term average year-to-date liquid precipitation amount"), + "ytd-snow-normal" = list(name = "ytd-snow-normal", units = "mm", description = "Long-term average year-to-date snowfall amount") +) diff --git a/R/units-precip_15.R b/R/units-precip_15.R new file mode 100644 index 00000000..fc5705e5 --- /dev/null +++ b/R/units-precip_15.R @@ -0,0 +1,13 @@ +# from https://www1.ncdc.noaa.gov/pub/data/cdo/documentation/PRECIP_15_documentation.pdf +ncdc_units_precip_15 <- list( + QGAG = list( + name = "QGAG", + units = "mm_tenths", + description = "The volume of precipitation (calculated by weight) accumulated in measuring bucket as recorded at the station for the 15 minute period ending at the time specified for DATE above given in hundredths of inches or tenths of millimeters depending on user’s specification of standard or metric units." + ), + QPCP = list( + name = "QPCP", + units = "mm_tenths", + description = "The amount of precipitation recorded at the station for the 15 minute period ending at the time specified for DATE above given in hundredths of inches or tenths of millimeters depending on user’s specification of standard or metric units." + ) +) diff --git a/R/units-precip_hly.R b/R/units-precip_hly.R new file mode 100644 index 00000000..f3dceda4 --- /dev/null +++ b/R/units-precip_hly.R @@ -0,0 +1,8 @@ +# from https://www1.ncdc.noaa.gov/pub/data/cdo/documentation/PRECIP_HLY_documentation.pdf +ncdc_units_precip_hly <- list( + HPCP = list( + name = "HPCP", + units = "mm_tenths", + description = "The amount of precipitation recorded at the station for the hour ending at the time specified for DATE above given in hundredths of inches or tenths of millimeters depending on user’s specification of standard or metric units. The values 99999 means the data value is missing. Hours with no precipitation are not shown." + ) +)