# Domestic Client Test Configuration for the development of domestic products
# This file will be generated by the Domestic SCMT some day...
# For now, fill in your product attributes and set the interestlists you need!

#
dsm.set('Config.1.PlaylistOverride', 'DefaultUS', 0)
#dsm.set('Config.1.PlaylistOverride', 'SouthernCalifornia', 0)
#dsm.set('Config.1.PlaylistOverride', 'WestCoastUS', 0)
#dsm.set('Config.1.PlaylistOverride', 'Test', 0)
#
dsm.set('affiliateNumber', '1023', 0)
dsm.set('dmaCode', '100', 0)
dsm.set('PrimaryCounty', 'GAC067', 0)
dsm.set('stateCode', 'GA', 0)
# Use only for debugging
#dsm.set('Config.1.ldlStarIDMessage', 'Local weather ID: 5', 0)
ds.commit()

# Default Config for Forecast Pane
d = twc.Data()
d.locName = 'Atlanta Metro'
d.coopId = '72219000'
dsm.set('Config.1.Fcst_TextForecast', d, 0, 1)
dsm.set('Config.1.Fcst_DaypartForecast', d, 0, 1)
dsm.set('Config.1.Fcst_ExtendedForecast', d, 0, 1)

# =============================================================================
# Interest Lists
wxdata.setInterestList('lambert.us', '1', [ 'radarSatellite.us', 'satellite.us'])
wxdata.setInterestList('mercator.us', '1', [ 'radar.us',])
#
wxdata.setInterestList('radar.us.cuts', '1', [ 'Config.1.Local_RegionalDopplerRadar',
                                         'Config.1.Local_MetroDopplerRadar',
                                         'Config.1.Radar_LocalDoppler',])
wxdata.setInterestList('radarSatellite.us.cuts', '1', [ 'Config.1.Local_RadarSatelliteComposite',])
wxdata.setInterestList('satellite.us.cuts', '1', [ 'Config.1.Local_Satellite',])
#
wxdata.setInterestList('mapData', '1', [ 'mercator.us','lambert.us',])
#
wxdata.setInterestList('imageData', '1', [ 'radarSatellite.us','radar.us','satellite.us',])
#
wxdata.setInterestList('coopId', '1', [ '71892000','71892001','71913000','71936000','71966000','72205000','72205076','72208000','72214000','72215002','72219000','72227000','72227012','72231000','72235000','72243000','72259000','72259018','72295023','72306000','72310000','72327000','72334000','72340008','72353004','72405000','72494000','72503023','72509000','72530000','76595000','78073000','87576000','94767000','72386012', '72217007', '72226004', '72310007', '72324004', '72228005', '72207005', '72314004', '72227016', '72227025', '72219020', '72227037', '72227024'])
wxdata.setInterestList('airportId', '1',  ['ATL', 'ORD', 'CLT'])
wxdata.setInterestList('obsStation', '1', ['KAHN','KANB','KATL','KLZU','KFFC','KFTY','KGVL','KIAD','KMGE','KMSP','KORD','KPDK','KVPC','KRYY','KCGZ','KDMA','KFLG','KLUF','KIWA','KPHX','KPRC','KTUS','KMCN','KATL','KMXF','KCUB','KCHA','KBHM','KCHS','KSVN','KCLT'])
wxdata.setInterestList('zone.cwf', '1', ['GMZ330'])
wxdata.setInterestList('zone', '1', ['GAZ001'])
wxdata.setInterestList('tideStation', '1', ['E8461490', 'E0001201'])
wxdata.setInterestList('aq', '1', ['ca017', 'ca029', 'ca031', 'va001',])
wxdata.setInterestList('climId', '1', ['090451',])
wxdata.setInterestList('county', '1', ['GAC067', 'GAC121',])
wxdata.setInterestList('metroId', '1', [ '32','23'])
wxdata.setInterestList('keyRoute', '1', [ '32.93121','32.93148','32.93066'])
dsm.set('Config.1.interestlist.countyNameList', [('GAC067','Cobb'),('GAC121','Fulton'),], 0)

# =============================================================================
# product override
d = twc.Data()
d.activeCue = 1
d.activeVocal = 1
dsm.set('Config.1.Override', d, 0)

# =============================================================================
# Playlist configs
# a value of 1 below is active (not required - this is the default behavior)
# a value of 0 below is inactive
# just substitute "yourProduct" for the XXX below
d = twc.Data()
d.activeTides = 1
d.activeXXX = 0
dsm.set('Config.1.DefaultUS.60.0', d, 0)
dsm.set('Config.1.DefaultUS.60.1', d, 0)
dsm.set('Config.1.DefaultUS.90.0', d, 0)
dsm.set('Config.1.DefaultUS.90.1', d, 0)
dsm.set('Config.1.DefaultUS.120.0', d, 0)
dsm.set('Config.1.DefaultUS.120.1', d, 0)
dsm.set('Config.1.DefaultUS.120.2', d, 0)
dsm.set('Config.1.SouthernCalifornia.60.0', d, 0)
dsm.set('Config.1.SouthernCalifornia.60.1', d, 0)
dsm.set('Config.1.SouthernCalifornia.90.0', d, 0)
dsm.set('Config.1.SouthernCalifornia.90.1', d, 0)
dsm.set('Config.1.SouthernCalifornia.120.0', d, 0)
dsm.set('Config.1.SouthernCalifornia.120.1', d, 0)
dsm.set('Config.1.SouthernCalifornia.120.2', d, 0)
dsm.set('Config.1.WestCoastUS.60.0', d, 0)
dsm.set('Config.1.WestCoastUS.60.1', d, 0)
dsm.set('Config.1.WestCoastUS.90.0', d, 0)
dsm.set('Config.1.WestCoastUS.90.1', d, 0)
dsm.set('Config.1.WestCoastUS.120.0', d, 0)
dsm.set('Config.1.WestCoastUS.120.1', d, 0)
dsm.set('Config.1.WestCoastUS.120.2', d, 0)

# =============================================================================
# LAS Crawl
d = twc.Data()
d.serialNum = 2
d.crawls = [
    (1064928109, 1139440000, [( 0, 23)], 'text of crawl 0'),
    (1064928109, 1139440000, [( 0, 23)], 'text of crawl 1'),
    (1064928109, 1139440000, [(10, 11), (17, 19)], 'text of crawl 2'),
]
dsm.set('Config.1.Ldl_LASCrawl', d, 0)

# =============================================================================
# TextForecast
d = twc.Data(coopId='72219000',
             locName='ATLANTA',
             minPageDuration=6,
             maxPageDuration=14,
)
dsm.set('Config.1.Local_TextForecast', d, 0)

# =============================================================================
# 7DayForecast
d = twc.Data(coopId='72219000',
             locName='Atlanta',
)
dsm.set('Config.1.Local_7DayForecast', d, 0)

