Newer
Older
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import glob
mod_res_params = ['M07', 'M08', 'M10', 'M12', 'M13', 'M14', 'M15', 'M16']
img_res_params = ['M07_highres', 'M08_highres', 'M10_highres', 'M12_highres', 'M13_highres', 'M14_highres', 'M15_highres', 'M16_highres']
def run_all(directory):
mod_files = glob.glob(directory+'*.uwssec.nc')
img_files = glob.glob(directory+'*.uwssec.highres.nc')
mod_tiles = []
img_tiles = []
for idx, mfile in enumerate(mod_files):
ifile = img_files[idx]
run(mfile, ifile, mod_tiles, img_tiles)
mod_nda = np.stack(mod_tiles)
img_nda = np.stack(img_tiles)
mod_mean = mod_nda.mean()
img_mean = img_nda.mean()
mod_std = mod_nda.std()
img_std = img_nda.std()
mod_nda = (mod_nda - mod_mean) / mod_std
img_nda = (img_nda - img_mean) / img_std
return mod_nda, img_nda
def run(mod_res_filename, img_res_filename, mod_tiles, img_tiles):
mod_h5f = h5py.File(mod_res_filename, 'r')
img_h5f = h5py.File(img_res_filename, 'r')
mod_tile_width = 64
img_tile_width = mod_tile_width * 2
mod_param = 'observation_data/M15'
img_param = 'observation_data/M15_highres'
mod_num_lines = mod_h5f[mod_param].shape[0]
mod_num_pixels = mod_h5f[mod_param].shape[1]
img_num_lines = img_h5f[img_param].shape[0]
img_num_pixels = img_h5f[img_param].shape[1]
mod_num_y_tiles = int(mod_num_lines / mod_tile_width)
mod_num_x_tiles = int(mod_num_pixels / mod_tile_width)
mod_data = get_grid_values(mod_h5f, mod_param, 0, 0, None, mod_num_lines, mod_num_pixels, range_name=None)
img_data = get_grid_values(img_h5f, img_param, 0, 0, None, img_num_lines, img_num_pixels, range_name=None)
for j in range(mod_num_y_tiles):
j_m = j * mod_tile_width
j_i = j_m * 2
for i in range(mod_num_x_tiles):
i_m = i * mod_tile_width
i_i = i_m * 2
nda = mod_data[j_m:j_m+mod_tile_width, i_m:i_m+mod_tile_width]
mod_tiles.append(nda)
nda = img_data[j_i:j_i+img_tile_width, i_i:i_i+img_tile_width]
img_tiles.append(nda)
mod_h5f.close()
img_h5f.close()
def run_test(directory):
files = glob.glob(directory + 'clavrx_snpp_viirs*.h5')
for file in files:
h5f = h5py.File(file, 'r')
opd_nl = get_grid_values_all(h5f, 'cld_opd_nlcomp')
reff_nl = get_grid_values_all(h5f, 'cld_reff_nlcomp')
if np.sum(np.isnan(opd_nl)) < opd_nl.size and np.sum(np.isnan(reff_nl)) < reff_nl.size:
print(file)