debug = options.debug
dev_mode = options.dev_mode
period = options.period
region_key = options.grid_region
verbose = options.verbose or debug

threat_key = args[0]

num_args = len(args)
if num_args == 2: target_year = int(args[1])

# create a factory for disease file access
factory = TurfThreatGridFileFactory(CONFIG)
if dev_mode: factory.useDirpathsForMode('dev')
region = factory.regionConfig(region_key)
threat = factory.threatConfig(threat_key)

# filter annoying numpy warnings
warnings.filterwarnings('ignore', "All-NaN axis encountered")
warnings.filterwarnings('ignore', "All-NaN slice encountered")
warnings.filterwarnings('ignore', "invalid value encountered in greater")
warnings.filterwarnings('ignore', "invalid value encountered in less")
warnings.filterwarnings('ignore', "Mean of empty slice")
# MUST ALSO TURN OFF WARNING FILTERS AT END OF SCRIPT !!!!!

# get grid file builder
manager = factory.threatFileManager(threat_key, period, target_year, region)
msg = '\nAttempting to repair first_valid date in %s threat/risk file :\n%s'
print msg % (threat.fullname, manager.filepath)
manager.close()
            start_date = datetime.date(arg_2, month, int(args[4]))
            end_date = datetime.date(arg_2, month, int(args[5]))
        else:
            year = today.year
            start_date = datetime.date(year, arg_2, int(args[3]))
            end_date = datetime.date(year, int(args[4]), int(args[5]))

    elif num_date_args == 5:
        start_date = datetime.date(arg_2, int(args[3]), int(args[4]))
        end_date = datetime.date(arg_2, int(args[5]), int(args[6]))

target_year = end_date.year

threat_factory = TurfThreatGridFileFactory()
region = threat_factory.regionConfig(region_key)
period = threat_factory.threatConfig(threat).periods[period_key]

weather_reader = SmartThreatWeatherReader(region)

if dev_mode:
    threat_factory.useDirpathsForMode('dev')
    weather_reader.useDirpathsForMode('dev')

if start_date is None:
    start_date = end_date
    end_date += datetime.timedelta(days=period.num_days)

print '\nrequested :'
print '      today =', today
print '      start =', start_date
print '        end =', end_date