# =============================================================================
# AirQualityForecast
# There are 2 sets of ids and loc names because of the dual nature of the
# product.  It can be configured for 1 or 3 sites.
d = twc.Data(aq=['ca017','ca029','ca031'],
             locName=['Riverside/San Bernardino','Coastal Area','Hemet/Elsinore'],
             #aq=['va001',],
             #locName=['WASHINGTON, DC',],

)
dsm.set('Config.1.Local_AirQualityForecast', d, 0)

# =============================================================================
#Almanac
d = twc.Data(longitude=-84.42,
             latitude=33.65,
)
dsm.set('Config.1.Local_Almanac', d, 0)

# =============================================================================
# Climatology
d = twc.Data(longitude=-84.42,
             latitude=33.65,
             climId=['090451'],
             locName='ATLANTA HARTSFIELD',
             obsStation='KATL',
)
dsm.set('Config.1.Local_Climatology', d, 0)

# =============================================================================
# CurrentConditions
d = twc.Data(obsStation=['KATL', 'KFTY'],
             locName=['Atlanta', 'Fulton Co. Arpt.'],
)
dsm.set('Config.1.Local_CurrentConditions', d, 0)
# =============================================================================
# Squeeze Back CurrentConditions
d = twc.Data(obsStation=['KATL', 'KFTY'],
             locName=['Atlanta', 'Fulton Co. Arpt.'],
             elementDuration = 6,
)
dsm.set('Config.1.Cc_CurrentConditions', d, 0)

# =============================================================================
# DaypartForecast
d = twc.Data(coopId=['72219000', ],
             locName=['Atlanta', ]
)
dsm.set('Config.1.Local_DaypartForecast', d, 0)

# =============================================================================
# EventForecast

# Event Types:
A_MOMENT_IN_TIME = 0
DAY_SUMMARY = 1

# TODO: The valid time should come from the dataStore,
# but until it does, do this...
import time
vTime = int(time.time())
d = twc.Data(coopId='72219000',
             text='Atlanta Motor Speedway',
             text2='Wednesday',
             #eventType=A_MOMENT_IN_TIME,
             eventType = DAY_SUMMARY,
             overlayImage = '/rsrc/images/eventRacing',
             #overlayImage = '/rsrc/images/eventRacing',
             #overlayImage = '/rsrc/images/eventBaseball',
             #overlayImage = '/rsrc/images/eventBasketball',
             #overlayImage = '/rsrc/images/eventFootball',
             #overlayImage = '/rsrc/images/eventGeneric',
             bkgImage = ('domestic', 'domestic'),
             #bkgImage = 'Event_Forecast_Core_Blank',
             #bkgImage = 'Event_Forecast_Core_1',  # Marathon Overlay
             #bkgImage = 'Event_Forecast_Core_2',  # Racing Overlay
             #bkgImage = 'Event_Forecast_Core_3',
             #bkgImage = 'Event_Forecast_Core_4',
             #bkgImage = 'Event_Forecast_Core_NA',
             validTime = vTime
)
dsm.set('Config.1.Local_EventForecast', d, 0)

# =============================================================================
# ExtendedForecast
d = twc.Data(coopId='72219000',
             location='ATLANTA',
)
dsm.set('Config.1.Local_ExtendedForecast', d, 0)

# =============================================================================
# GetawayForecast
d = twc.Data(coopId=['72205000', '72219000', '72259000'],
             locNameList=['Orlando', 'Atlanta', 'Dallas/Ft Worth'],
)
dsm.set('Config.1.Local_GetawayForecast', d, 0)

# =============================================================================
# HeatSafetyTips
d = twc.Data(obsStation='KIAD',
             locName='WASHINGTON, DC',
             heatIndexThreshold=100,
)
dsm.set('Config.1.Local_HeatSafetyTips', d, 0)

# =============================================================================
# LocalObservations
d = twc.Data(obsStation=['KAHN','KANB','KATL','KLZU','KFFC','KFTY', 'KGVL','KMGE'],
             locName=['Athens', 'Anniston', 'Atlanta', 'Lake Lanier',
                      'Peachtree City', 'Fulton Cnty Arpt', 'Gainesville', 'Marietta'],
)
dsm.set('Config.1.Local_LocalObservations', d, 0)

#==============================================================================
# Lower Display Line
d = twc.Data(
    obsStation=['KATL','KORD'],
    obsLocName=['Atlanta', 'Chicago O\'Hare'],
)
dsm.set('Config.1.Ldl_CurrentApparentTemp', d, 0)
dsm.set('Config.1.Ldl_CurrentCeiling', d, 0)
dsm.set('Config.1.Ldl_CurrentDewpoint', d, 0)
dsm.set('Config.1.Ldl_CurrentGusts', d, 0)
dsm.set('Config.1.Ldl_CurrentHumidity', d, 0)
dsm.set('Config.1.Ldl_CurrentMTDPrecip', d, 0)
dsm.set('Config.1.Ldl_CurrentPressure', d, 0)
dsm.set('Config.1.Ldl_CurrentSkyTemp', d, 0)
dsm.set('Config.1.Ldl_CurrentVisibility', d, 0)
dsm.set('Config.1.Ldl_CurrentWinds', d, 0)

d = twc.Data(
    airportId=['ATL', 'ORD', 'CLT'],
    displayFlag=[1,1,0],
    obsStation=['KATL', 'KORD', 'KCLT'],
    locName=[
        "Hartsfield Int'l",
        "Chicago O'Hare",
        "Douglas Int'l"
    ],
)
dsm.set('Config.1.Ldl_AirportDelayConditions', d, 0, 1)

d = twc.Data(
    aq='ca031',
    locName='Hemet/Elsinore',
    startDate=(10, 1),
    endDate=(12, 31),
)
dsm.set('Config.1.Ldl_AirQualityForecast', d, 0)

d = twc.Data(
    latitude = 33.65,
    longitude = -84.42,
)
dsm.set('Config.1.Ldl_SunriseSunset', d, 0)

d = twc.Data(
    coopId=['72205000', '72219000', '72259000'],
    locName=['Orlando', 'Atlanta', 'Dallas/Ft Worth'],
)
dsm.set('Config.1.Ldl_TravelForecast', d, 0)

d = twc.Data(
    startDate=(1, 1),
    endDate=(12, 31),
)
dsm.set('Config.1.Ldl_PromotionalMessage', d, 0)

# Note: This is optional (below) to test Promo Message
##d = 'This is a promotional message, yo yo yo!!'
##dsm.set('Config.1.promotionalMessage', d, 0)

d = twc.Data(
    coopId='72219000',
    locName='Atlanta',
    startDate=(1, 1),
    endDate=(12, 31),
)
dsm.set('Config.1.Ldl_UVForecast', d, 0)

d = twc.Data(
    displayMessage = 1,
)
dsm.set('Config.1.Ldl_LocalStarIDMessage', d, 0)

d = twc.Data(
    displayMessage = 1,
)
dsm.set('Config.1.Ldl_NationalStarIDMessage', d, 0)

