def skims(omx_file, preload_3d_skims, cache_skim_key_values): logger.info("loading skims (preload_3d_skims: %s)" % preload_3d_skims) skims = skim.Skims() skims['DISTANCE'] = skim.Skim(omx_file['DIST'], offset=-1) skims['DISTBIKE'] = skim.Skim(omx_file['DISTBIKE'], offset=-1) skims['DISTWALK'] = skim.Skim(omx_file['DISTWALK'], offset=-1) if preload_3d_skims: logger.info("skims injectable preloading preload_3d_skims") # FIXME - assumes that the only types of key2 are time_periods # there may be more time periods in the skim than are used by the model skims_in_omx = omx_file.listMatrices() for skim_name in skims_in_omx: # logger.debug("skims injectable preloading skim %s" % skim_name) key, sep, key2 = skim_name.partition('__') if key2 and key2 in cache_skim_key_values: skims.set_3d(key, key2, skim.Skim(omx_file[skim_name], offset=-1)) else: # need to load these for the injectables above skims.set_3d('SOV_TIME', 'AM', skim.Skim(omx_file['SOV_TIME__AM'], offset=-1)) skims.set_3d('SOV_TIME', 'PM', skim.Skim(omx_file['SOV_TIME__PM'], offset=-1)) skims.set_3d('SOV_TIME', 'MD', skim.Skim(omx_file['SOV_TIME__MD'], offset=-1)) return skims
def skim_dict(omx_file, cache_skim_key_values): logger.info("skims injectable loading skims") skim_dict = askim.SkimDict() skims_in_omx = omx_file.listMatrices() for skim_name in skims_in_omx: key, sep, key2 = skim_name.partition('__') if not sep: # no separator - this is a simple 2d skim - we load them all skim_dict.set(key, askim.Skim(omx_file[skim_name], offset=-1)) else: # there may be more time periods in the skim than are used by the model # cache_skim_key_values is a list of time periods (frem settings) that are used # FIXME - assumes that the only types of key2 are time_periods if key2 in cache_skim_key_values: skim_dict.set((key, key2), askim.Skim(omx_file[skim_name], offset=-1)) return skim_dict
def sovpm_skim(nonmotskm_matrix): # FIXME use the right omx file return skim.Skim(nonmotskm_matrix, offset=-1)
def distance_skim(nonmotskm_matrix): return skim.Skim(nonmotskm_matrix, offset=-1)