|
@@ -0,0 +1,783 @@
|
|
|
|
+###############################################################################
|
|
|
|
+# $Id: skin.conf 2749 2014-11-29 18:15:24Z tkeffer $ #
|
|
|
|
+# Copyright (c) 2010 Tom Keffer <tkeffer@gmail.com> #
|
|
|
|
+# SOFA SKIN (c) 2015 Sven Reifschneider <hello@blauesledersofa.de> #
|
|
|
|
+# SOFA SKIN CONFIGURATION FILE #
|
|
|
|
+###############################################################################
|
|
|
|
+
|
|
|
|
+[Extras]
|
|
|
|
+ # Template Extras
|
|
|
|
+
|
|
|
|
+ # Website URL
|
|
|
|
+ web_url = http://www.cw9009.x10host.com
|
|
|
|
+
|
|
|
|
+ # Current radar image
|
|
|
|
+ radar_img = http://www.findu.com/cgi-bin/radar-find.cgi?call=CW9009
|
|
|
|
+ # Current radar animation (starts on radar_img hover)
|
|
|
|
+ radar_gif = http://radar.weather.gov/lite/N0R/CBX_loop.gif
|
|
|
|
+ # Hyperlink for radar
|
|
|
|
+ radar_url = http://radar.weather.gov/radar.php?rid=cbx&product=N0R&overlay=11101111&loop=no
|
|
|
|
+
|
|
|
|
+ # Lightning map and hyperlink
|
|
|
|
+ #lightning_map = http://images.lightningmaps.org/blitzortung/america/index.php?map=usa&period=0.25
|
|
|
|
+ #lightning_url = http://www.lightningmaps.org/realtime
|
|
|
|
+
|
|
|
|
+ # URL for another radar (for example full Europe, Frankfurt center)
|
|
|
|
+ radar_url_alt = http://radar.weather.gov/Conus/Loop/pacnorthwest_loop.gif
|
|
|
|
+ radar_url_alt_text = "Pacific Northwest Radar"
|
|
|
|
+
|
|
|
|
+ # You. Only shows up in footer
|
|
|
|
+ you = "JDS"
|
|
|
|
+ emailname = "Josh@cw9009.x10host.com"
|
|
|
|
+ email = "Josh@cw9009.x10host.com"
|
|
|
|
+
|
|
|
|
+ # Camera link
|
|
|
|
+ #cameratitle = "(Chinden/Linder)"
|
|
|
|
+ #camera = http://www.achdidaho.org/ATIS/CCTV/CCTV_583.jpg?157
|
|
|
|
+ cameratitle = "(Ten Mile/Linder)"
|
|
|
|
+ camera = http://www.achdidaho.org/ATIS/CCTV/CCTV_664.jpg?25
|
|
|
|
+ cameratitle2 = "(Chinden/Long Lake)"
|
|
|
|
+ camera2 = http://www.achdidaho.org/ATIS/CCTV/CCTV_662.jpg?674
|
|
|
|
+
|
|
|
|
+ # Google Analytics ID
|
|
|
|
+ #googleAnalyticsId = UA-12345678-1
|
|
|
|
+
|
|
|
|
+ #CWOP
|
|
|
|
+ #used in all the templates pages
|
|
|
|
+ cwop = CW9009
|
|
|
|
+
|
|
|
|
+ #mesowest
|
|
|
|
+ mwest = C9009
|
|
|
|
+
|
|
|
|
+ #weather underground
|
|
|
|
+ wunderground = KIDMERID44
|
|
|
|
+
|
|
|
|
+ #CoCoRaHS
|
|
|
|
+ #crahs =
|
|
|
|
+
|
|
|
|
+###############################################################################
|
|
|
|
+
|
|
|
|
+[Units]
|
|
|
|
+ # This section is for managing the selection and formatting of units.
|
|
|
|
+
|
|
|
|
+ [[Groups]]
|
|
|
|
+ # For each group of measurements, this section sets what units to
|
|
|
|
+ # use for it.
|
|
|
|
+ # NB: The unit is always in the singular. I.e., 'mile_per_hour',
|
|
|
|
+ # NOT 'miles_per_hour'
|
|
|
|
+ group_altitude = foot # Options are 'foot' or 'meter'
|
|
|
|
+ group_degree_day = degree_F_day # Options are 'degree_F_day' or 'degree_C_day'
|
|
|
|
+ group_direction = degree_compass
|
|
|
|
+ group_moisture = centibar
|
|
|
|
+ group_percent = percent
|
|
|
|
+ group_pressure = mbar # Options are 'inHg', 'mmHg', 'mbar', or 'hPa'
|
|
|
|
+ group_radiation = watt_per_meter_squared
|
|
|
|
+ group_rain = inch # Options are 'inch', 'cm', or 'mm'
|
|
|
|
+ group_rainrate = inch_per_hour # Options are 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour'
|
|
|
|
+ group_speed = mile_per_hour # Options are 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second'
|
|
|
|
+ group_speed2 = mile_per_hour2 # Options are 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2'
|
|
|
|
+ group_temperature = degree_F # Options are 'degree_F' or 'degree_C'
|
|
|
|
+ group_uv = uv_index
|
|
|
|
+ group_volt = volt
|
|
|
|
+
|
|
|
|
+ # The following are used internally and should not be changed:
|
|
|
|
+ group_count = count
|
|
|
|
+ group_interval = minute
|
|
|
|
+ group_time = unix_epoch
|
|
|
|
+ group_elapsed = second
|
|
|
|
+
|
|
|
|
+ [[StringFormats]]
|
|
|
|
+ # This section sets the string formatting for each type of unit.
|
|
|
|
+ centibar = %.0f
|
|
|
|
+ cm = %.2f
|
|
|
|
+ cm_per_hour = %.2f
|
|
|
|
+ degree_C = %.1f
|
|
|
|
+ degree_F = %.1f
|
|
|
|
+ degree_compass = %.0f
|
|
|
|
+ foot = %.0f
|
|
|
|
+ hPa = %.0f
|
|
|
|
+ hour = %.1f
|
|
|
|
+ inHg = %.3f
|
|
|
|
+ inch = %.2f
|
|
|
|
+ inch_per_hour = %.2f
|
|
|
|
+ km_per_hour = %.0f
|
|
|
|
+ km_per_hour2 = %.1f
|
|
|
|
+ knot = %.0f
|
|
|
|
+ knot2 = %.1f
|
|
|
|
+ mbar = %.0f
|
|
|
|
+ meter = %.0f
|
|
|
|
+ meter_per_second = %.1f
|
|
|
|
+ meter_per_second2 = %.1f
|
|
|
|
+ mile_per_hour = %.0f
|
|
|
|
+ mile_per_hour2 = %.1f
|
|
|
|
+ mm = %.1f
|
|
|
|
+ mmHg = %.1f
|
|
|
|
+ mm_per_hour = %.1f
|
|
|
|
+ percent = %.0f
|
|
|
|
+ second = %.0f
|
|
|
|
+ uv_index = %.0f
|
|
|
|
+ volt = %.1f
|
|
|
|
+ watt_per_meter_squared = %.0f
|
|
|
|
+ NONE = " N/A"
|
|
|
|
+
|
|
|
|
+ [[Labels]]
|
|
|
|
+ # This section sets a label to be used for each type of unit.
|
|
|
|
+ centibar = " cb"
|
|
|
|
+ cm = " cm"
|
|
|
|
+ cm_per_hour = " cm/h"
|
|
|
|
+ degree_C = " C"
|
|
|
|
+ degree_F = " F"
|
|
|
|
+ degree_compass = " °"
|
|
|
|
+ foot = " feet"
|
|
|
|
+ hPa = " hPa"
|
|
|
|
+ inHg = " inHg"
|
|
|
|
+ inch = " in"
|
|
|
|
+ inch_per_hour = " in/h"
|
|
|
|
+ km_per_hour = " km/h"
|
|
|
|
+ km_per_hour2 = " km/h"
|
|
|
|
+ knot = " knoten"
|
|
|
|
+ knot2 = " knoten"
|
|
|
|
+ mbar = " mbar"
|
|
|
|
+ meter = " meter"
|
|
|
|
+ meter_per_second = " m/s"
|
|
|
|
+ meter_per_second2 = " m/s"
|
|
|
|
+ mile_per_hour = " mph"
|
|
|
|
+ mile_per_hour2 = " mph"
|
|
|
|
+ mm = " mm"
|
|
|
|
+ mmHg = " mmHg"
|
|
|
|
+ mm_per_hour = " mm/h"
|
|
|
|
+ percent = %
|
|
|
|
+ volt = " V"
|
|
|
|
+ watt_per_meter_squared = " W/m²"
|
|
|
|
+ day = " Day", " Days"
|
|
|
|
+ hour = " Hour", " Hours"
|
|
|
|
+ minute = " Minute", " Minutes"
|
|
|
|
+ second = " Second", " Seconds"
|
|
|
|
+ NONE = ""
|
|
|
|
+
|
|
|
|
+ [[TimeFormats]]
|
|
|
|
+ # This section sets the string format to be used for each time scale.
|
|
|
|
+ # The values below will work in every locale, but may not look
|
|
|
|
+ # particularly attractive. See the Customizing Guide for alternatives.
|
|
|
|
+
|
|
|
|
+ day = %X
|
|
|
|
+ week = %X (%A)
|
|
|
|
+ month = %x %X
|
|
|
|
+ year = %x %X
|
|
|
|
+ rainyear = %x %X
|
|
|
|
+ current = %x %X
|
|
|
|
+ ephem_day = %X
|
|
|
|
+ ephem_year = %x %X
|
|
|
|
+
|
|
|
|
+ [[Ordinates]]
|
|
|
|
+ # The ordinal directions. The last one should be for no wind direction
|
|
|
|
+ directions = N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW, N/A
|
|
|
|
+
|
|
|
|
+ [[DegreeDays]]
|
|
|
|
+ # This section sets the base temperatures used for the calculation
|
|
|
|
+ # of heating and cooling degree-days.
|
|
|
|
+
|
|
|
|
+ # Base temperature for heating days, with unit:
|
|
|
|
+ heating_base = 65, degree_F
|
|
|
|
+ # Base temperature for cooling days, with unit:
|
|
|
|
+ cooling_base = 65, degree_F
|
|
|
|
+
|
|
|
|
+ [[Trend]]
|
|
|
|
+ time_delta = 10800 # 3 hours
|
|
|
|
+ time_grace = 300 # 5 minutes
|
|
|
|
+
|
|
|
|
+###############################################################################
|
|
|
|
+
|
|
|
|
+[Labels]
|
|
|
|
+ # Labels used in this skin
|
|
|
|
+ # Set to hemisphere abbreviations suitable for your location:
|
|
|
|
+ hemispheres = N, S, E, W
|
|
|
|
+ # Formats to be used for latitude whole degrees, longitude whole degrees,
|
|
|
|
+ # and minutes:
|
|
|
|
+ latlon_formats = "%02d", "%03d", "%05.2f"
|
|
|
|
+
|
|
|
|
+ [[Generic]]
|
|
|
|
+ # Generic labels, keyed by an observation type.
|
|
|
|
+ barometer = Barometer
|
|
|
|
+ dewpoint = Dew Point
|
|
|
|
+ heatindex = Heat Index
|
|
|
|
+ inHumidity = Inside Humidity
|
|
|
|
+ inTemp = Inside Temperature
|
|
|
|
+ outHumidity = Outside Humidity
|
|
|
|
+ outTemp = Outside Temperature
|
|
|
|
+ radiation = Radiation
|
|
|
|
+ rain = Rain
|
|
|
|
+ rainRate = Rain Rate
|
|
|
|
+ rxCheckPercent = ISS Signal Quality
|
|
|
|
+ UV = UV Index
|
|
|
|
+ windDir = Wind Direction
|
|
|
|
+ windGust = Gust Speed
|
|
|
|
+ windGustDir = Gust Direction
|
|
|
|
+ windSpeed = Wind Speed
|
|
|
|
+ windchill = Wind Chill
|
|
|
|
+ windgustvec = Gust Vector
|
|
|
|
+ windvec = Wind Vector
|
|
|
|
+
|
|
|
|
+ # This one is probably specific to my station!
|
|
|
|
+ extraTemp1 = Pond Temperature
|
|
|
|
+
|
|
|
|
+###############################################################################
|
|
|
|
+
|
|
|
|
+[Almanac]
|
|
|
|
+ # The labels to be used for the phases of the moon:
|
|
|
|
+ moon_phases = New, Waxing crescent, First quarter, Waxing gibbous, Full, Waning gibbous, Last quarter, Waning crescent
|
|
|
|
+
|
|
|
|
+###############################################################################
|
|
|
|
+
|
|
|
|
+[CheetahGenerator]
|
|
|
|
+ # This section is used by the generator CheetahGenerator, and specifies
|
|
|
|
+ # which files are to be generated from which template.
|
|
|
|
+ # Possible encodings are 'html_entities', 'utf8', or 'strict_ascii'
|
|
|
|
+ encoding = html_entities
|
|
|
|
+
|
|
|
|
+ search_list_extensions = user.historygenerator.MyXSearch
|
|
|
|
+
|
|
|
|
+ [[SummaryByMonth]]
|
|
|
|
+ # Reports that summarize "by month"
|
|
|
|
+ [[[NOAA_month]]]
|
|
|
|
+ encoding = utf8
|
|
|
|
+ template = NOAA/NOAA-YYYY-MM.txt.tmpl
|
|
|
|
+
|
|
|
|
+ [[SummaryByYear]]
|
|
|
|
+ # Reports that summarize "by year"
|
|
|
|
+ [[[NOAA_year]]]
|
|
|
|
+ encoding = utf8
|
|
|
|
+ template = NOAA/NOAA-YYYY.txt.tmpl
|
|
|
|
+
|
|
|
|
+ [[ToDate]]
|
|
|
|
+ # Reports that show statistics "to date", such as day-to-date,
|
|
|
|
+ # week-to-date, month-to-date, etc.
|
|
|
|
+ [[[day]]]
|
|
|
|
+ template = index.html.tmpl
|
|
|
|
+
|
|
|
|
+ [[[week]]]
|
|
|
|
+ template = week.html.tmpl
|
|
|
|
+
|
|
|
|
+ [[[month]]]
|
|
|
|
+ template = month.html.tmpl
|
|
|
|
+
|
|
|
|
+ [[[year]]]
|
|
|
|
+ template = year.html.tmpl
|
|
|
|
+
|
|
|
|
+ [[[RSS]]]
|
|
|
|
+ template = RSS/weewx_rss.xml.tmpl
|
|
|
|
+
|
|
|
|
+ [[HTMLFiles]]
|
|
|
|
+ #
|
|
|
|
+ # Pages that do not require time interval specific tags
|
|
|
|
+ #
|
|
|
|
+
|
|
|
|
+ [[[station]]]
|
|
|
|
+ # All time station records
|
|
|
|
+ template = station.html.tmpl
|
|
|
|
+
|
|
|
|
+ [[[summary]]]
|
|
|
|
+ # All time station records
|
|
|
|
+ template = summary.html.tmpl
|
|
|
|
+
|
|
|
|
+ [[[textphp]]]
|
|
|
|
+ # All time station records
|
|
|
|
+ template = text.php.tmpl
|
|
|
|
+
|
|
|
|
+###############################################################################
|
|
|
|
+
|
|
|
|
+[CopyGenerator]
|
|
|
|
+ # This section is used by the generator CopyGenerator
|
|
|
|
+
|
|
|
|
+ # List of files to be copied only the first time the generator runs
|
|
|
|
+ copy_once = css/main.css, js/*, .htaccess, 404.html, robots.txt, touch-icon.png
|
|
|
|
+
|
|
|
|
+###############################################################################
|
|
|
|
+
|
|
|
|
+[HistoryReport]
|
|
|
|
+
|
|
|
|
+ #
|
|
|
|
+ # Settings for the HTML month/year colour coded summary table generator
|
|
|
|
+ #
|
|
|
|
+
|
|
|
|
+ # minvalues, maxvalues and colours should contain the same number of elements.
|
|
|
|
+ #
|
|
|
|
+ # For example, the [min_temp] example below, if the minimum temperature measured in
|
|
|
|
+ # a month is between -50 and -10 (degC) then the cell will be shaded in html colour code #0029E5.
|
|
|
|
+ #
|
|
|
|
+
|
|
|
|
+ # Default is temperature scale
|
|
|
|
+ #minvalues = -50, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35
|
|
|
|
+ minvalues = -10, -5, 0, 5, 10, 15, 25, 35, 45, 50, 60
|
|
|
|
+ #maxvalues = -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 60
|
|
|
|
+ maxvalues = -5, 0, 10, 20, 35, 45, 60, 75, 90, 100, 120
|
|
|
|
+ colours = "#0029E5", "#0186E7", "#02E3EA", "#04EC97", "#05EF3D2", "#2BF207", "#8AF408", "#E9F70A", "#F9A90B", "#FC4D0D", "#FF0F2D"
|
|
|
|
+ monthnames = Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
|
|
|
|
+
|
|
|
|
+ # The Raspberry Pi typically takes 15+ seconds to calculate all the summaries with a few years of weather date.
|
|
|
|
+ # refresh_interval is how often in minutes the tables are calculated.
|
|
|
|
+ refresh_interval = 1440
|
|
|
|
+
|
|
|
|
+ [[min_temp]]
|
|
|
|
+ obs_type = outTemp # obs_type can be any weewx reading
|
|
|
|
+ aggregate_type = min # Any of these: 'sum', 'count', 'avg', 'max', 'min'
|
|
|
|
+
|
|
|
|
+ # Can also use these aggregate_types: 'max_ge', 'max_le', 'min_le', 'sum_ge' to count days where observation
|
|
|
|
+ # is ge: greater of equalto, or le: lessthan or equal to a threshold value
|
|
|
|
+ # To specify this threshold, use: aggregate_threshold = [value], [units]
|
|
|
|
+ # e.g Specify temperature threshold of 20C:
|
|
|
|
+ #
|
|
|
|
+ # aggregate_threshold = 20, degree_C
|
|
|
|
+
|
|
|
|
+ [[max_temp]]
|
|
|
|
+ obs_type = outTemp
|
|
|
|
+ aggregate_type = max
|
|
|
|
+
|
|
|
|
+ [[avg_temp]]
|
|
|
|
+ obs_type = outTemp
|
|
|
|
+ aggregate_type = avg
|
|
|
|
+
|
|
|
|
+ [[avg_htemp]]
|
|
|
|
+ obs_type = inTemp
|
|
|
|
+ aggregate_type = avg
|
|
|
|
+
|
|
|
|
+ [[temp_count]]
|
|
|
|
+ obs_type = outTemp
|
|
|
|
+ aggregate_type = sum_ge
|
|
|
|
+ aggregate_threshold = -50, degree_F
|
|
|
|
+ #minvalues = 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
|
|
|
|
+ #maxvalues = 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 32
|
|
|
|
+
|
|
|
|
+ [[rain]]
|
|
|
|
+ obs_type = rain
|
|
|
|
+ aggregate_type = sum_ge
|
|
|
|
+ aggregate_threshold = 0.02, inch
|
|
|
|
+ minvalues = 0, 3, 6, 9, 12, 18 # Override default temperature colour scheme with rain specific scale
|
|
|
|
+ maxvalues = 6, 12, 18, 24, 30, 50
|
|
|
|
+ colours = "#E0F8E0", "#A9F5A9", "#58FA58", "#2EFE2E", "#01DF01", "#01DF01"
|
|
|
|
+
|
|
|
|
+ [[rain_sum]]
|
|
|
|
+ obs_type = rain
|
|
|
|
+ aggregate_type = sum
|
|
|
|
+ #aggregate_threshold = 0.02, inch
|
|
|
|
+ #minvalues = 0.00, 0.02, 0.05, 0.10, 0.20, 0.30 # Override default temperature colour scheme with rain specific scale
|
|
|
|
+ #maxvalues = 0.06, 0.10, 0.25, 0.50, 1.00, 1.50
|
|
|
|
+ colours = "#E0F8E0", "#A9F5A9", "#58FA58", "#2EFE2E", "#01DF01", "#01DF01"
|
|
|
|
+
|
|
|
|
+ [[rain_max]]
|
|
|
|
+ obs_type = rain
|
|
|
|
+ aggregate_type = maxsum
|
|
|
|
+ #aggregate_threshold = 0.02, inch
|
|
|
|
+ #minvalues = 0.00, 0.02, 0.05, 0.10, 0.20, 0.30 # Override default temperature colour scheme with rain specific scale
|
|
|
|
+ #maxvalues = 0.06, 0.10, 0.25, 0.50, 1.00, 1.50
|
|
|
|
+ colours = "#E0F8E0", "#A9F5A9", "#58FA58", "#2EFE2E", "#01DF01", "#01DF01"
|
|
|
|
+
|
|
|
|
+ #[[wind_max]]
|
|
|
|
+ #obs_type = wind
|
|
|
|
+ #aggregate_type = max
|
|
|
|
+ #aggregate_threshold = 0.02, inch
|
|
|
|
+ #minvalues = 0.00, 0.02, 0.05, 0.10, 0.20, 0.30 # Override default temperature colour scheme with rain specific scale
|
|
|
|
+ #maxvalues = 20, 30, 40, 60, 80, 100
|
|
|
|
+ #colours = "#E0F8E0", "#A9F5A9", "#58FA58", "#2EFE2E", "#01DF01", "#01DF01"
|
|
|
|
+
|
|
|
|
+ #[[max_htemp]]
|
|
|
|
+ #obs_type = inTemp
|
|
|
|
+ #aggregate_type = max
|
|
|
|
+ #maxvalues = 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90
|
|
|
|
+
|
|
|
|
+ #[[min_htemp]]
|
|
|
|
+ #obs_type = inTemp
|
|
|
|
+ #aggregate_type = min
|
|
|
|
+ #maxvalues = 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90
|
|
|
|
+
|
|
|
|
+ [[NOAA]]
|
|
|
|
+ #
|
|
|
|
+ # Creates a table of links to NOAA reports with the tag $NOAA_table
|
|
|
|
+ # Comment out [[NOAATable]] if you do not need this.
|
|
|
|
+ #
|
|
|
|
+
|
|
|
|
+ # Where to find the NOAA files and how they are named
|
|
|
|
+ # Uses Python datetime convention (docs.python.org/2/library/datetime.html):
|
|
|
|
+ # %Y = YYYY, %y = YY, %m = MM, etc.
|
|
|
|
+ #
|
|
|
|
+ year_filename = NOAA/NOAA-%Y.txt
|
|
|
|
+ month_filename = NOAA/NOAA-%Y-%m.txt
|
|
|
|
+
|
|
|
|
+###############################################################################
|
|
|
|
+
|
|
|
|
+[ImageGenerator]
|
|
|
|
+
|
|
|
|
+ # This section lists all the images to be generated, what SQL types are to
|
|
|
|
+ # be included in them, along with many plotting options, such as color or
|
|
|
|
+ # font. There's a default for almost everything, if not specified below.
|
|
|
|
+ # Nevertheless, I have explicitly put in values, to make it easy to see
|
|
|
|
+ # and understand the options.
|
|
|
|
+ #
|
|
|
|
+ # Fonts can be anything accepted by the Python Imaging Library (PIL), which
|
|
|
|
+ # is currently truetype (.ttf), or PIL's own font format (.pil). See
|
|
|
|
+ # http://www.pythonware.com/library/pil/handbook/imagefont.htm for more
|
|
|
|
+ # details. Note that "font size" is only used with truetype (.ttf)
|
|
|
|
+ # fonts. For others, font size is determined by the bit-mapped size,
|
|
|
|
+ # usually encoded in the file name (e.g., courB010.pil). If a font cannot
|
|
|
|
+ # be found, then a default font will be used.
|
|
|
|
+ #
|
|
|
|
+ # Colors can be specified any of three ways:
|
|
|
|
+ # 1. Notation 0xBBGGRR;
|
|
|
|
+ # 2. Notation #RRGGBB; or
|
|
|
|
+ # 3. Using an English name, such as 'yellow', or 'blue'.
|
|
|
|
+ # So, 0xff0000, #0000ff, or 'blue' would all specify a pure blue color.
|
|
|
|
+
|
|
|
|
+ image_width = 800
|
|
|
|
+ image_height = 300
|
|
|
|
+ image_background_color = 0xffffff
|
|
|
|
+
|
|
|
|
+ chart_background_color = 0xffffff
|
|
|
|
+ chart_gridline_color = 0xdbdbdb
|
|
|
|
+
|
|
|
|
+ top_label_font_path = /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf
|
|
|
|
+ top_label_font_size = 16
|
|
|
|
+
|
|
|
|
+ unit_label_font_path = /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf
|
|
|
|
+ unit_label_font_size = 12
|
|
|
|
+ unit_label_font_color = 0x000000
|
|
|
|
+
|
|
|
|
+ bottom_label_font_path = /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf
|
|
|
|
+ bottom_label_font_size = 12
|
|
|
|
+ bottom_label_font_color = 0x000000
|
|
|
|
+
|
|
|
|
+ axis_label_font_path = /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf
|
|
|
|
+ axis_label_font_size = 12
|
|
|
|
+ axis_label_font_color = 0x000000
|
|
|
|
+
|
|
|
|
+ # Options for the compass rose, used for progressive vector plots
|
|
|
|
+ rose_label = N
|
|
|
|
+ rose_label_font_path = /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf
|
|
|
|
+ rose_label_font_size = 12
|
|
|
|
+ rose_label_font_color = 0x000000
|
|
|
|
+
|
|
|
|
+ # Default colors for the plot lines. These can be overridden for
|
|
|
|
+ # individual lines using option 'color'
|
|
|
|
+ chart_line_colors = 0xb48242, 0x4242b4, 0x42b442
|
|
|
|
+
|
|
|
|
+ # Type of line. Only 'solid' or 'none' is offered now
|
|
|
|
+ line_type = 'solid'
|
|
|
|
+
|
|
|
|
+ # Size of marker in pixels
|
|
|
|
+ marker_size = 8
|
|
|
|
+ # Type of marker. Pick one of 'cross', 'x', 'circle', 'box', or 'none'
|
|
|
|
+ marker_type = 'none'
|
|
|
|
+
|
|
|
|
+ # Default fill colors for bar charts. These can be overridden for
|
|
|
|
+ # individual bar plots using option 'fill_color'
|
|
|
|
+ chart_fill_colors = 0xc4b272, 0x7272c4, 0x72c472
|
|
|
|
+
|
|
|
|
+ # The following option merits an explanation. The y-axis scale used for
|
|
|
|
+ # plotting can be controlled using option 'yscale'. It is a 3-way tuple,
|
|
|
|
+ # with values (ylow, yhigh, min_interval). If set to "None", a parameter is
|
|
|
|
+ # set automatically, otherwise the value is used. However, in the case of
|
|
|
|
+ # min_interval, what is set is the *minimum* y-axis tick interval.
|
|
|
|
+ yscale = None, None, None
|
|
|
|
+
|
|
|
|
+ # For progressive vector plots, you can choose to rotate the vectors.
|
|
|
|
+ # Positive is clockwise.
|
|
|
|
+ # For my area, westerlies overwhelmingly predominate, so by rotating
|
|
|
|
+ # positive 90 degrees, the average vector will point straight up.
|
|
|
|
+ vector_rotate = 90
|
|
|
|
+
|
|
|
|
+ # This defines what fraction of the difference between maximum and minimum
|
|
|
|
+ # horizontal chart bounds is considered a gap in the samples and should not
|
|
|
|
+ # be plotted.
|
|
|
|
+ line_gap_fraction = 0.01
|
|
|
|
+ bar_gap_fraction = 0.20
|
|
|
|
+
|
|
|
|
+ # This controls whether day/night bands will be shown. They only look good
|
|
|
|
+ # on the day and week plots.
|
|
|
|
+ show_daynight = true
|
|
|
|
+ # These control the appearance of the bands if they are shown. 0xBBGGRR
|
|
|
|
+ # Sofa Skin blue orange:
|
|
|
|
+ # Night: #f0fdff Day: #fefff0 Edge: #f0fffb
|
|
|
|
+ daynight_day_color = 0xf0fffe
|
|
|
|
+ daynight_night_color = 0xfffdf0
|
|
|
|
+ daynight_edge_color = 0xfbfff0
|
|
|
|
+
|
|
|
|
+ ## What follows is a list of subsections, each specifying a time span, such
|
|
|
|
+ ## as a day, week, month, or year. There's nothing special about them or
|
|
|
|
+ ## their names: it's just a convenient way to group plots with a time span
|
|
|
|
+ ## in common. You could add a time span [[biweek_images]] and add the
|
|
|
|
+ ## appropriate time length, aggregation strategy, etc., without changing
|
|
|
|
+ ## any code.
|
|
|
|
+ ##
|
|
|
|
+ ## Within each time span, each sub-subsection is the name of a plot to be
|
|
|
|
+ ## generated for that time span. The generated plot will be stored using
|
|
|
|
+ ## that name, in whatever directory was specified by option 'HTML_ROOT'
|
|
|
|
+ ## in weewx.conf.
|
|
|
|
+ ##
|
|
|
|
+ ## With one final nesting (four brackets!) is the sql type of each line to
|
|
|
|
+ ## be included within that plot.
|
|
|
|
+ ##
|
|
|
|
+ ## Unless overridden, leaf nodes inherit options from their parent
|
|
|
|
+
|
|
|
|
+ # Default plot and aggregation. Can get overridden at any level.
|
|
|
|
+ plot_type = line
|
|
|
|
+ aggregate_type = none
|
|
|
|
+ width = 1
|
|
|
|
+ time_length = 86400 # == 24 hours
|
|
|
|
+
|
|
|
|
+ [[day_images]]
|
|
|
|
+ x_label_format = %H:%M
|
|
|
|
+ bottom_label_format = %x %X
|
|
|
|
+ time_length = 97200 # == 27 hours
|
|
|
|
+
|
|
|
|
+ [[[daybarometer]]]
|
|
|
|
+ [[[[barometer]]]]
|
|
|
|
+
|
|
|
|
+ [[[daytempdew]]]
|
|
|
|
+ [[[[outTemp]]]]
|
|
|
|
+ [[[[dewpoint]]]]
|
|
|
|
+
|
|
|
|
+ [[[dayrain]]]
|
|
|
|
+ # Make sure the y-axis increment is at least 0.02 for the rain plot
|
|
|
|
+ yscale = None, None, 0.02
|
|
|
|
+ plot_type = bar
|
|
|
|
+ [[[[rain]]]]
|
|
|
|
+ aggregate_type = sum
|
|
|
|
+ aggregate_interval = 3600
|
|
|
|
+ label = Rain (hourly total)
|
|
|
|
+
|
|
|
|
+ [[[dayrx]]]
|
|
|
|
+ [[[[rxCheckPercent]]]]
|
|
|
|
+
|
|
|
|
+ [[[daypond]]]
|
|
|
|
+ yscale = None, None, 0.5
|
|
|
|
+ [[[[extraTemp1]]]]
|
|
|
|
+
|
|
|
|
+ [[[daywind]]]
|
|
|
|
+ [[[[windSpeed]]]]
|
|
|
|
+ [[[[windGust]]]]
|
|
|
|
+
|
|
|
|
+ [[[daywinddir]]]
|
|
|
|
+ # Hardwire in the y-axis scale for wind direction
|
|
|
|
+ yscale = 0.0, 360.0, 45.0
|
|
|
|
+ [[[[windDir]]]]
|
|
|
|
+
|
|
|
|
+ [[[daywindvec]]]
|
|
|
|
+ [[[[windvec]]]]
|
|
|
|
+ plot_type = vector
|
|
|
|
+
|
|
|
|
+ [[[daytempchill]]]
|
|
|
|
+ [[[[windchill]]]]
|
|
|
|
+ [[[[heatindex]]]]
|
|
|
|
+
|
|
|
|
+ [[[dayinside]]]
|
|
|
|
+ [[[[inTemp]]]]
|
|
|
|
+
|
|
|
|
+ [[[dayinhumid]]]
|
|
|
|
+ [[[[inHumidity]]]]
|
|
|
|
+
|
|
|
|
+ [[[dayradiation]]]
|
|
|
|
+ [[[[radiation]]]]
|
|
|
|
+
|
|
|
|
+ [[[dayuv]]]
|
|
|
|
+ yscale = 0, 16, 1
|
|
|
|
+ [[[[UV]]]]
|
|
|
|
+
|
|
|
|
+ [[week_images]]
|
|
|
|
+ x_label_format = %d
|
|
|
|
+ bottom_label_format = %x %X
|
|
|
|
+ time_length = 604800 # == 7 days
|
|
|
|
+ aggregate_type = avg
|
|
|
|
+ aggregate_interval = 3600
|
|
|
|
+
|
|
|
|
+ [[[weekbarometer]]]
|
|
|
|
+ [[[[barometer]]]]
|
|
|
|
+
|
|
|
|
+ [[[weektempdew]]]
|
|
|
|
+ [[[[outTemp]]]]
|
|
|
|
+ [[[[dewpoint]]]]
|
|
|
|
+
|
|
|
|
+ [[[weekrain]]]
|
|
|
|
+ yscale = None, None, 0.02
|
|
|
|
+ plot_type = bar
|
|
|
|
+ [[[[rain]]]]
|
|
|
|
+ aggregate_type = sum
|
|
|
|
+ aggregate_interval = 86400
|
|
|
|
+ label = Rain (daily total)
|
|
|
|
+
|
|
|
|
+ [[[weekpond]]]
|
|
|
|
+ yscale = None, None, 0.5
|
|
|
|
+ [[[[extraTemp1]]]]
|
|
|
|
+
|
|
|
|
+ [[[weekrx]]]
|
|
|
|
+ [[[[rxCheckPercent]]]]
|
|
|
|
+
|
|
|
|
+ [[[weekwind]]]
|
|
|
|
+ [[[[windSpeed]]]]
|
|
|
|
+ [[[[windGust]]]]
|
|
|
|
+ aggregate_type = max
|
|
|
|
+
|
|
|
|
+ [[[weekwinddir]]]
|
|
|
|
+ yscale = 0.0, 360.0, 45.0
|
|
|
|
+ [[[[windDir]]]]
|
|
|
|
+
|
|
|
|
+ [[[weekwindvec]]]
|
|
|
|
+ [[[[windvec]]]]
|
|
|
|
+ plot_type = vector
|
|
|
|
+
|
|
|
|
+ [[[weektempchill]]]
|
|
|
|
+ [[[[windchill]]]]
|
|
|
|
+ [[[[heatindex]]]]
|
|
|
|
+
|
|
|
|
+ [[[weekinside]]]
|
|
|
|
+ [[[[inTemp]]]]
|
|
|
|
+
|
|
|
|
+ [[[weekinhumid]]]
|
|
|
|
+ [[[[inHumidity]]]]
|
|
|
|
+
|
|
|
|
+ [[[weekradiation]]]
|
|
|
|
+ [[[[radiation]]]]
|
|
|
|
+
|
|
|
|
+ [[[weekuv]]]
|
|
|
|
+ yscale = 0, 16, 1
|
|
|
|
+ [[[[UV]]]]
|
|
|
|
+
|
|
|
|
+ [[month_images]]
|
|
|
|
+ x_label_format = %d
|
|
|
|
+ bottom_label_format = %x %X
|
|
|
|
+ time_length = 2592000 # == 30 days
|
|
|
|
+ aggregate_type = avg
|
|
|
|
+ aggregate_interval = 10800 # == 3 hours
|
|
|
|
+ show_daynight = false
|
|
|
|
+
|
|
|
|
+ [[[monthbarometer]]]
|
|
|
|
+ [[[[barometer]]]]
|
|
|
|
+
|
|
|
|
+ [[[monthtempdew]]]
|
|
|
|
+ [[[[outTemp]]]]
|
|
|
|
+ [[[[dewpoint]]]]
|
|
|
|
+
|
|
|
|
+ [[[monthrain]]]
|
|
|
|
+ yscale = None, None, 0.02
|
|
|
|
+ plot_type = bar
|
|
|
|
+ [[[[rain]]]]
|
|
|
|
+ aggregate_type = sum
|
|
|
|
+ aggregate_interval = 86400
|
|
|
|
+ label = Rain (daily total)
|
|
|
|
+
|
|
|
|
+ [[[monthpond]]]
|
|
|
|
+ yscale = None, None, 0.5
|
|
|
|
+ [[[[extraTemp1]]]]
|
|
|
|
+
|
|
|
|
+ [[[monthrx]]]
|
|
|
|
+ [[[[rxCheckPercent]]]]
|
|
|
|
+
|
|
|
|
+ [[[monthwind]]]
|
|
|
|
+ [[[[windSpeed]]]]
|
|
|
|
+ [[[[windGust]]]]
|
|
|
|
+ aggregate_type = max
|
|
|
|
+
|
|
|
|
+ [[[monthwinddir]]]
|
|
|
|
+ yscale = 0.0, 360.0, 45.0
|
|
|
|
+ [[[[windDir]]]]
|
|
|
|
+
|
|
|
|
+ [[[monthwindvec]]]
|
|
|
|
+ [[[[windvec]]]]
|
|
|
|
+ plot_type = vector
|
|
|
|
+
|
|
|
|
+ [[[monthtempchill]]]
|
|
|
|
+ [[[[windchill]]]]
|
|
|
|
+ [[[[heatindex]]]]
|
|
|
|
+
|
|
|
|
+ [[[monthinside]]]
|
|
|
|
+ [[[[inTemp]]]]
|
|
|
|
+
|
|
|
|
+ [[[monthinhumid]]]
|
|
|
|
+ [[[[inHumidity]]]]
|
|
|
|
+
|
|
|
|
+ [[[monthradiation]]]
|
|
|
|
+ [[[[radiation]]]]
|
|
|
|
+
|
|
|
|
+ [[[monthuv]]]
|
|
|
|
+ yscale = 0, 16, 1
|
|
|
|
+ [[[[UV]]]]
|
|
|
|
+
|
|
|
|
+ [[year_images]]
|
|
|
|
+ x_label_format = %m/%d
|
|
|
|
+ bottom_label_format = %x %X
|
|
|
|
+ time_length = 31536000 # == 365 days
|
|
|
|
+ aggregate_type = avg
|
|
|
|
+ aggregate_interval = 86400
|
|
|
|
+ show_daynight = false
|
|
|
|
+
|
|
|
|
+ [[[yearbarometer]]]
|
|
|
|
+ [[[[barometer]]]]
|
|
|
|
+
|
|
|
|
+ [[[yeartempdew]]]
|
|
|
|
+ [[[[outTemp]]]]
|
|
|
|
+ label = Average Daily Temperature
|
|
|
|
+ [[[[dewpoint]]]]
|
|
|
|
+ label = and Dewpoint
|
|
|
|
+
|
|
|
|
+ # Daily high/lows:
|
|
|
|
+ [[[yearhilow]]]
|
|
|
|
+ [[[[hi]]]]
|
|
|
|
+ data_type = outTemp
|
|
|
|
+ aggregate_type = max
|
|
|
|
+ label = High
|
|
|
|
+ [[[[low]]]]
|
|
|
|
+ data_type = outTemp
|
|
|
|
+ aggregate_type = min
|
|
|
|
+ label = and Low Temperature
|
|
|
|
+
|
|
|
|
+ [[[yearwind]]]
|
|
|
|
+ [[[[windSpeed]]]]
|
|
|
|
+ [[[[windGust]]]]
|
|
|
|
+ aggregate_type = max
|
|
|
|
+
|
|
|
|
+ [[[yearrain]]]
|
|
|
|
+ yscale = None, None, 0.02
|
|
|
|
+ plot_type = bar
|
|
|
|
+ [[[[rain]]]]
|
|
|
|
+ aggregate_type = sum
|
|
|
|
+ # aggregate_interval = 2629800 # Magic number: the length of a nominal month
|
|
|
|
+ aggregate_interval = 604800 # == 1 week
|
|
|
|
+ label = Rain (weekly total)
|
|
|
|
+
|
|
|
|
+ [[[yearpond]]]
|
|
|
|
+ yscale = None, None, 0.5
|
|
|
|
+ [[[[extraTemp1]]]]
|
|
|
|
+
|
|
|
|
+ [[[yearrx]]]
|
|
|
|
+ [[[[rxCheckPercent]]]]
|
|
|
|
+
|
|
|
|
+ [[[yearwinddir]]]
|
|
|
|
+ yscale = 0.0, 360.0, 45.0
|
|
|
|
+ [[[[windDir]]]]
|
|
|
|
+
|
|
|
|
+ [[[yearwindvec]]]
|
|
|
|
+ [[[[windvec]]]]
|
|
|
|
+ plot_type = vector
|
|
|
|
+
|
|
|
|
+ [[[yeartempchill]]]
|
|
|
|
+ [[[[windchill]]]]
|
|
|
|
+ [[[[heatindex]]]]
|
|
|
|
+
|
|
|
|
+ [[[yearinside]]]
|
|
|
|
+ [[[[inTemp]]]]
|
|
|
|
+
|
|
|
|
+ [[[yearinhumid]]]
|
|
|
|
+ [[[[inHumidity]]]]
|
|
|
|
+
|
|
|
|
+ [[[yearradiation]]]
|
|
|
|
+ [[[[radiation]]]]
|
|
|
|
+
|
|
|
|
+ [[[yearuv]]]
|
|
|
|
+ yscale = 0, 16, 1
|
|
|
|
+ [[[[UV]]]]
|
|
|
|
+
|
|
|
|
+###############################################################################
|
|
|
|
+
|
|
|
|
+#
|
|
|
|
+# The list of generators that are to be run:
|
|
|
|
+#
|
|
|
|
+[Generators]
|
|
|
|
+ generator_list = weewx.cheetahgenerator.CheetahGenerator, weewx.imagegenerator.ImageGenerator, weewx.reportengine.CopyGenerator
|