d = twc.Data(
    trafficActive = 1,
    routes = [(('32.93121', 'I-285 (Northside)', 'WB', 'Chamblee Dunwoody Rd (#30)', 'Georgia 400 (#27)'),
               ('32.93122', 'I-285 (Northside)', 'EB', 'Georgia 400 (#27)', 'Chamblee Dunwoody Rd (#30)')),
              (('32.93148', 'Georgia 400', 'SB', 'Holcomb Bridge Rd/SR-140 (#7)', 'I-285 (Northside)'),
               ('32.93147', 'Georgia 400', 'NB', 'I-285 (Northside)', 'Holcomb Bridge Rd/SR-140 (#7)')),
              (('32.93066', 'I-85', 'SB', 'I-285', 'Georgia 400'),
               ('32.93065', 'I-85', 'NB', 'Georgia 400', 'I-285')),
    ],
    routeDisplayTime = [(((0, 00), (11, 59), 0, 0), # inbound monday
                        ((12, 00), (23, 59), 0, 0)),# outbound monday

                        (((6,0), (10,59), 0, 0),    # inbound tuesday
                        ((14,00), (19,59), 1, 1)),  # outbound tuesday

                        (((6,0), (10,59), 0, 0),    # inbound wednesday
                        ((14,00), (19,59), 0, 0)),  # outbound wednesday

                        (((6,0), (10,59), 0, 0),    # inbound thursday
                        ((14,00), (19,59), 0, 0)),  # outbound thursday

                        (((6,0), (10,59), 0, 0),    # inbound friday
                        ((13,00), (19,59), 0, 0)),  # outbound friday

                        (((8,0), (10,00), 0, 0),    # inbound saturday
                        ((13,00), (19,59), 0, 0)),  # outbound satuday

                        (((6,0), (10,59), 0, 0),    # inbound sunday
                        ((13,00), (19,59), 0, 0)),  # outbound sunday

    ],
)
dsm.set('Config.1.Ldl_TrafficTripTimes', d, 0)

d = twc.Data(
    coopId='72219000',
    locName='Atlanta',
)
dsm.set('Config.1.Ldl_ExtendedForecast', d, 0)
dsm.set('Config.1.Ldl_HourlyForecast', d, 0)
dsm.set('Config.1.Ldl_Shortcast', d, 0)
dsm.set('Config.1.Ldl_SummaryForecast', d, 0)

d = twc.Data(obsStation=['KATL','KORD'])
dsm.set('Config.1.TimeTemp_Default', d, 0)

# =============================================================================
# Bulletin Crawl
d = twc.Data(
    activeVocal=1,
)
dsm.set('Config.1.Bulletin_Default', d, 0)

# =============================================================================
# MarineForecast
d = twc.Data(zone='GMZ330',
             locName='DAYTONA BEACH SHORES',
)
dsm.set('Config.1.Local_MarineForecast', d, 0)
# =============================================================================
# MetroDopplerRadar (MAP DATA)
d = twc.Data(mapName           = 'mercator.us.bfg',
             mapcutCoordinate  = (25739,8325),
             mapcutSize        = (1090,727),
             mapFinalSize      = (720,480),
             mapMilesSize      = (120,97),
             datacutType       = 'radar.us',
             datacutCoordinate = (2754,682),
             datacutSize       = (133,89),
             dataFinalSize     = (720,480),
             dataOffset        = (0,0),
             vectors           = [ 'mercator.us.counties.vg',
                                   'mercator.us.coastlines.vg',
                                   'mercator.us.interstates.vg',
                                   'mercator.us.states.vg',
                                   'mercator.us.ushighways.vg',
                                   'mercator.us.statehighways.vg',
                                   'mercator.us.otherroutes.vg',],
)
wxdata.setMapData('Config.1.Local_MetroDopplerRadar', d, 0)

# MetroDopplerRadar (PRODUCT DATA)
d = twc.Data(
    textString = [
                    (
                     # font, fontSize, fontColor, fontShadow, tracking, justification, fontOutlineColor, layerMask, eraseBit, dataLabel
                     ( 'Interstate-Black', 22, (212,212,212,255), 1, -35, 0, (20,20,20,128), 1, 0, 0,), #Properties
                     # list of locNames with positions
                     ( ( (369,240), 'Atlanta',        ),
                       ( (120,174), 'Carrollton',     ),
                       ( (64,338) , 'Cedartown',      ),
                       ( (389,351), 'Alpharetta',     ),
                       ( (251,356), 'Acworth',        ),
                       ( (499,315), 'Lawrenceville',  ),
                       ( (350,132), 'Peachtree City', ),
                       ( (484,218), 'Conyers',        ),
                     ),
                    ),
                    (
                     # font, fontSize, fontColor, fontShadow, tracking, justification, fontOutlineColor, layerMask, eraseBit, dataLabel
                     ( 'Interstate-Black', 22, (212,212,212,205), 1, -35, 0, (20,20,20,128), 2, 0, 0,), #Properties
                     # list of locNames with positions
                     ( ( (369,240), 'Atlanta',        ),
                       ( (120,174), 'Carrollton',     ),
                       ( (64,338) , 'Cedartown',      ),
                       ( (389,351), 'Alpharetta',     ),
                       ( (251,356), 'Acworth',        ),
                       ( (499,315), 'Lawrenceville',  ),
                       ( (350,132), 'Peachtree City', ),
                       ( (484,218), 'Conyers',        ),
                     ),
                    ),
                  ],

    tiffImage = [
                   # the property of a tiffImage is the image name and its justification
                   ( ( 'locatorDot', 0, 1, 0),
                     ( ( (350,237), ),
                       ( (100,171), ),
                       ( (45,336),  ),
                       ( (371,348), ),
                       ( (231,353), ),
                       ( (518,328), ),
                       ( (331,129), ),
                       ( (465,215), ),
                     ),
                   ),

                   ( ( 'locatorDotOutline', 0, 2, 1),
                     ( ( (350,237), ),
                       ( (100,171), ),
                       ( (45,336),  ),
                       ( (371,348), ),
                       ( (231,353), ),
                       ( (518,328), ),
                       ( (331,129), ),
                       ( (465,215), ),
                     ),
                   ),

                   ( ( 'airplane', 0, 1, 0),
                     ( ( (336,199), ),
                     ),
                   ),

                   ( ( 'airplaneOutline', 0, 2, 1),
                     ( ( (336,199), ),
                     ),
                   ),
                 ],

    # just like a tiffImage, but with a text string label centered over it
    labeledTiffImage = [
                           # labeledTiffImage have a position and a string to center over the image
                          (( ('interstateSign', 0, 1, 0), 'Interstate-BoldCondensed', 18, (212,212,212,255), 0, 0, 0,),
                           ( ( (75,214),  '20'),
                             ( (432,93),  '75'),
                             ( (451,314), '85'),
                             ( (583,183), '20'),
                           ),
                          ),

                          (( ('interstateSign', 0, 1, 0), 'Interstate-BoldCondensed', 16, (212,212,212,255), 0, 0, 0,),
                           ( ( (281,171), '285'),
                           ),
                          ),

                          (( ('interstateSignOutline', 0, 2, 1), 'Interstate-BoldCondensed', 18, (212,212,212,255), 0, 0, 0,),
                           ( ( (75,214),  '20'),
                             ( (432,93),  '75'),
                             ( (451,314), '85'),
                             ( (583,183), '20'),
                           ),
                          ),

                          (( ('interstateSignOutline', 0, 2, 1), 'Interstate-BoldCondensed', 16, (212,212,212,255), 0, 0, 0,),
                           ( ( (281,171), '285'),
                           ),
                          ),
                        ],

    vector = [
                # vector files have a thickness and a color and a layerMask
                (( 8, (20,20,20,96), 1, ), ( ('ushighways',),),),
                (( 8, (20,20,20,96), 1, ), ( ('statehighways',),),),
                (( 8, (20,20,20,96), 1, ), ( ('otherroutes',),),),
                (( 8, (20,20,20,96), 1, ), ( ('interstates',),),),
                (( 2, (20,20,20,255), 2, ), ( ('counties',),),),
                (( 2, (20,20,20,255), 2, ), ( ('coastlines',),),),
                (( 4, (20,20,20,255), 2, ), ( ('states',),),),
                (( 4, (130,130,130,255), 2, ), ( ('ushighways',),),),
                (( 4, (130,130,130,255), 2, ), ( ('statehighways',),),),
                (( 4, (130,130,130,255), 2, ), ( ('otherroutes',),),),
                (( 4, (130,130,130,255), 2, ), ( ('interstates',),),),
              ],
)
dsm.set('Config.1.Local_MetroDopplerRadar', d, 0)
# =============================================================================
# Radar_LocalDoppler

