def main(): from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() db_model = conn[seims_cfg.spatial_db] spatial_gfs = GridFS(db_model, DBTableNames.gridfs_spatial) csv_path = r'C:\z_data\zhongTianShe\model_data_seims\field_scale_params' csv_files = FileClass.get_full_filename_by_suffixes(csv_path, ['.csv']) field_count = 7419 prefix = 9999 # Create mask file mask_name = '%d_MASK' % prefix mask_array = [[1] * field_count] import_array_to_mongodb(spatial_gfs, mask_array, mask_name) # Create spatial parameters for csv_file in csv_files: print('Import %s...' % csv_file) param_arrays = read_field_arrays_from_csv(csv_file) for key, value in list(param_arrays.items()): import_array_to_mongodb(spatial_gfs, value, '%d_%s' % (prefix, key))
def main(): from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() db_model = conn[seims_cfg.spatial_db] spatial_gfs = GridFS(db_model, DBTableNames.gridfs_spatial) csv_path = r'C:\z_data\zhongTianShe\model_data_seims\field_scale_params' csv_files = FileClass.get_full_filename_by_suffixes(csv_path, ['.csv']) field_count = 7419 prefix = 9999 # Create mask file mask_name = '%d_MASK' % prefix mask_array = [[1] * field_count] import_array_to_mongodb(spatial_gfs, mask_array, mask_name) # Create spatial parameters for csv_file in csv_files: print('Import %s...' % csv_file) param_arrays = read_field_arrays_from_csv(csv_file) for key, value in list(param_arrays.items()): import_array_to_mongodb(spatial_gfs, value, '%d_%s' % (prefix, key))
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from .db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() main_db = conn[seims_cfg.spatial_db] extract_spatial_parameters(seims_cfg, main_db)
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from .db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() main_db = conn[seims_cfg.spatial_db] extract_spatial_parameters(seims_cfg, main_db)
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from preprocess.db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() ImportWeightData.workflow(seims_cfg, conn, 0) client.close()
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from preprocess.db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() ImportWeightData.workflow(seims_cfg, conn, 0) client.close()
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() main_db = conn[seims_cfg.spatial_db] LanduseUtilClass.parameters_extraction(seims_cfg, main_db) client.close()
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from preprocess.db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() main_db = conn[seims_cfg.spatial_db] ImportParam2Mongo.workflow(seims_cfg, main_db) client.close()
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() main_db = conn[seims_cfg.spatial_db] LanduseUtilClass.parameters_extraction(seims_cfg, main_db) client.close()
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from preprocess.db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() maindb = conn[seims_cfg.spatial_db] ImportReaches2Mongo.generate_reach_table(seims_cfg, maindb) client.close()
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from preprocess.db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() maindb = conn[seims_cfg.spatial_db] ImportReaches2Mongo.generate_reach_table(seims_cfg, maindb) client.close()
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from preprocess.db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() main_db = conn[seims_cfg.spatial_db] ImportParam2Mongo.workflow(seims_cfg, main_db) client.close()
def workflow(): """Main entrance for the whole preprocessing workflow""" start_time = time.time() # Parse Configuration file seims_cfg = parse_ini_configuration() # Spatial delineation by TauDEM SpatialDelineation.workflow(seims_cfg) # Import to MongoDB database ImportMongodbClass.workflow(seims_cfg) end_time = time.time() print('SEIMS preprocess done, time-consuming: %.2f seconds.' % (end_time - start_time))
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from preprocess.db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() maindb = conn[seims_cfg.spatial_db] scenariodb = conn[seims_cfg.bmp_scenario_db] ImportScenario2Mongo.scenario_from_texts(seims_cfg, maindb, scenariodb) client.close()
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from preprocess.db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() maindb = conn[seims_cfg.spatial_db] scenariodb = conn[seims_cfg.bmp_scenario_db] ImportScenario2Mongo.scenario_from_texts(seims_cfg, maindb, scenariodb) client.close()
def main(): """TEST CODE""" import os import sys if os.path.abspath(os.path.join(sys.path[0], '..')) not in sys.path: sys.path.insert(0, os.path.abspath(os.path.join(sys.path[0], '..'))) from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() streamf = seims_cfg.spatials.stream_link flowdirf = seims_cfg.spatials.d8flow hillslpf = seims_cfg.spatials.hillslope DelineateHillslope.downstream_method_whitebox(streamf, flowdirf, hillslpf)
def workflow(): """Main entrance for the whole preprocessing workflow""" start_time = time.time() # Parse Configuration file seims_cfg = parse_ini_configuration() # Spatial delineation by TauDEM SpatialDelineation.workflow(seims_cfg) # Import to MongoDB database ImportMongodbClass.workflow(seims_cfg) end_time = time.time() print('SEIMS preprocess done, time-consuming: %.2f seconds.' % (end_time - start_time))
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from preprocess.db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() hydroclim_db = conn[seims_cfg.climate_db] site_m = HydroClimateUtilClass.query_climate_sites(hydroclim_db, 'M') site_p = HydroClimateUtilClass.query_climate_sites(hydroclim_db, 'P') client.close()
def main(): """TEST CODE""" import os import sys if os.path.abspath(os.path.join(sys.path[0], '..')) not in sys.path: sys.path.insert(0, os.path.abspath(os.path.join(sys.path[0], '..'))) from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() streamf = seims_cfg.spatials.stream_link flowdirf = seims_cfg.spatials.d8flow hillslpf = seims_cfg.spatials.hillslope DelineateHillslope.downstream_method_whitebox(streamf, flowdirf, hillslpf)
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from preprocess.db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() db = conn[seims_cfg.climate_db] import time st = time.time() ImportMeteoData.workflow(seims_cfg, db) et = time.time() print(et - st) client.close()
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration from preprocess.db_mongodb import ConnectMongoDB seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() db = conn[seims_cfg.climate_db] import time st = time.time() ImportMeteoData.workflow(seims_cfg, db) et = time.time() print(et - st) client.close()
def main(): from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() db_model = conn[seims_cfg.spatial_db] sitelist_coll = db_model[DBTableNames.main_sitelist] # Add an item in SITELIST collection, in which the SUBBASINID is 9999 bsn_item = sitelist_coll.find_one({FieldNames.subbasin_id: 0}) field_bsn_item = deepcopy(bsn_item) del field_bsn_item['_id'] field_bsn_item[FieldNames.subbasin_id] = 9999 sitelist_coll.insert_one(field_bsn_item)
def main(): from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port) conn = client.get_conn() db_model = conn[seims_cfg.spatial_db] sitelist_coll = db_model[DBTableNames.main_sitelist] # Add an item in SITELIST collection, in which the SUBBASINID is 9999 bsn_item = sitelist_coll.find_one({FieldNames.subbasin_id: 0}) field_bsn_item = deepcopy(bsn_item) del field_bsn_item['_id'] field_bsn_item[FieldNames.subbasin_id] = 9999 sitelist_coll.insert_one(field_bsn_item)
def main(): """Delineation slope position units with the associated information.""" from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() reach_shp = seims_cfg.vecs.reach hillslp_file = seims_cfg.spatials.hillslope landuse_file = seims_cfg.spatials.landuse # additional inputs slppos_tag_name = [(1, 'summit'), (4, 'backslope'), (16, 'valley')] slppos_file = r'D:\data_m\youwuzhen\seims_models_phd\data_prepare\spatial\spatial_units\SLOPEPOSITION.tif' obj = SlopePositionUnits(slppos_tag_name, slppos_file, reach_shp, hillslp_file, landuse_file) obj.run()
def main(): """Delineation slope position units with the associated information.""" # inputs from preprocess from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() reach_shp = seims_cfg.vecs.reach hillslp_file = seims_cfg.spatials.hillslope landuse_file = seims_cfg.spatials.landuse # additional inputs slppos_tag_name = [(1, 'summit'), (4, 'backslope'), (16, 'valley')] slppos_file = r'C:\z_data_m\SEIMS2017\fuzslppos_ywz10m\slope_position_units\SLOPEPOSITION.tif' obj = SlopePositionUnits(slppos_tag_name, slppos_file, reach_shp, hillslp_file, landuse_file) obj.run()
def main(): """Delineation slope position units with the associated information.""" # inputs from preprocess from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() reach_shp = seims_cfg.vecs.reach hillslp_file = seims_cfg.spatials.hillslope landuse_file = seims_cfg.spatials.landuse # additional inputs slppos_tag_name = [(1, 'summit'), (4, 'backslope'), (16, 'valley')] slppos_file = r'C:\z_data_m\SEIMS2017\fuzslppos_ywz10m\slope_position_units\SLOPEPOSITION.tif' obj = SlopePositionUnits(slppos_tag_name, slppos_file, reach_shp, hillslp_file, landuse_file) obj.run()
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() ImportMongodbClass.workflow(seims_cfg)
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() MergeSubbasins.merge_to_downstream_qswat(seims_cfg)
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() ImportMongodbClass.workflow(seims_cfg)
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() SoilUtilClass.parameters_extraction(seims_cfg)
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() SpatialDelineation.workflow(seims_cfg)
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() MergeSubbasins.merge_to_downstream_qswat(seims_cfg)
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() SpatialDelineation.workflow(seims_cfg)
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() SoilUtilClass.parameters_extraction(seims_cfg)
def main(): """TEST CODE""" from preprocess.config import parse_ini_configuration seims_cfg = parse_ini_configuration() connected_field_partition_wu2018(seims_cfg)