6.11
"skin.conf.cydia" As-Distributed Configuration
###############################################################################
# SEASONS SKIN CONFIGURATION FILE #
# Copyright (c) 2018 Tom Keffer <tkeffer@gmail.com> and Matthew Wall #
# See the file LICENSE.txt for your rights. #
###############################################################################
# ccr . 2019 Feb 12 . Upgrade to weeWX 3.9.1.
# ccr . 2019 Jan 09 . Provide other GDD calculation methods.
# ccr . 2018 Mar 20 . Add copy_once Cydia/cydia.css.
# ccr . 2018 Mar 06 . CydiaGenerator parms.
# ccr . 2018 Feb 14 . Cydia *.csv report.
# ccr . 2017 Sep 26 . Customization.
skin_semantics = 2
###############################################################################
# The following section is for any extra tags that you want to be available in the templates
[Extras]
# This radar image would be available as $Extras.radar_img
#radar_img = http://radar.weather.gov/ridge/lite/N0R/RTX_loop.gif
# This URL will be used as the image hyperlink:
#radar_url = http://radar.weather.gov/ridge/radar.php?product=NCR&rid=RTX&loop=yes
# Similar to radar, but for satellite image.
#satellite_img = http://images.intellicast.com/WxImages/SatelliteLoop/hipacsat_None_anim.gif
#satellite_url = http://images.intellicast.com/WxImages/SatelliteLoop/hipacsat_None_anim.gif
# To display a map, enter an API key for google maps
#google_maps_apikey = xxx
# If you have a Google Analytics ID, uncomment and edit the next line, and
# the analytics code will be included in your generated HTML files:
#googleAnalyticsId = UA-12345678-1
radar_img = http://images.intellicast.com/WxImages/_200w/Radar/usa.gif # 2017 Sep 26
radar_url = http://www.intellicast.com/National/Radar/Current.aspx?location=USMN0657&animate=true
cydia_1_img = "Cydia/C_pomonella_First_Flight.png" # 2019 Jan 26
cydia_1_url = "Cydia/C_pomonella_First_Flight.html"
cydia_2_img = "Cydia/C_pomonella_Second_Flight.png" # 2019 Jan 26
cydia_2_url = "Cydia/C_pomonella_Second_Flight.html"
###############################################################################
[Labels]
# Override some labels. No need to identify these as a "Battery"
# or "Voltage", because that is included in the template.
[[Generic]]
txBatteryStatus = Transmitter
windBatteryStatus = Wind
rainBatteryStatus = Rain
outTempBatteryStatus = Outside Temperature
inTempBatteryStatus = Inside Temperature
consBatteryVoltage = Console
heatingVoltage = Heating
supplyVoltage = Supply
referenceVoltage = Reference
# Some specialized labels
rain_today = Rain Today
wind = Wind
###############################################################################
# The CheetahGenerator creates files from templates. This section
# specifies which files will be generated from which template.
[CheetahGenerator]
# Possible encodings are 'html_entities', 'utf8', or 'strict_ascii'
encoding = html_entities
[[SummaryByMonth]]
# Reports that summarize "by month"
[[[NOAA_month]]]
encoding = strict_ascii
template = NOAA/NOAA-YYYY-MM.txt.tmpl
[[SummaryByYear]]
# Reports that summarize "by year"
[[[NOAA_year]]]
encoding = strict_ascii
template = NOAA/NOAA-YYYY.txt.tmpl
[[[CydiaDDData]]] # 2018 Feb 14
# This creates a *.csv file used by the CydiaGenerator.
encoding = strict_ascii
template = Cydia/NOAA-YYYY.csv.tmpl
[[ToDate]]
# Reports that show statistics "to date", such as day-to-date,
# week-to-date, month-to-date, etc.
[[[index]]]
template = index.html.tmpl
[[[statistics]]]
template = statistics.html.tmpl
[[[telemetry]]]
template = telemetry.html.tmpl
[[[tabular]]]
template = tabular.html.tmpl
[[[celestial]]]
template = celestial.html.tmpl
# Uncomment the following to have WeeWX generate a celestial page only once an hour:
# stale_age = 3600
[[[RSS]]]
template = rss.xml.tmpl
###############################################################################
# The CopyGenerator copies files from one location to another.
[CopyGenerator]
# List of files to be copied only the first time the generator runs
copy_once = seasons.css, seasons.js, favicon.ico, font/*.woff, font/*.woff2
# List of files to be copied each time the generator runs
# copy_always =
###############################################################################
# The ImageGenerator creates image plots of data.
[ImageGenerator]
# This section lists all the images to be generated, what SQL types are to
# be included in them, along with many plotting options. There is a default
# for almost everything. Nevertheless, values for most options are included
# to make it easy to see and understand the options.
#
# Fonts can be anything accepted by the Python Imaging Library (PIL), which
# includes 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). A relative path
# for a font is relative to the SKIN_ROOT. 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 = 500
image_height = 180
image_background_color = 0xffffff
chart_background_color = 0xffffff
chart_gridline_color = 0xd0d0d0
# Setting to 2 or more might give a sharper image with fewer jagged edges
anti_alias = 1
top_label_font_path = font/OpenSans-Bold.ttf
top_label_font_size = 14
unit_label_font_path = font/OpenSans-Bold.ttf
unit_label_font_size = 12
unit_label_font_color = 0x787878
bottom_label_font_path = font/OpenSans-Regular.ttf
bottom_label_font_size = 12
bottom_label_font_color = 0x787878
bottom_label_offset = 3
axis_label_font_path = font/OpenSans-Regular.ttf
axis_label_font_size = 10
axis_label_font_color = 0x787878
# Options for the compass rose, used for progressive vector plots
rose_label = N
rose_label_font_path = font/OpenSans-Regular.ttf
rose_label_font_size = 9
rose_label_font_color = 0x222222
# Default colors for the plot lines. These can be overridden for
# individual lines using option 'color'.
chart_line_colors = 0xb48242, 0x4242b4, 0x42b442, 0xb4b442, 0xb442b4
# Default fill colors for bar charts. These can be overridden for
# individual bar plots using option 'fill_color'.
chart_fill_colors = 0xc4b272, 0x7272c4, 0x72c472, 0xc4c472, 0xc472c4
# Type of line. Options are 'solid' or 'none'.
line_type = 'solid'
# Size of marker in pixels
marker_size = 8
# Type of marker. Options are 'cross', 'x', 'circle', 'box', or 'none'.
marker_type ='none'
# 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.03 # 2018 Feb 12
# This controls whether day/night bands will be shown. They only look good
# on plots wide enough to show individual days such as day and week plots.
show_daynight = true
# These control the appearance of the bands if they are shown.
# Here's a monochrome scheme:
daynight_day_color = 0xfffafd
daynight_night_color = 0xe2dfdf
daynight_edge_color = 0xd8d8e0
# Here's an alternative, using a blue/yellow tint:
#daynight_day_color = 0xf8ffff
#daynight_night_color = 0xfff8f8
#daynight_edge_color = 0xf8f8ff
# 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 parameters
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]]]]
[[[daytempfeel]]]
[[[[windchill]]]]
[[[[heatindex]]]]
[[[daytempin]]]
[[[[inTemp]]]]
[[[daytemp]]]
yscale = None, None, 0.5
[[[[extraTemp1]]]]
[[[[extraTemp2]]]]
[[[[extraTemp3]]]]
[[[dayhum]]]
[[[[outHumidity]]]]
[[[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)
[[[daywind]]]
[[[[windSpeed]]]]
[[[[windGust]]]]
[[[daywinddir]]]
# Hardwire in the y-axis scale for wind direction
yscale = 0.0, 360.0, 45.0
line_type = None
marker_type = box
marker_size = 2
[[[[windDir]]]]
[[[daywindvec]]]
[[[[windvec]]]]
plot_type = vector
[[[dayradiation]]]
[[[[radiation]]]]
[[[dayuv]]]
# yscale = 0, 16, 1
[[[[UV]]]]
[[[dayrx]]]
yscale = 0.0, 100.0, 25.0
[[[[rxCheckPercent]]]]
[[[dayvolt]]]
[[[[consBatteryVoltage]]]]
[[[[heatingVoltage]]]]
[[[[supplyVoltage]]]]
[[[[referenceVoltage]]]]
[[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]]]]
[[[weektempfeel]]]
[[[[windchill]]]]
[[[[heatindex]]]]
[[[weektempin]]]
[[[[inTemp]]]]
[[[weektemp]]]
yscale = None, None, 0.5
[[[[extraTemp1]]]]
[[[[extraTemp2]]]]
[[[[extraTemp3]]]]
[[[weekhum]]]
[[[[outHumidity]]]]
[[[weekrain]]]
yscale = None, None, 0.02
plot_type = bar
[[[[rain]]]]
aggregate_type = sum
aggregate_interval = 86400
label = Rain (daily total)
[[[weekwind]]]
[[[[windSpeed]]]]
[[[[windGust]]]]
aggregate_type = max
[[[weekwinddir]]]
yscale = 0.0, 360.0, 45.0
line_type = None
marker_type = box
marker_size = 2
[[[[windDir]]]]
[[[weekwindvec]]]
[[[[windvec]]]]
plot_type = vector
[[[weekradiation]]]
[[[[radiation]]]]
[[[weekuv]]]
# yscale = 0, 16, 1
[[[[UV]]]]
[[[weekrx]]]
yscale = 0.0, 100.0, 25.0
[[[[rxCheckPercent]]]]
[[[weekvolt]]]
[[[[consBatteryVoltage]]]]
[[[[heatingVoltage]]]]
[[[[supplyVoltage]]]]
[[[[referenceVoltage]]]]
[[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]]]]
[[[monthtempfeel]]]
[[[[windchill]]]]
[[[[heatindex]]]]
[[[monthtempin]]]
[[[[inTemp]]]]
[[[monthtemp]]]
yscale = None, None, 0.5
[[[[extraTemp1]]]]
[[[[extraTemp2]]]]
[[[[extraTemp3]]]]
[[[monthhum]]]
[[[[outHumidity]]]]
[[[monthrain]]]
yscale = None, None, 0.02
plot_type = bar
[[[[rain]]]]
aggregate_type = sum
aggregate_interval = 86400
label = Rain (daily total)
[[[monthwind]]]
[[[[windSpeed]]]]
[[[[windGust]]]]
aggregate_type = max
[[[monthwinddir]]]
yscale = 0.0, 360.0, 45.0
line_type = None
marker_type = box
marker_size = 2
[[[[windDir]]]]
[[[monthwindvec]]]
[[[[windvec]]]]
plot_type = vector
[[[monthradiation]]]
[[[[radiation]]]]
[[[monthuv]]]
# yscale = 0, 16, 1
[[[[UV]]]]
[[[monthrx]]]
yscale = 0.0, 100.0, 25.0
[[[[rxCheckPercent]]]]
[[[monthvolt]]]
[[[[consBatteryVoltage]]]]
[[[[heatingVoltage]]]]
[[[[supplyVoltage]]]]
[[[[referenceVoltage]]]]
[[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]]]]
[[[[dewpoint]]]]
[[[yeartempfeel]]]
[[[[windchill]]]]
[[[[heatindex]]]]
[[[yeartempin]]]
[[[[inTemp]]]]
[[[yeartemp]]]
yscale = None, None, 0.5
[[[[extraTemp1]]]]
[[[[extraTemp2]]]]
[[[[extraTemp3]]]]
[[[yearhum]]]
[[[[outHumidity]]]]
[[[yearrain]]]
yscale = None, None, 0.02
plot_type = bar
[[[[rain]]]]
aggregate_type = sum
# aggregate_interval = 2629800 # the length of a nominal month
aggregate_interval = 604800 # one week
label = Rain (weekly total)
[[[yearwind]]]
[[[[windSpeed]]]]
[[[[windGust]]]]
aggregate_type = max
[[[yearwinddir]]]
yscale = 0.0, 360.0, 45.0
line_type = None
marker_type = box
marker_size = 2
[[[[windDir]]]]
[[[yearwindvec]]]
[[[[windvec]]]]
plot_type = vector
[[[yearradiation]]]
[[[[radiation]]]]
[[[yearuv]]]
# yscale = 0, 16, 1
[[[[UV]]]]
[[[yearrx]]]
yscale = 0.0, 100.0, 25.0
[[[[rxCheckPercent]]]]
[[[yearvolt]]]
[[[[consBatteryVoltage]]]]
[[[[heatingVoltage]]]]
[[[[supplyVoltage]]]]
[[[[referenceVoltage]]]]
# Plot of high/low temperatures
[[[yearhilow]]]
[[[[hi]]]]
data_type = outTemp
aggregate_type = max
label = High
[[[[low]]]]
data_type = outTemp
aggregate_type = min
label = Low Temperature
# A progressive vector plot of daily gust vectors overlayed
# with the daily wind average would look something like this:
# [[[yeargustvec]]]
# [[[[windvec]]]]
# plot_type = vector
# aggregate_type = avg
# [[[[windgustvec]]]]
# plot_type = vector
# aggregate_type = max
###############################################################################
[CydiaGenerator] # 2018 Mar 06
# This section provides options to CydiaGenerator, which predicts
# development stages of various insects. The generator produces a
# *.png graph and an *.html page for each species, below. The
# graph inherits defaults from [[year_images]] of
# [ImageGenerator], above. These may be overridden.
# CydiaGenerator reads the *.csv file, which is output by
# CheetahGenerator according to Cydia/YTD.csv.tmpl, above. This
# *.csv file contains daily max/min temps, which are needed for
# the special growing degree-day (GDD) models implemented by
# CydiaGenerator. These models are quite different from and ought
# not to be confused with degree-day (DD) models used by
# architects and building-construction engineers. CydiaGenerator
# performs similar calculations for each species and creates a
# graph and a report for each one. Species may differ by
# temperature thresholds and cutoffs between which development can
# occur and for which GDDs are accumulated. CydiaGenerator
# projects a treatment schedule for each species, based on the
# year-to-date accumulation of GDDs.
image_width = 600
image_height = 360
plot_type = line
x_label_format = "%m '%y"
top_label_font_size = 18
unit_label_font_size = 12
bottom_label_font_size = 12
axis_label_font_size = 12
horizon__font_color = 0x0000ff
horizon_top_color = 0xbbbbff
horizon_bottom_color = 0xdfdfdf
horizon_edge_color = 0x0000ff
horizon_gradient = 20
horizon_label_font_path = /usr/share/fonts/truetype/freefont/FreeMonoBold.ttf
horizon_label_font_size = 12
horizon_label_font_color = 0x0000f0
horizon_label_offset = 5, -15
[[Cydia/C_pomonella_First_Flight]]
# Biofix is the cumulative growing degree-days at which the
# first sustained capture occurs of male codling moths in
# pheromone traps.
# Insect development has been shown to be linearly dependent
# on various models of cumulative growing degree-days,
# depending on species. The benefit of the growing
# degree-days models of insect development is that they are
# more or less consistently predictive in various locations
# and in succeeding years. The growing degree-days
# calculations use the max and min temps for each day. They
# are thus mostly immune to missing readings. In fact,
# precise calculation of growing degree-days is probably less
# important than proper interpretation of results and prompt
# application of suggested insect controls.
# In terms of codling moth, the estimated Biofix, the
# threshold, the cutoff, and the offsets, below, are generally
# applicable to most apple-growing regions of the country.
# You are encouraged to check with your County Agent of the
# United States Department of Agriculture Cooperative
# Extension for exact model parameters for your location.
# The usual method of calculation for codling moth is
# gdd_single_sine_horizontal_cutoff. Other methods are:
# dd_conventional, gdd_single_sine_vertical_cutoff,
# gdd_single_sine_no_cutoff, and
# gdd_single_sine_intermediate_cutoff.
start_date = None # Default New Year's Day.
end_date = None # Default today.
label = Cumulative GDD -- C. pomonella (1st Flight)
threshold = 50, degree_F
cutoff = 88, degree_F
method = gdd_single_sine_horizontal_cutoff # 2019 Jan 08
biofix_estimated = 175, degree_F_day
biofix_actual = None
[[[Offsets_from_Biofix]]]
[[[[Egg Laying]]]]
offset = 100, degree_F_day
[[[[Egg Hatching]]]]
offset = 250, degree_F_day
[[Cydia/C_pomonella_Second_Flight]]
start_date = None # Default New Year's Day.
end_date = None # Default today.
label = Cumulative GDD -- C. pomonella (2nd Flight)
threshold = 50, degree_F
cutoff = 88, degree_F
method = gdd_single_sine_horizontal_cutoff
biofix_estimated = 1175, degree_F_day
biofix_actual = None
[[[Offsets_from_Biofix]]]
[[[[Egg Laying]]]]
offset = 100, degree_F_day
[[[[Egg Hatching]]]]
offset = 250, degree_F_day
###############################################################################
[Generators]
# The list of generators that are to be run:
generator_list = weewx.cheetahgenerator.CheetahGenerator, weewx.imagegenerator.ImageGenerator, weewx.cydiagenerator.CydiaGenerator, weewx.reportengine.CopyGenerator
|