# Put the mini-me map after the other radars. It doesn't have to cut first, but
# "soon" would be nice so we have a radar map cut when squeezeback locals run.
#
# Special Mini-Me Window! (NO, mini-me! We do NOT eat Mini Mr. Bigglesworth!!)
d = twc.Data(mapName           = 'mercator.us.bfg',
             mapcutCoordinate  = (25849,8526),
             mapcutSize        = (656,375),
             mapFinalSize      = (240,137),
             mapMilesSize      = (70,48),
             datacutType       = 'radar.us',
             datacutCoordinate = (2767,708),
             datacutSize       = (80,46),
             dataFinalSize     = (240,137),
             dataOffset        = (0,0),
             vectors           = [ 'mercator.us.counties.vg',
                                   'mercator.us.coastlines.vg',
                                   'mercator.us.interstates.vg',
                                   'mercator.us.states.vg',
                                   'mercator.us.ushighways.vg',
                                   'mercator.us.statehighways.vg',
                                   'mercator.us.otherroutes.vg',],
)
wxdata.setMapData('Config.1.Radar_LocalDoppler', d, 0, 0)

# Radar_LocalDoppler (PRODUCT DATA for Mini Me Window)
d = twc.Data(
    textString = [
        # font, fontSize, fontColor, fontShadow, tracking, justification, fontOutlineColor, layerMask
        # list of locNames with positions
        (
            ( 'Interstate-Bold', 14, (229,229,229,205), 1, 0, 0, (20,20,20,68), 2,0,0,), #Properties
            (   #Elements
                ( (49,35), 'Villa Rica',     ),
                ( (79,85), 'Dallas',    ),
                ( (170,62), "Atlanta",   ),
            ),
        ),
        (
            ( 'Interstate-Bold', 14, (229,229,229,205), 1, 0, 0, (20,20,20,68), 2,0,0,), #Properties
            (   #Elements
                ( (49,35), 'Villa Rica',    ),
                ( (79,85),  'Dallas',   ),
                ( (170,62), "Atlanta",   ),
            ),
        ),
    ],

    tiffImage = [
                   # the property of a tiffImage is the image name, justification, layer mask, and erase bit
                   (( 'locatorDotSmall', 0, 1, 0),
                    ( ( (30,32), ),
                      ( (62,80), ),
                      ( (155,52), ),
                    ),
                   ),

                   (( 'locatorDotSmallOutline', 0, 2, 1),
                    ( ( (30,32), ),
                      ( (62,80), ),
                      ( (155,52), ),
                    ),
                   ),
                ],

    vector = [
                # This is a list of vector objects.
                # Each vector object contains a Properties tuple and an Elements tuple.
                # Each Properties tuple contains a width, color tuple, and layer number.
                # Each Elements tuple contains a list of vectorfile tuples to draw.
                # Currently, each vectorfile tuple contains only the prefix of the *.vg file
                    (   (6, (20,20,20,96), 1,), #Properties
                        (   #Elements
                            ('interstates',),
                        ),
                    ),

                    (   (1, (20,20,20,255), 2,), #Properties
                        (   #Elements
                            ('coastlines',),
                            ('counties',),
                        ),
                    ),

                    (   (2, (20,20,20,255), 3,), #Properties
                        (   #Elements
                            ('states',),
                        ),
                    ),

                    (   (3, (130,130,130,255), 3,), #Properties
                        (   #Elements
                            ('interstates',),
                        ),
                    ),
             ],
)
dsm.set('Config.1.Radar_LocalDoppler', d, 0, 0)
#
# =============================================================================
# MetroForecastMap (MAP DATA)
d = twc.Data(mapName          = 'mercator.us.bfg',
             mapcutCoordinate = (25739,8325),
             mapcutSize       = (1090,727),
             mapFinalSize     = (720,480),
             mapMilesSize     = (300,250),
             vectors          = [ 'mercator.us.counties.vg','mercator.us.coastlines.vg',
                                  'mercator.us.interstates.vg','mercator.us.states.vg',
                                  'mercator.us.ushighways.vg','mercator.us.statehighways.vg',
                                  'mercator.us.otherroutes.vg',],
)
wxdata.setMapData('Config.1.Local_MetroForecastMap', d, 0)

