- possible = [
- "%s, %s" % (county, state),
- "%s County, %s" % (county, state),
- ]
- if description.endswith(" Counties"):
- description = description[:-9]
- for addition in description.split(" and "):
- possible.append( "%s, %s" % (addition, state) )
- possible.append( "%s County, %s" % (addition, state) )
- if fips in places and "centroid" in places[fips]:
- for candidate in zones:
- if "centroid" not in zones[candidate] and \
- "description" in zones[candidate] and \
- zones[candidate]["description"] in possible:
- zones[candidate]["centroid"] = \
- places[fips]["centroid"]
+ countycode = "%sc%s" % (state.lower(), fips[-3:])
+ if state:
+ zones[zone]["coastal_flood_statement"] = (
+ "https://tgftp.nws.noaa.gov/data/watches_warnings/"
+ "flood/coastal/%s/%s.txt" % (state.lower(), zone))
+ zones[zone]["flash_flood_statement"] = (
+ "https://tgftp.nws.noaa.gov/data/watches_warnings/"
+ "flash_flood/statement/%s/%s.txt"
+ % (state.lower(), countycode))
+ zones[zone]["flash_flood_warning"] = (
+ "https://tgftp.nws.noaa.gov/data/watches_warnings/"
+ "flash_flood/warning/%s/%s.txt"
+ % (state.lower(), countycode))
+ zones[zone]["flash_flood_watch"] = (
+ "https://tgftp.nws.noaa.gov/data/watches_warnings/"
+ "flash_flood/watch/%s/%s.txt" % (state.lower(), zone))
+ zones[zone]["flood_warning"] = (
+ "https://tgftp.nws.noaa.gov/data/watches_warnings/"
+ "flood/warning/%s/%s.txt"
+ % (state.lower(), countycode))
+ zones[zone]["severe_thunderstorm_warning"] = (
+ "https://tgftp.nws.noaa.gov/data/watches_warnings/"
+ "thunderstorm/%s/%s.txt" % (state.lower(), countycode))
+ zones[zone]["severe_weather_statement"] = (
+ "https://tgftp.nws.noaa.gov/data/watches_warnings/"
+ "severe_weather_stmt/%s/%s.txt"
+ % (state.lower(), countycode))
+ zones[zone]["short_term_forecast"] = (
+ "https://tgftp.nws.noaa.gov/data/forecasts/nowcast/"
+ "%s/%s.txt" % (state.lower(), zone))
+ zones[zone]["special_weather_statement"] = (
+ "https://tgftp.nws.noaa.gov/data/watches_warnings/"
+ "special_weather_stmt/%s/%s.txt"
+ % (state.lower(), zone))
+ zones[zone]["state_forecast"] = (
+ "https://tgftp.nws.noaa.gov/data/forecasts/state/"
+ "%s/%s.txt" % (state.lower(), zone))
+ zones[zone]["tornado"] = (
+ "https://tgftp.nws.noaa.gov/data/watches_warnings/"
+ "tornado/%s/%s.txt" % (state.lower(), countycode))
+ zones[zone]["urgent_weather_message"] = (
+ "https://tgftp.nws.noaa.gov/data/watches_warnings/"
+ "non_precip/%s/%s.txt" % (state.lower(), zone))
+ zones[zone]["zone_forecast"] = (
+ "https://tgftp.nws.noaa.gov/data/forecasts/zone/"
+ "%s/%s.txt" % (state.lower(), zone))
+ tzcode = fields[7]
+ if tzcode == "A":
+ zones[zone]["tz"] = "US/Alaska"
+ elif tzcode == "AH":
+ zones[zone]["tz"] = "US/Aleutian"
+ elif tzcode in ("C", "CE", "CM"):
+ zones[zone]["tz"] = "US/Central"
+ elif tzcode in ("E", "e"):
+ zones[zone]["tz"] = "US/Eastern"
+ elif tzcode == "F":
+ zones[zone]["tz"] = "Pacific/Guadalcanal"
+ elif tzcode == "G":
+ zones[zone]["tz"] = "Pacific/Guam"
+ elif tzcode == "H":
+ zones[zone]["tz"] = "US/Hawaii"
+ elif tzcode == "J":
+ zones[zone]["tz"] = "Japan"
+ elif tzcode == "K":
+ zones[zone]["tz"] = "Pacific/Kwajalein"
+ elif tzcode in ("M", "MC", "MP"):
+ zones[zone]["tz"] = "US/Mountain"
+ elif tzcode == "m":
+ zones[zone]["tz"] = "US/Arizona"
+ elif tzcode == "P":
+ zones[zone]["tz"] = "US/Pacific"
+ elif tzcode == "S":
+ zones[zone]["tz"] = "US/Samoa"
+ elif tzcode == "V":
+ zones[zone]["tz"] = "America/Virgin"
+ else:
+ zones[zone]["tz"] = ""
+ county = fields[5]
+ if county:
+ if description.endswith(county):
+ description += " County"
+ else:
+ description += ", %s County" % county
+ description += ", %s, US" % state
+ zones[zone]["description"] = description
+ zones[zone]["centroid"] = gecos( ",".join( fields[9:11] ) )
+ if fips in places and not zones[zone]["centroid"]:
+ zones[zone]["centroid"] = places[fips]["centroid"]