-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata_conversion.py
More file actions
30 lines (25 loc) · 1.38 KB
/
data_conversion.py
File metadata and controls
30 lines (25 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import argparse
import sys; sys.path.insert(0, './lib')
import drconvert as conv
import yaml
from os import makedirs
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("config", help="Options file (.yaml) for conversion") #defines script arguments
parser.add_argument("type", help="Type of conversion to perform (shp2drf, rawSPOT2shp, rawMetO2shp)")
args = parser.parse_args() #collects user input
config = vars(args) #converts user input arguments into a dict
with open(config['config'], 'r') as fid:
cfg = yaml.safe_load(fid)
if config['type'] == 'shp2drf':
makedirs(cfg['clean_drf_folder'], exist_ok=True)
conv.write.convert_shp_to_drf(cfg['shp_folder'], config['config'], cfg['clean_drf_folder'])
elif config['type'] == 'rawMetO2shp':
makedirs(cfg['shp_folder'], exist_ok=True)
drifters = conv.read.read_metocean_csv(cfg['raw_data_folders']['meto'],config['config'])
conv.process.write_drifters_to_shp(drifters, cfg['shp_folder'], cfg['coastline_shp'])
elif config['type'] == 'rawSPOT2shp':
makedirs(cfg['shp_folder'], exist_ok=True)
drifters = conv.read.read_SPOT_xlsx(cfg['raw_data_folders']['spot'], cfg)
conv.process.write_drifters_to_shp(drifters, cfg['shp_folder'], cfg['coastline_shp'])
else:
raise ValueError('Not a valid conversion type (use shp2drf, rawSPOT2shp, rawMetO2shp)')