# MetroForecastMap (PRODUCT DATA)
d = twc.Data(
    textString = [
                    (
                     # font, fontSize, fontColor, fontShadow, tracking, justification, fontOutlineColor, layerMask, eraseBit, dataLabel
                     # NOTE: If dataLabel is set, then the elements will display only if the data is not expired.
                     ('Interstate-Bold', 24, (212,212,212,255), 1, 0, 0, (), 2, 0, 0,), #Properties
                     # list of locNames with positions
                     ( (  (214,145), 'Peachtree City') ,
                       (  (292,305), 'Atlanta'),
                       (  (157,385), 'Acworth'),
                       (  (95,245),  'Douglasville'),
                       (  (435,209), 'Conyers'),
                       (  (497,328), 'Lawrenceville'),
                       (  (310,375), 'Alpharetta'),
                     ),
                    ),
                  ],

    fcstValue = [
                  # font, fontSize, fontColor, fontShadow, tracking, obsValueType, justification,
                  # list of coopIds with positions
                  (( 'Interstate-BlackCondensed', 38, (212,212,50,255), 1, 0, 'temp', 1, (), 2,0,0,),
                   ( ( '72215002', (288,100)),
                     ( '72219000', (322,262)),
                     ( '72227016', (192,341)),
                     ( '72227025', (159,205)),
                     ( '72219020', (477,168)),
                     ( '72227037', (553,294)),
                     ( '72227024', (355,335)),
                   ),
                  ),
                ],

    fcstIcon = [
                  # fcstIcons have one property: (horizontal) justification
                  # fcstIcons have an coopId and a position
                  (
                   (0, 2, 0,), #Properties - justification and layerMask, eraseBit
                   ( ( '72215002', (295,76)),
                     ( '72219000', (325,235)),
                     ( '72227016', (195,317)),
                     ( '72227025', (163,175)),
                     ( '72219020', (480,148)),
                     ( '72227037', (560,263)),
                     ( '72227024', (355,310)),
                   ),
                  ),
                ],

    vector = [
                # vector files have a thickness and a color
                (( 2, (20,20,20,255), 1, ), ( ('counties',),),),
                (( 2, (20,20,20,255), 1, ), ( ('coastlines',),),),
                (( 4, (20,20,20,255), 1, ), ( ('states',),),),
                (( 8, (20,20,20,96), 1, ), ( ('ushighways',),),),
                (( 8, (20,20,20,96), 1, ), ( ('statehighways',),),),
                (( 8, (20,20,20,96), 1, ), ( ('otherroutes',),),),
                (( 8, (20,20,20,96), 1, ), ( ('interstates',),),),
                (( 4, (130,130,130,255), 1, ), ( ('ushighways',),),),
                (( 4, (130,130,130,255), 1, ), ( ('statehighways',),),),
                (( 4, (130,130,130,255), 1, ), ( ('otherroutes',),),),
                (( 4, (130,130,130,255), 1, ), ( ('interstates',),),),
              ],

    tiffImage = [
                   # the property of a tiffImage is the image name and its justification, layerMask, eraseBit
                   (( 'airplane', 0, 1, 0),
                    ( ( (336,199),),
                    ),
                   ),

                   (( 'airplaneOutline', 0, 1, 0), #NOTE: This is on layer 1
                    ( ( (336,199),),
                    ),
                   ),
                ],

    # just like a tiffImage, but with a text string label centered over it
    labeledTiffImage = [
                          (( ('interstateSign', 0, 1, 0), 'Interstate-BoldCondensed', 18, (212,212,212,255), 0, 0, 0,),
                           # labeledTiffImage have a position and a string to center over the image
                           ( ( (75,214),  '20'),
                             ( (432,93),  '75'),
                             ( (451,314), '85'),
                             ( (583,183), '20'),
                           ),
                          ),

                          (( ('interstateSign', 0, 1, 0), 'Interstate-BoldCondensed', 16, (212,212,212,255), 0, 0, 0,),
                           ( ( (281,171), '285'),
                           ),
                          ),

              # NOTE: The outlines are on layer1 for the forecast products
                          (( ('interstateSignOutline', 0, 1, 0), 'Interstate-BoldCondensed', 18, (212,212,212,255), 0, 0, 0,),
                           # labeledTiffImage have a position and a string to center over the image
                           ( ( (75,214),  '20'),
                             ( (432,93),  '75'),
                             ( (451,314), '85'),
                             ( (583,183), '20'),
                           ),
                          ),

                          (( ('interstateSignOutline', 0, 1, 0), 'Interstate-BoldCondensed', 16, (212,212,212,255), 0, 0, 0,),
                           ( ( (281,171), '285'),
                           ),
                          ),
                       ],
)
dsm.set('Config.1.Local_MetroForecastMap', d, 0)

# =============================================================================
# MetroObservationMap (MAP DATA)
d = twc.Data(mapName='mercator.us.bfg',
             mapcutCoordinate=(25739,8325),
             mapcutSize=(1090,727),
             mapFinalSize=(720,480),
             vectors=[ 'mercator.us.counties.vg','mercator.us.coastlines.vg',
                       'mercator.us.interstates.vg','mercator.us.states.vg',
                       'mercator.us.ushighways.vg','mercator.us.statehighways.vg',
                       'mercator.us.otherroutes.vg',],
)
wxdata.setMapData('Config.1.Local_MetroObservationMap', d, 0)

# MetroObservationMap (MAP DATA)
d = twc.Data(
    textString = [
                    # font, fontSize, fontColor, fontShadow, tracking, justification, fontOutlineColor, layerMask, eraseBit, dataLabel
                    # NOTE: If dataLabel is set, then the elements will display only if the data is not expired.
                    (
                     ('Interstate-Bold', 24, (212,212,212,255), 1, 0, 0, (), 1, 0, 0,), #Properties
                     ( (  (214,145), 'Peachtree City') ,
                       (  (292,305), 'Atlanta'),
                       (  (157,385), 'Acworth'),
                       (  (95,245),  'Douglasville'),
                       (  (435,209), 'Conyers'),
                       (  (497,328), 'Lawrenceville'),
                       (  (310,375), 'Alpharetta'),
                     ),
                    ),
                  ],

    obsValue = [
                 # font, fontSize, fontColor, fontShadow, tracking, obsValueType, justification,
                 # list of obsStations with positions
                 (( 'Interstate-BlackCondensed', 38, (212,212,50,255), 1, 0, 'temp', 1, (), 1,0,0,),
                  ( ( 'KFFC', (288,100)),
                    ( 'KATL', (322,262)),
                    ( 'KRYY', (192,341)),
                    ( 'KFTY', (159,205)),
                    ( 'KLZU', (477,168)),
                    ( 'KLZU', (553,294)),
                    ( 'KPDK', (355,335)),
                  ),
                 ),
               ],

    obsIcon = [
                 # obsIcons have one property: justification
                 # obsIcons have an obsStation and a position
                 (
                  (0, 2, 0,), #Properties - justification and layerMask, eraseBit
                  ( ( 'KFFC', (295,76)),
                    ( 'KATL', (325,235)),
                    ( 'KRYY', (195,317)),
                    ( 'KFTY', (163,175)),
                    ( 'KLZU', (480,148)),
                    ( 'KLZU', (560,263)),
                    ( 'KPDK', (355,310)),
                  ),
                 ),
               ],

    vector = [
                # vector files have a thickness and a color and a layerMask
                (( 2, (20,20,20,255), 1, ), ( ('counties',),),),
                (( 2, (20,20,20,255), 1, ), ( ('coastlines',),),),
                (( 4, (20,20,20,255), 1, ), ( ('states',),),),
                (( 8, (20,20,20,96), 1, ), ( ('ushighways',),),),
                (( 8, (20,20,20,96), 1, ), ( ('statehighways',),),),
                (( 8, (20,20,20,96), 1, ), ( ('otherroutes',),),),
                (( 8, (20,20,20,96), 1, ), ( ('interstates',),),),
                (( 4, (130,130,130,255), 1, ), ( ('ushighways',),),),
                (( 4, (130,130,130,255), 1, ), ( ('statehighways',),),),
                (( 4, (130,130,130,255), 1, ), ( ('otherroutes',),),),
                (( 4, (130,130,130,255), 1, ), ( ('interstates',),),),
              ],

    tiffImage = [
                   # the property of a tiffimage is the image name and its justification
                   (( 'airplane', 0, 1, 0),
                    ( ( (336,199),),
                    ),
                   ),

                   (( 'airplaneOutline', 0, 1, 0),
                    ( ( (336,199),),
                    ),
                   ),
                ],

    # just like a tiffimage, but with a text string label centered over it
    labeledTiffImage = [
                          (( ('interstateSign', 0, 1, 0), 'Interstate-BoldCondensed', 18, (212,212,212,255), 0, 0, 0,),
                           ( ( (258,201), '20'),
                             ( (401,149), '75'),
                             ( (479,276), '85'),
                           ),
                          ),

                          (( ('interstateSignOutline', 0, 1, 0), 'Interstate-BoldCondensed', 18, (212,212,212,255), 0, 0, 0,),
                           ( ( (258,201), '20'),
                             ( (401,149), '75'),
                             ( (479,276), '85'),
                           ),
                          ),

                          (( ('interstateSign', 0, 1, 0), 'Interstate-BoldCondensed', 16, (212,212,212,255), 0, 0, 0,),
                           ( ( (281,171), '285'),
                           ),
                          ),

                          (( ('interstateSignOutline', 0, 1, 0), 'Interstate-BoldCondensed', 16, (212,212,212,255), 0, 0, 0,),
                           ( ( (281,171), '285'),
                           ),
                          ),
                       ],
)
dsm.set('Config.1.Local_MetroObservationMap', d, 0)

