Skip to content

Commit a48ac51

Browse files
committed
correction for missing files
1 parent 351e0a0 commit a48ac51

File tree

1 file changed

+24
-23
lines changed

1 file changed

+24
-23
lines changed

GEOSldas_App/util/postproc/ObsFcstAna_stats/postproc_ObsFcstAna.py

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -152,31 +152,32 @@ def compute_monthly_sums(self, date_time):
152152

153153
data_all.append(data_tile)
154154

155-
# cross-mask over all experiments
156-
is_cross_valid = ~np.isnan(data_all[0]['obs_obs'])
157-
for data in data_all[1:]:
158-
mask = ~np.isnan(data['obs_obs'])
159-
is_cross_valid = np.logical_and(is_cross_valid,mask)
160-
161-
# reconstruct the output variable dictionary based on input options;
162-
# obs_obs and obs_obsvar are from exp_list[obs_from], the rest are from exp_list[0]
163-
data_tile = {}
164-
for var in var_list:
165-
if 'obs_obs' in var:
166-
data_tile[var] = data_all[obs_from][var]
167-
else:
168-
data_tile[var] = data_all[0][var]
155+
if len(data_all) > 0:
156+
# cross-mask over all experiments
157+
is_cross_valid = ~np.isnan(data_all[0]['obs_obs'])
158+
for data in data_all[1:]:
159+
mask = ~np.isnan(data['obs_obs'])
160+
is_cross_valid = np.logical_and(is_cross_valid,mask)
161+
162+
# reconstruct the output variable dictionary based on input options;
163+
# obs_obs and obs_obsvar are from exp_list[obs_from], the rest are from exp_list[0]
164+
data_tile = {}
165+
for var in var_list:
166+
if 'obs_obs' in var:
167+
data_tile[var] = data_all[obs_from][var]
168+
else:
169+
data_tile[var] = data_all[0][var]
169170

170-
is_valid = is_cross_valid
171-
172-
N_data[ is_valid] += 1
173-
oxf_sum[is_valid] += data_tile['obs_obs' ][is_valid] * data_tile['obs_fcst'][is_valid]
174-
oxa_sum[is_valid] += data_tile['obs_obs' ][is_valid] * data_tile['obs_ana' ][is_valid]
175-
fxa_sum[is_valid] += data_tile['obs_fcst'][is_valid] * data_tile['obs_ana' ][is_valid]
171+
is_valid = is_cross_valid
172+
173+
N_data[ is_valid] += 1
174+
oxf_sum[is_valid] += data_tile['obs_obs' ][is_valid] * data_tile['obs_fcst'][is_valid]
175+
oxa_sum[is_valid] += data_tile['obs_obs' ][is_valid] * data_tile['obs_ana' ][is_valid]
176+
fxa_sum[is_valid] += data_tile['obs_fcst'][is_valid] * data_tile['obs_ana' ][is_valid]
176177

177-
for var in var_list:
178-
data_sum[ var][is_valid] += data_tile[var][is_valid]
179-
data2_sum[var][is_valid] += data_tile[var][is_valid] **2
178+
for var in var_list:
179+
data_sum[ var][is_valid] += data_tile[var][is_valid]
180+
data2_sum[var][is_valid] += data_tile[var][is_valid] **2
180181

181182
date_time = date_time + timedelta(seconds=da_dt)
182183

0 commit comments

Comments
 (0)