# time attributes used by date grid handlers to access data by date
time_attrs = factory.tool.datasets.time.attrs
datasets['reported.maxt'].update(time_attrs)
datasets['reported.mint'].update(time_attrs)
# time attributes used by date grid handlers to access provenance by date
provenance_attrs = factory.tool.datasets.provenance.attrs

# copy frost temperature file to frapple build directory
reader = Hdf5DateGridFileReader(frost_filepath)
season_dates['last_valid_date'] = \
             reader.datasetAttribute('reported.maxt', 'last_valid_date')
season_dates['last_obs_date'] = season_dates['last_valid_date']
print 'Copying : ', reader.filepath
manager = Hdf5DateGridFileManager(tool_filepath, mode='a')
print 'To : ', manager.filepath
copyHdf5DategridFile(reader, manager, factory.tool.fileattrs.attrs, datasets,
                     exclusions)
del reader
manager.open('a')
manager.move('reported', 'temps')
manager.close()

# copy forecast tempratures to the build file
if add_forecast:
    fcast_reader = factory.sourceFileReader(source,
                                            fcast_year,
                                            region,
                                            'temps',
                                            filepath=shared_filepath)
    fcast_end = fcast_reader.dateAttribute('temps.maxt', 'fcast_end_date')
    if fcast_end <= today:
        fcast_reader.close()
Exemple #2
0
    date_attrs['fcast_start_date'] = temps_dates['fcast_start_date']
    date_attrs['fcast_end_date'] = temps_dates['fcast_end_date']
# add key dates to each dataset's attributes
datasets['Carolina.L43H86.gdd.accumulated'].update(date_attrs)
datasets['Carolina.L43H86.gdd.chill_mask'].update(date_attrs)
datasets['Carolina.L43H86.gdd.provenance'].update(date_attrs)
datasets['Carolina.L43H86.stage.index'].update(date_attrs)
datasets['Carolina.L43H86.stage.provenance'].update(date_attrs)
datasets['Carolina.L43H86.kill.level'].update(date_attrs)
datasets['Carolina.L43H86.kill.provenance'].update(date_attrs)

print 'Copying : ', frost_reader.filepath
frost_reader.open()
builder = Hdf5DateGridFileManager(tool_filepath, mode='a')
print 'To : ', builder.filepath
copyHdf5DategridFile(frost_reader, builder, factory.tool.fileattrs.attrs,
                     datasets, exclusions, debug)
builder.close()
frost_reader.close()
del frost_reader, builder

# 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 !!!!!

# update the stage grids with 6-day forecast
manager = AppleVarietyGridManager(target_year, variety, mode='a',
                                  filepath=tool_filepath)