# =============================================================================
# NWSHeadlines
d = twc.Data(zone = 'GAZ001',
)
dsm.set('Config.1.Local_NWSHeadlines', d, 0)

# =============================================================================
# RadarSatelliteComposite (MAP DATA)
d = twc.Data(mapName           = 'lambert.us.tif',
             mapcutCoordinate  = (3869,1695),
             mapcutSize        = (1816,1211),
             mapFinalSize      = (720,480),
             mapMilesSize      = (1500,750),
             vectors           = ['lambert.us.states.vg','lambert.us.coastlines.vg',],
             datacutType       = 'radarSatellite.us',
             datacutCoordinate = (1095,529),
             datacutSize       = (934,625),
             dataFinalSize     = (720,480),
             dataOffset        = (0,0),
)
wxdata.setMapData('Config.1.Local_RadarSatelliteComposite', d, 0)

# RadarSatelliteComposite (PRODUCT DATA)
d = twc.Data(
    vector = [
                # vector files have a thickness and a color and a layerMask
                (( 2, (20,20,20,255), 2, ), ( ('states',),),),
                (( 2, (20,20,20,255), 2, ), ( ('coastlines',),),),
              ],
)
dsm.set('Config.1.Local_RadarSatelliteComposite', d, 0)

# =============================================================================
# RecordHighLow
d = twc.Data(coopId=['72219000', ],
             climId=['090451', ],
             obsStation=['KATL', ],
             locName=['Atlanta', ],
             fcstLowOffset=0,
             fcstHighOffset=0,
)
dsm.set('Config.1.Local_RecordHighLow', d, 0)

# =============================================================================
# SchoolDayWeather
d = twc.Data(coopId='72219000',
             obsStation=['KATL', 'KORD', ],
             schedule=[((11,24,16,0,0),(11,26,16,0,0)),
                       ((12,17,16,0,0),( 1, 7,16,0,0)),],
)
dsm.set('Config.1.Local_SchoolDayWeather', d, 0)

# =============================================================================
# OutdoorActivityForecast
d = twc.Data(coopId='72219000',
)
dsm.set('Config.1.Local_OutdoorActivityForecast', d, 0)

# =============================================================================
# RegionalDopplerRadar (MAP DATA)
d = twc.Data(mapName           = 'mercator.us.bfg',
             mapcutCoordinate=(24452,7617),
             mapcutSize=(3480,2320),
             mapFinalSize=(720,480),
             mapMilesSize=(376,301),
             datacutType='radar.us',
             datacutCoordinate=(2596,596),
             datacutSize=(426,284),
             dataFinalSize=(720,480),
             dataOffset=(0,0),
             vectors=[ 'mercator.us.counties.vg','mercator.us.coastlines.vg',
                       'mercator.us.interstates.vg','mercator.us.states.vg',
                       'mercator.us.ushighways.vg','mercator.us.statehighways.vg',
                       'mercator.us.otherroutes.vg',],
)
wxdata.setMapData('Config.1.Local_RegionalDopplerRadar', d, 0)

# RegionalDopplerRadar (PRODUCT DATA)
d = twc.Data(
    textString = [
                    (
                     # font, fontSize, fontColor, fontShadow, tracking, justification, fontOutlineColor, layerMask, eraseBit, dataLabel
                     ( 'Interstate-Black', 22, (212,212,212,255), 1, -35, 0, (20,20,20,128), 1, 0, 0,), #Properties
                     # list of locNames with positions
                     ( ( (390,220), 'Atlanta',    ),
                       ( (115,190), 'Birmingham', ),
                       ( (138,324), 'Huntsville', ),
                       ( (204,248), 'Gadsen',     ),
                       ( (306,270), 'Rome',       ),
                       ( (293,366), 'Chattanooga',),
                       ( (583,299), 'Anderson',   ),
                       ( (467,120), 'Athens',     ),
                       ( (501,236), 'Macon',      ),
                     ),
                    ),

                    (
                     # font, fontSize, fontColor, fontShadow, tracking, justification, fontOutlineColor, layerMask, eraseBit, dataLabel
                     ( 'Interstate-Black', 22, (212,212,212,205), 1, -35, 0, (20,20,20,128), 2, 0, 0,), #Properties
                     # list of locNames with positions
                     ( ( (390,220), 'Atlanta',    ),
                       ( (115,190), 'Birmingham', ),
                       ( (138,324), 'Huntsville', ),
                       ( (204,248), 'Gadsen',     ),
                       ( (306,270), 'Rome',       ),
                       ( (293,366), 'Chattanooga',),
                       ( (583,299), 'Anderson',   ),
                       ( (467,120), 'Athens',     ),
                       ( (501,236), 'Macon',      ),
                     ),
                    ),
                  ],

    tiffImage = [
                   # the property of a tiffImage is the image name and its justification, layer mask, and erase bit
                   (( 'locatorDot', 0, 1, 0),
                    ( ( (371,217), ),
                      ( (95,187),  ),
                      ( (116,321), ),
                      ( (184,245), ),
                      ( (286,267), ),
                      ( (273,363), ),
                      ( (563,296), ),
                      ( (447,117), ),
                      ( (481,232), ),
                    ),
                   ),
                   (( 'locatorDotOutline', 0, 2, 1),
                    ( ( (371,217), ),
                      ( (95,187),  ),
                      ( (116,321), ),
                      ( (184,245), ),
                      ( (286,267), ),
                      ( (273,363), ),
                      ( (563,296), ),
                      ( (447,117), ),
                      ( (481,232), ),
                    ),
                   ),
                 ],

    # just like a tiffImage, but with a text string label centered over it
    labeledTiffImage = [
                          (( ('interstateSign', 0, 1, 0), 'Interstate-BoldCondensed', 18, (212,212,212,255), 0, 0, 0,),
                           ( ( (258,201), '20'),
                             ( (401,149), '75'),
                             ( (479,276), '85'),
                           ),
                          ),

                          (( ('interstateSignOutline', 0, 2, 1), 'Interstate-BoldCondensed', 18, (212,212,212,255), 0, 0, 0,),
                           ( ( (258,201), '20'),
                             ( (401,149), '75'),
                             ( (479,276), '85'),
                           ),
                          ),
                        ],

    vector = [
                # vector files have a thickness and a color and a layerMask
                (( 4, (20,20,20,96), 1, ), ( ('ushighways',),),),
                (( 4, (20,20,20,96), 1, ), ( ('statehighways',),),),
                (( 4, (20,20,20,96), 1, ), ( ('otherroutes',),),),
                (( 4, (20,20,20,96), 1, ), ( ('interstates',),),),
                (( 2, (20,20,20,255), 2, ), ( ('counties',),),),
                (( 2, (20,20,20,255), 2, ), ( ('coastlines',),),),
                (( 4, (20,20,20,255), 2, ), ( ('states',),),),
                (( 2, (130,130,130,255), 2, ), ( ('ushighways',),),),
                (( 2, (130,130,130,255), 2, ), ( ('statehighways',),),),
                (( 2, (130,130,130,255), 2, ), ( ('otherroutes',),),),
                (( 2, (130,130,130,255), 2, ), ( ('interstates',),),),
              ],
)
dsm.set('Config.1.Local_RegionalDopplerRadar', d, 0)

