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)
Exemple #4
0
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()
Exemple #7
0
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()
Exemple #9
0
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()
Exemple #13
0
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))
Exemple #14
0
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()
Exemple #15
0
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()
Exemple #16
0
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)
Exemple #17
0
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()
Exemple #21
0
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()
Exemple #27
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()

    ImportMongodbClass.workflow(seims_cfg)
Exemple #28
0
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)
Exemple #30
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()
    SoilUtilClass.parameters_extraction(seims_cfg)
Exemple #31
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()
    SpatialDelineation.workflow(seims_cfg)
Exemple #32
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()
    MergeSubbasins.merge_to_downstream_qswat(seims_cfg)
Exemple #33
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()
    SpatialDelineation.workflow(seims_cfg)
Exemple #34
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()
    SoilUtilClass.parameters_extraction(seims_cfg)
Exemple #35
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()
    connected_field_partition_wu2018(seims_cfg)