FORMAT: 1A # UW-Madison Agricultural Weather Service API # Group Degree Days ## index [/degree_days] ### List degree days for location [GET /degree_days{?lat,long,start_date,end_date,base,upper,method,units}] + Parameters + lat: `45.0` (number) - north latitude + long: `-90.0` (number) - west longitude + start_date: `2020-01-01` (string, optional) - the start date (default: first of year) + end_date: `2020-10-10` (string, optional) - end date (default: current date) + base: `50` (number, optional) - base temperature, Fahrenheit + upper: `86` (number, optional) - upper temperature limit, Fahrenheit + method: `sine` (string, optional) - degree day calculation method + units: `F` (string, optional) - temperature units (f/F or c/C) + Response 200 (application/json; charset=utf-8) + Attributes (object) + status (string) + info (object) + lat (number) - latitude of the request + long (number) - longitude of the request + start_date (string) - start date of the request + end_date (string) - end date of the request + days_requested (number) - number of days requested + days_returned (number) - number of days of data returned + base (string) - degree days base temp + upper (string, optional) - degree days upper cutoff temp + method (string) - degree days calculation method + units (string) - temperature units + min_value (number, nullable) - min daily degree days + max_value (number, nullable) - max daily degree days + total (number) - total degree days + compute_time (number) + data (array) + (object, optional) + date (string) - observation date + min_temp (number) - daily low temp + max_temp (number) - daily high temp + avg_temp (number) - daily average temp + value (number) - daily degree day accumulation + cumulative_value (number) - cumulative degree days ### Download as csv [GET /degree_days.csv{?lat,long,args}] + Parameters + lat: `45.0` (number) - north latitude + long: `-90.0` (number) - west longitude + args (optional) - other params + Response 200 (text/csv) ## dd_table [/degree_days/dd_table] ### List multiple dd models for location [GET /degree_days/dd_table{?lat,long,start_date,end_date,models,units}] + Parameters + lat: `45.0` (number) - north latitude + long: `-90.0` (number) - west longitude + start_date: `2020-01-01` (string, optional) - the start date (default: first of year) + end_date: `2020-10-10` (string, optional) - end date (default: current date) + models: `dd_32,dd_50_86` (string, optional) - degree day models separated by commas + units: `F` (string, optional) - temperature units (f/F or c/C) + Response 200 (application/json; charset=utf-8) + Attributes (object) + status (string) + info (object) + lat (number) - latitude of the request + long (number) - longitude of the request + start_date (string) - start date of the request + end_date (string) - end date of the request + days_requested (number) - number of days requested + days_returned (number) - number of days of data returned + models (array) - degree days models returned + units (string) - temperature units + data (object) + (object, optional) + min_temp (number) - daily low temp + max_temp (number) - daily high temp + dd_32_none (object) - daily degree day accumulation + value (number) - daily dd accumulation for this model + total (number) - cumulative dds for this model + dd_50_86 (object) - cumulative degree days + value (number) - daily dd accumulation for this model + total (number) - cumulative dds for this model ## grid [/degree_days/grid] ### Return hash grid of values keyed by lat/long [GET /degree_days/grid{?model,base,upper,units,start_date,end_date,lat_range,long_range}] + Parameters + model: `dd_50` (string, optional) - degree day table column name + base: `-90.0` (number, optional) - base degree day threshold + upper: `86.0` (number, optional) - upper degree day threshold + units: `F` (string, optional) - temperature units (f/F or c/C) + start_date: `2020-01-01` (string, optional) - the start date (default: first of year) + end_date: `2020-10-10` (string, optional) - end date (default: current date) + lat_range: `45.0,50.0` (string, optional) - rescrict latitude range in response + long_range: `-90.0,-85.0` (string, optional) - restrict longitude range in response + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + status (string) - status of request + start_date (string) - start date of the request + end_date (string) - end date of the request + days_requested (number) - number of days requested + grid_points (number) - number of grid points returned + model (string) - description of degree day model + units (string) - temperature/degree day units + min_value (number, nullable) - minimum degree day value across grid + max_value (number, nullable) - maximum degree day value across grid + compute_time (number) + data (object) ## Degree Day map image [GET /degree_days/map{?date}] Retrieve the map for a given date. + Parameters + date: `2020-01-01` (string) - the desired date + Response 200 (application/json; charset=utf-8) + Attributes + map: `url/for/map.png` (string) ## Degree Day Info [GET /degree_days/info] + Response 200 (application/json; charset=utf-8) + Attributes (object) + dd_methods (array) + lat_range (array) + long_range (array) + date_range (array) + expected_days (number) + actual_days (number) + missing_days (array) + compute_time (number) # Group Evapotranspirations ## index [/evapotranspirations] ### List evapotranspiration data for point and date range [GET /evapotranspirations{?lat,long,start_date,end_date,units}] + Parameters + lat: `45.0` (number) - north latitude + long: `-90.0` (number) - west longitude + start_date: `2020-01-01` (string, optional) - start date, default 1st of year + end_date: `2020-10-10` (string, optional) - end date + units: `in` (string, optional) - either in or mm + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + status (string) + lat (number) + long (number) + start_date (string) + end_date (string) + days_requested (number) + days_returned (number) + units (string) + min_value (number, nullable) + max_value (number, nullable) + total (number, nullable) + compute_time (number) + data (array) + (object, optional) + date (string) + value (number) + cumulative_value (number) ### Download csv [GET /evapotranspirations.csv{?lat,long,start_date,end_date,units}] + Parameters + lat: `45.0` (number) - north latitude + long: `-90.0` (number) - west longitude + start_date: `2020-01-01` (string) - start date + end_date: `2020-10-10` (string, optional) - end date + units: `in` (string, optional) - either in or mm + Response 200 (text/csv) ## grid [/evaptranspirations/grid] ### Return hash grid of values keyed by lat/long [GET /evapotranspirations/grid{?units,start_date,end_date,lat_range,long_range}] + Parameters + start_date: `2020-01-01` (string, optional) - the start date (default: first of year) + end_date: `2020-10-10` (string, optional) - end date (default: current date) + lat_range: `45.0,50.0` (string, optional) - rescrict latitude range in response + long_range: `-90.0,-85.0` (string, optional) - restrict longitude range in response + units: `in` (string, optional) - either in or mm + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + status (string) - status of request + start_date (string, optional) - start date of the data + end_date (string, optional) - end date of the data + date (string, optional) - date of the data (for single day) + days_requested (number) - number of days requested + days_returned (number) - number of days of data returned + grid_points (number) - number of grid points returned + units (string) - value units + min_value (number, nullable) - minimum value across grid + max_value (number, nullable) - maximum value across grid + compute_time (number) + data (object) ### Return csv of grid [GET /evapotranspirations/grid.csv{?units,start_date,end_date,lat_range,long_range}] + Parameters + start_date: `2020-01-01` (string, optional) - the start date (default: first of year) + end_date: `2020-10-10` (string, optional) - end date (default: current date) + lat_range: `45.0,50.0` (string, optional) - rescrict latitude range in response + long_range: `-90.0,-85.0` (string, optional) - restrict longitude range in response + units: `in` (string, optional) - either in or mm + Response 200 (text/csv) ## map [/evapotranspirations/map] ### Get map image url [GET /evapotranspirations/map{?date}] Retrieve the ET map for a given date. + Parameters + date: `2020-01-01` (string) - the desired date + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + filename: `map.png` (string, nullable) + url: `url/for/map.png` (string, nullable) ## Evapotranspiration database info [GET /evapotranspirations/info] Get parameter ranges available in the database + Response 200 (application/json; charset=utf-8) + Attributes (object) + data_cols (array) - column names in database + lat_range (array) - min, max + long_range (array) - min, max + date_range (array) - min, max + expected_days (number) + actual_days (number) + missing_days (array) + compute_time (number) # Group Insolations ## index [/insolations] ### Get insolation data for point and date range [GET /insolations{?lat,long,start_date,end_date,units}] + Parameters + lat: `45.0` (number) + long: `-90.0` (number) + start_date: `2021-01-01` + end_date: `2021-10-10` + units: `MJ` (string) - units, either MJ or KWh + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + status (string) - status of request + start_date (string, optional) - start date of the data + end_date (string, optional) - end date of the data + date (string, optional) - date of the data (for single day) + days_requested (number) - number of days requested + days_returned (number) - number of days of data returned + grid_points (number) - number of grid points returned + units (string) - value units + min_value (number, nullable) - minimum value across grid + max_value (number, nullable) - maximum value across grid + compute_time (number) + data (array) + (object, optional) + date (string) + value (number) + cumulative_value (number) ### Download csv [GET /insolations.csv{?lat,long,start_date,end_date,units}] + Parameters + lat: `45.0` (number) + long: `-90.0` (number) + start_date: `2021-01-01` + end_date: `2021-10-10` + units: `MJ` (string) - units, either MJ or KWh + Response 200 (text/csv) ## grid [/insolations/grid] ### Return hash grid of values keyed by lat/long [GET /insolations/grid{?units,start_date,end_date,lat_range,long_range}] + Parameters + start_date: `2020-01-01` (string, optional) - the start date (default: first of year) + end_date: `2020-10-10` (string, optional) - end date (default: current date) + lat_range: `45.0,50.0` (string, optional) - rescrict latitude range in response + long_range: `-90.0,-85.0` (string, optional) - restrict longitude range in response + units: `MJ` (string, optional) - either MJ or KWh + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + status (string) - status of request + start_date (string, optional) - start date of the data + end_date (string, optional) - end date of the data + date (string, optional) - date of the data (for single day) + days_requested (number) - number of days requested + days_returned (number) - number of days of data returned + grid_points (number) - number of grid points returned + units (string) - value units + min_value (number, nullable) - minimum value across grid + max_value (number, nullable) - maximum value across grid + compute_time (number) + data (object) ### Return csv of grid [GET /insolations/grid.csv{?units,start_date,end_date,lat_range,long_range}] + Parameters + start_date: `2020-01-01` (string, optional) - the start date (default: first of year) + end_date: `2020-10-10` (string, optional) - end date (default: current date) + lat_range: `45.0,50.0` (string, optional) - rescrict latitude range in response + long_range: `-90.0,-85.0` (string, optional) - restrict longitude range in response + units: `MJ` (string, optional) - either MJ or KWh + Response 200 (text/csv) ## map [/insolations/map] ### Get map image url [GET /insolations/map{?date}] + Parameters + date: `2020-01-01` (string) + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + filename: `map.png` (string, nullable) + url: `path/to/map.png` (string, nullable) ## Insolation database info [GET /insolations/info] + Response 200 (application/json; charset=utf-8) + Attributes (object) + data_cols (array) - column names in database + lat_range (array) - min, max + long_range (array) - min, max + date_range (array) - min, max + expected_days (number) + actual_days (number) + missing_days (array) + compute_time (number) # Group Pest Forecasts ## index [/pest_forecasts] ### Get data for point [GET /pest_forecasts{?lat,long,pest,start_date,end_date,units}] + Parameters + pest: potato_blight_dsv (string) - column name of pest data + lat: `45.0` - decimal latitude + long: `-89.0` - decimal longitude + start_date: `2020-01-01` (string, optional) - defaults to 7 days ago + end_date: `2020-10-10` (string, optional) - defaults to today + units: `f` (string, optional) - temperature units, either f/F or c/C + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + status (string) + lat (number) + long (number) + start_date (string) + end_date (string) + days_requested (number) + days_returned (number) + pest (string) + units (object) + temp (string) + min_value (number, nullable) + max_value (number, nullable) + total (number, nullable) + compute_time (number) + data (array) + (object, optional) + date (string) + min_temp (number) + max_temp (number) + avg_temp (number) + avg_temp_hi_rh (number, nullable) + hours_hi_rh (number) + value (number) + cumulative_value (number) ### Download csv [GET /pest_forecasts.csv{?lat,long,pest,start_date,end_date,units}] + Parameters + pest: `potato_blight_dsv` (string) - column name of pest data + lat: `45.0` - decimal latitude + long: `-89.0` - decimal longitude + start_date: `2020-01-01` (string, optional) - defaults to 7 days ago + end_date: `2020-10-10` (string, optional) - defaults to today + units: `f` (string, optional) - temperature units, either f/F or c/C + Response 200 (text/csv) ## grid [/pest_forecasts/grid] ### Return hash grid of values keyed by lat/long [GET /pest_forecasts/grid{?pest,start_date,end_date,lat_range,long_range}] + Parameters + pest: `potato_blight_dsv` (string) - column name of pest data + start_date: `2020-01-01` (string, optional) - the start date (default: first of year) + end_date: `2020-10-10` (string, optional) - end date (default: current date) + lat_range: `45.0,50.0` (string, optional) - rescrict latitude range in response + long_range: `-90.0,-85.0` (string, optional) - restrict longitude range in response + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + status (string) - status of request + start_date (string, optional) - start date of the data + end_date (string, optional) - end date of the data + date (string, optional) - date of the data (for single day) + days_requested (number) - number of days requested + days_returned (number) - number of days of data returned + grid_points (number) - number of grid points returned + pest (string) - name of data column + units (object) + temp (string) - weather units + min_value (number, nullable) - minimum value across grid + max_value (number, nullable) - maximum value across grid + compute_time (number) + data (object) ### Return csv of grid [GET /pest_forecasts/grid.csv{?pest,start_date,end_date,lat_range,long_range}] + Parameters + pest: `potato_blight_dsv` (string) - column name of pest data + start_date: `2020-01-01` (string, optional) - the start date (default: first of year) + end_date: `2020-10-10` (string, optional) - end date (default: current date) + lat_range: `45.0,50.0` (string, optional) - rescrict latitude range in response + long_range: `-90.0,-85.0` (string, optional) - restrict longitude range in response + Response 200 (text/csv) ## map [/pest_forecasts/map] ### Get map image url [GET /pest_forecasts/map{?date}] + Parameters + date: `2020-01-01` (string) + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + filename: `map.png` (string, nullable) + url: `path/to/map.png` (string, nullable) ## pvy [/pest_forecasts/pvy] ### Get pvy degree day model [GET /pest_forecasts/pvy{?lat,long,end_date}] Returns total degree days for pvy model plus one week forecast + Parameters + lat: `45` (number) - north latitude + long: `-90` (number) - west longitude + end_date: `2020-10-10` (string, optional) - defaults to today + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + model (string) + lat (number) + long (number) + start_date (string) + end_date (string) + days_requested (number) + days_returned (number) + status (string) + compute_time (number) + current_dds (number, nullable) + future_dds (number, nullable) + data (array) + (object, optional) + date (string) + dd (number) + cum_dd (number) + forecast (array) + (object, optional) + date (string) + dd (number) + cum_dd (number) ## Pest forecast database info [GET /pest_forecasts/info] + Response 200 (application/json; charset=utf-8) + Attributes (object) + pest_names (array) - list available pest names + lat_range (array) - min, max + long_range (array) - min, max + date_range (array) - min, max + actual_days (number) - days in database + missing_days (array) + compute_time (number) # Group Precipitations ## index [/precips] ### Get precip data for point and date range [GET /precips{?lat,long,start_date,end_date,units}] + Parameters + lat: `45.0` (number) + long: `-90.0` (number) + start_date: `2021-01-01` + end_date: `2021-10-10` + units: `mm` (string, optional) - units, either mm or in + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + status (string) + lat (number) + long (number) + start_date (string) + end_date (string) + days_requested (number) + days_returned (number) + units (string) + min_value (number, nullable) + max_value (number, nullable) + total (number, nullable) + compute_time (number) + data (array) + (object, optional) + date (string) + value (number) + cumulative_value (number) ### Download csv [GET /precips.csv{?lat,long,start_date,end_date,units}] + Parameters + lat: `45.0` (number) + long: `-90.0` (number) + start_date: `2021-01-01` + end_date: `2021-10-10` + units: `mm` (string, optional) - units, either mm or in + Response 200 (text/csv) ## grid [/precips/grid] ### Return hash grid of values keyed by lat/long [GET /precips/grid{?start_date,end_date,lat_range,long_range,units}] + Parameters + start_date: `2020-01-01` (string, optional) - the start date (default: first of year) + end_date: `2020-10-10` (string, optional) - end date (default: current date) + lat_range: `45.0,50.0` (string, optional) - rescrict latitude range in response + long_range: `-90.0,-85.0` (string, optional) - restrict longitude range in response + units: `mm` (string, optional) - units, either mm or in + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + status (string) - status of request + start_date (string, optional) - start date of the data + end_date (string, optional) - end date of the data + date (string, optional) - date of the data (for single day) + days_requested (number) - number of days requested + days_returned (number) - number of days of data returned + grid_points (number) - number of grid points returned + units (string) - value units + min_value (number, nullable) - minimum value across grid + max_value (number, nullable) - maximum value across grid + compute_time (number) + data (object) ### Return csv of grid [GET /precips/grid.csv{?start_date,end_date,lat_range,long_range,units}] + Parameters + pest: `potato_blight_dsv` (string) - column name of pest data + start_date: `2020-01-01` (string, optional) - the start date (default: first of year) + end_date: `2020-10-10` (string, optional) - end date (default: current date) + lat_range: `45.0,50.0` (string, optional) - rescrict latitude range in response + long_range: `-90.0,-85.0` (string, optional) - restrict longitude range in response + units: `mm` (string, optional) - units, either mm or in + Response 200 (text/csv) ## map [/precips/map] ### Get map image url [GET /precips/map{?date}] + Parameters + date: `2020-01-01` (string) + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + filename: `map.png` (string, nullable) + url: `path/to/map.png` (string, nullable) ## Precipitation database info [GET /precips/info] + Response 200 (application/json; charset=utf-8) + Attributes (object) + data_cols (array) - column names in database + lat_range (array) - min, max + long_range (array) - min, max + value_range (array) - min, max + date_range (array) - min, max + expected_days (number) + actual_days (number) + missing_days (array) + compute_time (number) # Group Weather ## index [/weather] ### Get precip data for point and date range [GET /weather{?lat,long,start_date,end_date,units}] + Parameters + lat: `45.0` (number) + long: `-90.0` (number) + start_date: `2021-01-01` + end_date: `2021-10-10` + units: `f` (string, optional) - units, either f/F or c/C + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + status (string) + lat (number) + long (number) + start_date (string) + end_date (string) + days_requested (number) + days_returned (number) + units (object) + temp (string) + pressure (string) + rh (string) + compute_time (number) + data (array) + (object, optional) + date (string) + min_temp (number) + max_temp (number) + avg_temp (number) + dew_point (number) + vapor_pressure (number) + min_rh (number) + max_rh (number) + avg_rh (number) + hours_rh_over_90 (number) + avg_temp_rh_over_90 (number) + frost (boolean) + freezing (boolean) ### Download csv [GET /weather.csv{?lat,long,start_date,end_date,units}] + Parameters + lat: `45.0` (number) + long: `-90.0` (number) + start_date: `2021-01-01` + end_date: `2021-10-10` + units: `f` (string, optional) - units, either f/F or c/C + Response 200 (text/csv) ## grid [/weather/grid] ### Return hash grid of values keyed by lat/long [GET /weather/grid{?date,lat_range,long_range,units}] + Parameters + date: `2020-10-10` (string, optional) - default: current date + lat_range: `45.0,50.0` (string, optional) - rescrict latitude range in response + long_range: `-90.0,-85.0` (string, optional) - restrict longitude range in response + units: `f` (string, optional) - units, either f or c + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + status (string) - status of request + date (string) - date of the data + days_requested (number) - number of days requested + lat_range (string) - latitude range given + long_range (string) - longitude range given + grid_points (number) - number of grid points returned + units (object) + temp (string) + pressure (string) + rh (string) + compute_time (number) + data (object) ### Return csv of grid [GET /weather/grid.csv{?start_date,end_date,lat_range,long_range,units}] + Parameters + date: `2020-10-10` (string, optional) - default: current date + lat_range: `45.0,50.0` (string, optional) - rescrict latitude range in response + long_range: `-90.0,-85.0` (string, optional) - restrict longitude range in response + units: `f` (string, optional) - units, either f or c + Response 200 (text/csv) ## grid [/weather/freeze_grid] ### Return hash grid of values keyed by lat/long [GET /weather/freeze_grid{?start_date,end_date,lat_range,long_range}] + Parameters + start_date: `2020-01-01` (string, optional) - the start date (default: first of year) + end_date: `2020-10-10` (string, optional) - end date (default: current date) + lat_range: `45.0,50.0` (string, optional) - rescrict latitude range in response + long_range: `-90.0,-85.0` (string, optional) - restrict longitude range in response + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + status (string) - status of request + start_date (string) + end_date (string) + days_requested (number) + lat_range (string) + long_range (string) + grid_points (number) + units (string) + compute_time (number) + data (object) ## map [/weather/map] ### Get map image url [GET /weather/map{?date}] + Parameters + date: `2020-01-01` (string) + Response 200 (application/json; charset=utf-8) + Attributes (object) + info (object) + filename: `map.png` (string, nullable) + url: `path/to/map.png` (string, nullable) ## Weather database info [GET /precips/info] + Response 200 (application/json; charset=utf-8) + Attributes (object) + data_cols (array) - column names in database + lat_range (array) - min, max + long_range (array) - min, max + value_range (array) - min, max + date_range (array) - min, max + expected_days (number) + actual_days (number) + missing_days (array) + compute_time (number)