# =============================================================================
# RegionalForecastMap (MAP DATA)
d = twc.Data(mapName          = 'mercator.us.bfg',
             mapcutCoordinate = (23705,6513),
             mapcutSize       = (6887,4589),
             mapFinalSize     = (720,480),
             mapMilesSize     = (300,250),
             vectors          = [ 'mercator.us.states.vg',
                                  'mercator.us.coastlines.vg', ],
)
wxdata.setMapData('Config.1.Local_RegionalForecastMap', d, 0)

#####
# NOTE: For the ForecastMap products (those w/o raster data) layerMask=1 is used for things such as borders which last the entire
#       prooduct duration and layerMask=2 is used for sequenced data
#
# RegionalForecastMap (PRODUCT DATA)
d = twc.Data(
    textString = [
                    (
                     # font, fontSize, fontColor, fontShadow, tracking, justification, fontOutlineColor, layerMask, eraseBit, dataLabel
                     # NOTE: If dataLabel is set, then the elements will display only if the data is not expired.
                     ('Interstate-Bold', 24, (212,212,212,255), 1, 0, 0, (), 2, 0, 0,), #Properties
                     # list of locNames with positions
                     ( (  (279,164), 'Macon',       ),
                       (  (237,254), 'Atlanta',     ),
                       (  (85,159) , 'Montgomery',  ),
                       (  (413,294), 'Columbia',    ),
                       (  (139,345), 'Chattanooga', ),
                       (  (65,245) , 'Birmingham',  ),
                       (  (505,209), 'Charleston',  ),
                       (  (397,145), 'Savannah',    ),
                       (  (472,378), 'Charlotte',   ),
                     ),
                    ),
                 ],

    fcstValue = [
                  # font, fontSize, fontColor, fontShadow, tracking, obsValueType, justification,
                  # list of coopIds with positions
                  (( 'Interstate-BlackCondensed', 38, (212,212,50,255), 1, 0, 'temp', 1, (), 2,0,0,),
                   ( ( '72217007', (298,125)),
                     ( '72219000', (266,212)),
                     ( '72226004', (135,117)),
                     ( '72310007', (448,253)),
                     ( '72324004', (197,306)),
                     ( '72228005', (119,205)),
                     ( '72208000', (549,168)),
                     ( '72207005', (426,102)),
                     ( '72314004', (508,337)),
                   ),
                  ),
                ],

    fcstIcon = [
                  # fcstIcons have one property: justification
                  # fcstIcons have an coopId and a position
                  (
                   (0, 2, 0,), #Properties - justification and layerMask, eraseBit
                   ( ( '72217007', (315,96)),
                     ( '72219000', (270,181)),
                     ( '72226004', (148,93)),
                     ( '72310007', (460,227)),
                     ( '72324004', (203,277)),
                     ( '72228005', (133,175)),
                     ( '72208000', (555,140)),
                     ( '72207005', (444,77)),
                     ( '72314004', (520,310)),
                   ),
                  ),
               ],

    # NOTE: Vectors go on layer 1 because they are displayed for the entire duration
    vector = [
                # vector files have a thickness and a color
                (( 2, (20,20,20,255), 1, ), ( ('states',),),),
                (( 2, (20,20,20,255), 1, ), ( ('coastlines',),),),
             ],
)
dsm.set('Config.1.Local_RegionalForecastMap', d, 0)

# =============================================================================
# RegionalObservationMap (MAP DATA)
d = twc.Data(mapName          = 'mercator.us.bfg',
             mapcutCoordinate = (23705,6513),
             mapcutSize       = (6887,4589),
             mapFinalSize     = (720,480),
             mapMilesSize     = (300,250),
             vectors          = [ 'mercator.us.states.vg',
                                  'mercator.us.coastlines.vg', ],
)
wxdata.setMapData('Config.1.Local_RegionalObservationMap', d, 0)

