Пример #1
0
def run_enki(options, starttime, endtime):
    '''
    options is a runconfiguration dict for overiding the default parameters from the json file.
    '''
    # path management
    enkiRootPath = path.abspath(r"D:/enki")
    enkiBinPath = path.join(enkiRootPath, 'bin')
    enkiModelPath = path.join(enkiRootPath, 'Data', 'Tokke_Prod')
    enkiModelJsonPath = path.join(enkiModelPath, 'Tokke_Prod_fullnetwork.json')  # 'Tokke_Prod.json'

    enkiRunConfig = EnkiRc(enkiModelJsonPath, **options)
    enkiRunConfig.initiate_options()
    enkiRunConfig.initiate_datasets()
    enkiService = enki.EnkiApiService(False)
    enkiService.setRootPath(enkiModelPath)
    
    result = enkiService.run(enkiRunConfig.rc)
    stateFile = os.path.join(enkiModelPath, str.format("{0}.state.{1}-{2:02d}-{3:02d}_{4:02d}.stx", 'ENKI', 
                                                       endtime.year, endtime.month, endtime.day, endtime.hour))
    if result.success:
        rs = EnkiResult(result, enkiRunConfig)
        rs.write_results()
        
        rs.save_statefile(stateFile)
        
    return result