-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathconvert_CUtxt2hdf5.py
39 lines (36 loc) · 1.43 KB
/
convert_CUtxt2hdf5.py
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
31
32
33
34
35
36
37
38
39
import h5py
import numpy as np
outh5fname = './CU_SDT1.0.mod.h5'
infname = '../CU_SDT1.0.mod'
dset = h5py.File(outh5fname)
firstgrd = True
with open(infname, 'r') as fid:
for line in fid.readlines():
sline = line.split()
if len(sline) == 2:
if firstgrd:
lat = float(sline[0])
lon = float(sline[1])
firstgrd= False
data = np.array([])
continue
else:
data = data.reshape((data.size/10, 10))
dset.create_dataset(name=str(lon)+'_'+str(lat), data=data, compression='gzip')
lat = float(sline[0])
lon = float(sline[1])
data = np.array([])
elif len(sline) == 10:
data = np.append(data, float(sline[0]))
data = np.append(data, float(sline[1]))
data = np.append(data, float(sline[2]))
data = np.append(data, float(sline[3]))
data = np.append(data, float(sline[4]))
data = np.append(data, float(sline[5]))
data = np.append(data, float(sline[6]))
data = np.append(data, float(sline[7]))
data = np.append(data, float(sline[8]))
data = np.append(data, float(sline[9]))
else:
raise ValueError('Unexpected number of columns')
dset.close()