# RegionalObservationMap (PRODUCT DATA)
d = twc.Data(
    textString = [
                    # font, fontSize, fontColor, fontShadow, tracking, justification, fontOutlineColor, layerMask, eraseBit, dataLabel
                    # NOTE: If dataLabel is set, then the elements will display only if the data is not expired.
                    (
                     ('Interstate-Bold', 24, (212,212,212,255), 1, 0, 0, (), 1, 0, 0,), #Properties
                     ( (  (279,164), 'Macon') ,
                       (  (237,254), 'Atlanta'),
                       (  (85,159) , 'Montgomery'),
                       (  (413,294), 'Columbia'),
                       (  (139,345), 'Chattanooga'),
                       (  (65,245) , 'Birmingham'),
                       (  (505,209), 'Charleston'),
                       (  (397,145), 'Savannah'),
                       (  (472,378), 'Charlotte'),
                     ),
                    ),
                  ],

    obsValue = [
                 # font, fontSize, fontColor, fontShadow, tracking, obsValueType, justification,
                 # list of obsStations with positions
                 (( 'Interstate-BlackCondensed', 38, (212,212,50,255), 1, 0, 'temp', 1, (), 1,0,0,),
                  ( ( 'KMCN', (308,125)),
                    ( 'KATL', (266,212)),
                    ( 'KMXF', (145,117)),
                    ( 'KCUB', (458,253)),
                    ( 'KCHA', (197,306)),
                    ( 'KBHM', (129,205)),
                    ( 'KCHS', (549,168)),
                    ( 'KSVN', (436,102)),
                    ( 'KCLT', (518,337)),
                  ),
                 ),
               ],

    obsIcon = [
                 # obsIcons have one property: justification
                 # obsIcons have an obsStation and a position
                 (
                  (0, 2, 0,), #Properties - justification and layerMask, eraseBit
                  ( ( 'KMCN', (315,96)),
                    ( 'KATL', (270,181)),
                    ( 'KMXF', (148,93)),
                    ( 'KCUB', (460,227)),
                    ( 'KCHA', (203,277)),
                    ( 'KBHM', (133,175)),
                    ( 'KCHS', (555,140)),
                    ( 'KSVN', (444,77)),
                    ( 'KCLT', (520,310)),
                  ),
                 ),
               ],

    vector = [
                # vector files have a thickness and a color and a layerMask
                (( 2, (20,20,20,255), 1, ), ( ('states',),),),
                (( 2, (20,20,20,255), 1, ), ( ('coastlines',),),),
              ],
)
dsm.set('Config.1.Local_RegionalObservationMap', d, 0)

# =============================================================================
# Satellite (MAP DATA)
d = twc.Data(mapName='lambert.us.tif',
             mapcutCoordinate=(1368,1770),
             mapcutSize=(2264,1510),
             mapFinalSize=(720,480),
             mapMilesSize=(1300,750),
             vectors=['lambert.us.states.vg','lambert.us.coastlines.vg',],
             datacutType='satellite.us',
             datacutCoordinate=(346,527),
             datacutSize=(608,407),
             dataFinalSize=(720,480),
             dataOffset=(0,0),
)
wxdata.setMapData('Config.1.Local_Satellite', d, 0)

# Satellite (PRODUCT DATA)
d = twc.Data(
    textString = [
                    (
                     # font, fontSize, fontColor, fontShadow, tracking, justification, fontOutlineColor, layerMask, eraseBit, dataLabel
                     ('Interstate-Bold', 21, (212,212,212,255), 1, 0, 0, (20,20,20,128), 2, 0, 0,), #Properties
                     # list of locNames with positions
                     ( ( (431,290), 'Seattle', ),
                       ( (500,265), 'Spokane', ),
                       ( (418,244), 'Portland', ),
                     ),
                    ),
                 ],

    tiffImage = [
                   # the property of a tiffImage is the image name and its justification, layerMask, eraseBit
                   (('locatorDot', 0, 2, 0),
                    ( ( (412,287), ),
                      ( (481,262), ),
                      ( (399,241), ),
                    ),
                   ),

                   (('locatorDotOutline', 0, 2, 0),
                    ( ( (412,287), ),
                      ( (481,262), ),
                      ( (399,241), ),
                    ),
                   ),
                ],

    vector = [
                # vector files have a thickness and a color and a layerMask
                (( 2, (20,20,20,255), 2, ), ( ('states',),),),
                (( 2, (20,20,20,255), 2, ), ( ('coastlines',),),),
              ],
)
dsm.set('Config.1.Local_Satellite', d, 0)

# =============================================================================
# Tides
d = twc.Data(tideStation=['E8461490', 'E0001201'],
             locName=['New London, Connecticut (State Pier)','West Harbor, Fishers Island, New York'],
)
dsm.set('Config.1.Local_Tides', d, 0)

# =============================================================================
# Traffic Overview
d = twc.Data(locName = ["Atlanta", "Orlando", "South Boston"],
             mapName = ["32.1", "23.1", "18.3"])
dsm.set('Config.1.Local_TrafficOverview', d, 0, 1)

# =============================================================================
# TrafficFlow
#                          Route ID    Description
d = twc.Data(
routes = [
    [
    (("32.90805", "NB, I-85 North to I-285 (Northside).", "interstateHighwaySignLarge", "75", (212,212,212,255), 1, ),
     ("32.90806", "SB, I-285 (Northside) to I-85 North.", "interstateHighwaySignLarge", "75", (212,212,212,255), 1, )),
    (("32.90827", "EB, Georgia 400 to I-75.", "interstateHighwaySignLarge", "285", (212,212,212,255), 1, ),
     ("32.90828", "WB, I-75 to Georgia 400.", "interstateHighwaySignLarge", "285", (212,212,212,255), 1, )),
    (("32.93148", "SB, Holcomb Bridge Rd/State Rd-141 to I-285.", "stateHighwaySignLarge", "400", (13,13,13,255), 0, ),
     ("32.93147", "NB, I-285 to Holcomb Bridge Rd/State Rd-141.", "stateHighwaySignLarge", "400", (13,13,13,255), 0, )),
    ],
    [
    (("32.90828", "WB, I-85 to Georgia 400.", "interstateHighwaySignLarge", "285", (212,212,212,255), 1, ),
     ("32.90829", "EB, Georgia 400 to I-85.", "interstateHighwaySignLarge", "285", (212,212,212,255), 1, )),
    (("32.93117", "WB, I-85 to I-75.", "interstateHighwaySignLarge", "285", (212,212,212,255), 1, ),
     ("32.93118", "EB, I-75 to I-85.", "interstateHighwaySignLarge", "285", (212,212,212,255), 1, )),
    (("32.93068", "SB, SR 316 to I-285.", "interstateHighwaySignLarge", "85", (212,212,212,255), 1, ),
     ("32.93068", "NB, I-285 to SR 316.", "interstateHighwaySignLarge", "85", (212,212,212,255), 1, )),
    ]
],
routeDisplayTime = ( ((0,00),(11,59)), ((12,00),(23,59)) ),  # Start/End times for primary routes, Start/End times for reverse/alt routes
)
dsm.set('Config.1.Local_TrafficFlow', d, 0)

# =============================================================================
# TrafficReport
d = twc.Data(locName = 'ATLANTA',
             #metroId=['32','23'], # uncomment these two lines to test support for multiple metro ids
             metroId=['32',],
             activeVocalCue = 1,
             maxPages = 3,
             latLongBoxes=[((-84.4664,33.8712),(-84.2453,34.0922)), # 400
                       ((-84.3014,33.7914),(-83.7952,34.0685)),  # Northeast 85
                       ((-84.3209,33.6557),(-83.9906,33.8698)),  # east 20
                       ((-84.777,33.8614),(-84.4286,34.1048)),  # Northwest 75
                       #((-81.955,28.265),(-80.797,28.925)),  # Orlando
                       ],
             severityList=[('Incident', 2),
                           ('Construction', 1)
                          ]
)
dsm.set('Config.1.Local_TrafficReport', d, 0)

# =============================================================================
# no commit needed - loadSCMTconfig.py does it for us now
