@@ -346,13 +346,19 @@ def run(cfg):
346
346
yds = hdf5_obj [os .path .join (root_ds , 'yCoordinates' )]
347
347
cov_elements_list = [p .upper ()+ p .upper () for p in pol_list ]
348
348
349
+ # save GCOV imagery
349
350
_save_hdf5_dataset (temp_output .name , hdf5_obj , root_ds ,
350
351
yds , xds , cov_elements_list ,
351
352
long_name = output_radiometry_str ,
352
353
units = '' ,
353
354
valid_min = clip_min ,
354
355
valid_max = clip_max )
355
356
357
+ # save listOfCovarianceTerms
358
+ freq_group = hdf5_obj [root_ds ]
359
+ if not flag_fullcovariance :
360
+ _save_list_cov_terms (cov_elements_list , freq_group )
361
+
356
362
# save nlooks
357
363
if flag_save_nlooks :
358
364
_save_hdf5_dataset (temp_nlooks .name , hdf5_obj , root_ds ,
@@ -406,7 +412,8 @@ def run(cfg):
406
412
if (b2 <= b1 ):
407
413
continue
408
414
off_diag_terms_list .append (p1 .upper ()+ p2 .upper ())
409
-
415
+ _save_list_cov_terms (cov_elements_list + off_diag_terms_list ,
416
+ freq_group )
410
417
_save_hdf5_dataset (temp_off_diag .name , hdf5_obj , root_ds ,
411
418
yds , xds , off_diag_terms_list ,
412
419
long_name = output_radiometry_str ,
@@ -444,6 +451,17 @@ def run(cfg):
444
451
t_all_elapsed = time .time () - t_all
445
452
info_channel .log (f"successfully ran geocode COV in { t_all_elapsed :.3f} seconds" )
446
453
454
+
455
+ def _save_list_cov_terms (cov_elements_list , dataset_group ):
456
+
457
+ name = "listOfCovarianceTerms"
458
+ cov_elements_list .sort ()
459
+ cov_elements_array = np .array (cov_elements_list , dtype = "S4" )
460
+ dset = dataset_group .create_dataset (name , data = cov_elements_array )
461
+ desc = f"List of processed covariance terms"
462
+ dset .attrs ["description" ] = np .string_ (desc )
463
+
464
+
447
465
def _save_hdf5_dataset (ds_filename , h5py_obj , root_path ,
448
466
yds , xds , ds_name , standard_name = None ,
449
467
long_name = None , units = None , fill_value = None ,
0 commit comments