@@ -385,14 +385,13 @@ def read_yml_to_dict(yml_file: str):
385385 return var_dict
386386
387387
388- def add_attrs_2vars (out_obj : xr .Dataset , meta_dict : dict , # sensor_depth,
389- pg_flag = 0 , vb_flag = 0 , vb_pg_flag = 0 ):
388+ def add_attrs_2vars (out_obj : xr .Dataset , meta_dict : dict ): # sensor_depth, pg_flag=0, vb_flag=0, vb_pg_flag=0
390389 """
391390 out_obj: dataset object produced using the xarray package that will be exported as a netCDF file
392391 metadata_dict: dictionary object of metadata items
393392 """
394393 # uvw_vel_min = -1000
395- # uvw_vel_max = 1000 todo merge with L0 version of this function
394+ # uvw_vel_max = 1000
396395
397396 yml_file = os .path .join (os .path .abspath (os .path .dirname (__file__ )),
398397 'adcp_var_string_attrs.yml' )
@@ -428,245 +427,6 @@ def add_attrs_2vars(out_obj: xr.Dataset, meta_dict: dict, # sensor_depth,
428427 elif var_name in ['latitude' , 'longitude' ]:
429428 out_obj [var_name ].attrs ['_FillValue' ] = _FillValue
430429
431- # if hasattr(out_obj, 'LCEWAP01'):
432- # var = out_obj.LCEWAP01
433- # var.attrs['_FillValue'] = _FillValue
434- # # var.attrs['sensor_depth'] = sensor_depth
435- # # var.attrs['serial_number'] = meta_dict['serial_number']
436- # var.attrs['data_max'] = np.nanmax(var.data)
437- # var.attrs['data_min'] = np.nanmin(var.data)
438- # # var.attrs['valid_max'] = uvw_vel_max
439- # # var.attrs['valid_min'] = uvw_vel_min
440- #
441- # if hasattr(out_obj, 'LCEWAP01'):
442- # # LCNSAP01: northward velocity (vel2)
443- # var = out_obj.LCNSAP01
444- # var.attrs['_FillValue'] = _FillValue
445- # var.attrs['data_max'] = np.nanmax(var.data)
446- # var.attrs['data_min'] = np.nanmin(var.data)
447- # # var.attrs['valid_max'] = uvw_vel_max
448- # # var.attrs['valid_min'] = uvw_vel_min
449- #
450- # # LRZAAP01: vertical velocity (vel3)
451- # var = out_obj.LRZAAP01
452- # var.attrs['_FillValue'] = _FillValue
453- # var.attrs['data_max'] = np.nanmax(var.data)
454- # var.attrs['data_min'] = np.nanmin(var.data)
455- #
456- # # LERRAP01: error velocity (vel4)
457- # var = out_obj.LERRAP01
458- # var.attrs['_FillValue'] = _FillValue
459- # # var.attrs['sensor_depth'] = sensor_depth
460- # # var.attrs['serial_number'] = meta_dict['serial_number']
461- # var.attrs['data_max'] = np.nanmax(var.data)
462- # var.attrs['data_min'] = np.nanmin(var.data)
463- # # var.attrs['valid_max'] = 2 * uvw_vel_max
464- # # var.attrs['valid_min'] = 2 * uvw_vel_min
465- #
466- # # Velocity variable quality flags
467- # var = out_obj.LCEWAP01_QC
468- # # var.encoding['dtype'] = 'int'
469- # var.attrs['_FillValue'] = _FillValue
470- # var.attrs['data_max'] = np.max(var.data)
471- # var.attrs['data_min'] = np.min(var.data)
472- #
473- # var = out_obj.LCNSAP01_QC
474- # # var.encoding['dtype'] = 'int'
475- # var.attrs['_FillValue'] = _FillValue
476- # var.attrs['data_max'] = np.max(var.data)
477- # var.attrs['data_min'] = np.min(var.data)
478- #
479- # var = out_obj.LRZAAP01_QC
480- # # var.encoding['dtype'] = 'int'
481- # var.attrs['_FillValue'] = _FillValue
482- # var.attrs['data_max'] = np.max(var.data)
483- # var.attrs['data_min'] = np.min(var.data)
484- #
485- # # TNIHCE01-4: echo intensity beam 1-4
486- # var = out_obj.TNIHCE01
487- # var.attrs['_FillValue'] = _FillValue
488- # var.attrs['data_min'] = np.nanmin(var.data)
489- # var.attrs['data_max'] = np.nanmax(var.data)
490- #
491- # var = out_obj.TNIHCE02
492- # var.attrs['_FillValue'] = _FillValue
493- # var.attrs['data_min'] = np.nanmin(var.data)
494- # var.attrs['data_max'] = np.nanmax(var.data)
495- #
496- # var = out_obj.TNIHCE03
497- # var.attrs['_FillValue'] = _FillValue
498- # var.attrs['data_min'] = np.nanmin(var.data)
499- # var.attrs['data_max'] = np.nanmax(var.data)
500- #
501- # var = out_obj.TNIHCE04
502- # var.attrs['_FillValue'] = _FillValue
503- # var.attrs['data_min'] = np.nanmin(var.data)
504- # var.attrs['data_max'] = np.nanmax(var.data)
505- #
506- # # PCGDAP00 - 4: percent good beam 1-4
507- # if pg_flag == 1:
508- # var = out_obj.PCGDAP00
509- # var.attrs['_FillValue'] = _FillValue
510- # var.attrs['data_min'] = np.nanmin(var.data)
511- # var.attrs['data_max'] = np.nanmax(var.data)
512- #
513- # var = out_obj.PCGDAP02
514- # var.attrs['_FillValue'] = _FillValue
515- # var.attrs['data_min'] = np.nanmin(var.data)
516- # var.attrs['data_max'] = np.nanmax(var.data)
517- #
518- # var = out_obj.PCGDAP03
519- # var.attrs['_FillValue'] = _FillValue
520- # var.attrs['data_min'] = np.nanmin(var.data)
521- # var.attrs['data_max'] = np.nanmax(var.data)
522- #
523- # var = out_obj.PCGDAP04
524- # var.attrs['_FillValue'] = _FillValue
525- # var.attrs['data_min'] = np.nanmin(var.data)
526- # var.attrs['data_max'] = np.nanmax(var.data)
527- #
528- # # PTCHGP01: pitch
529- # var = out_obj.PTCHGP01
530- # var.attrs['_FillValue'] = _FillValue
531- # var.attrs['data_min'] = np.nanmin(var.data)
532- # var.attrs['data_max'] = np.nanmax(var.data)
533- #
534- # # ROLLGP01: roll
535- # var = out_obj.ROLLGP01
536- # var.attrs['_FillValue'] = _FillValue
537- # var.attrs['data_min'] = np.nanmin(var.data)
538- # var.attrs['data_max'] = np.nanmax(var.data)
539- #
540- # # DISTTRAN: height of sea surface (hght)
541- # var = out_obj.DISTTRAN
542- # var.attrs['_FillValue'] = _FillValue
543- # # var.attrs['sensor_depth'] = sensor_depth
544- # # var.attrs['serial_number'] = meta_dict['serial_number']
545- # var.attrs['data_min'] = np.nanmin(var.data)
546- # var.attrs['data_max'] = np.nanmax(var.data)
547- #
548- # # TEMPPR01: transducer temp
549- # var = out_obj.TEMPPR01
550- # var.attrs['_FillValue'] = _FillValue
551- # # var.attrs['sensor_depth'] = sensor_depth
552- # # var.attrs['serial_number'] = meta_dict['serial_number']
553- # var.attrs['data_min'] = np.nanmin(var.data)
554- # var.attrs['data_max'] = np.nanmax(var.data)
555- #
556- # # PPSAADCP: instrument depth (formerly DEPFP01)
557- # var = out_obj.PPSAADCP
558- # var.attrs['_FillValue'] = _FillValue
559- # # var.attrs['bin_size'] = meta_dict['cell_size'] # bin size
560- # # var.attrs['sensor_depth'] = sensor_depth
561- # # var.attrs['serial_number'] = meta_dict['serial_number']
562- # var.attrs['data_min'] = np.nanmin(var.data)
563- # var.attrs['data_max'] = np.nanmax(var.data)
564-
565- # # latitude and longitude
566- # for var in [out_obj.latitude, out_obj.longitude]:
567- # var.encoding['_FillValue'] = _FillValue # None
568-
569- # # HEADCM01: heading
570- # var = out_obj.HEADCM01
571- # var.attrs['_FillValue'] = _FillValue
572- # # var.attrs['sensor_depth'] = sensor_depth
573- # # var.attrs['serial_number'] = meta_dict['serial_number']
574- # var.attrs['data_min'] = np.nanmin(var.data)
575- # var.attrs['data_max'] = np.nanmax(var.data)
576- #
577- # # PRESPR01: pressure
578- # var = out_obj.PRESPR01
579- # var.attrs['_FillValue'] = _FillValue
580- # # var.attrs['sensor_depth'] = sensor_depth
581- # # var.attrs['serial_number'] = meta_dict['serial_number']
582- # var.attrs['data_min'] = np.nanmin(var.data)
583- # var.attrs['data_max'] = np.nanmax(var.data)
584- #
585- # # PRESPR01_QC: pressure quality flag
586- # var = out_obj.PRESPR01_QC
587- # var.attrs['_FillValue'] = _FillValue
588- # var.attrs['data_max'] = np.nanmax(var.data)
589- # var.attrs['data_min'] = np.nanmin(var.data)
590- #
591- # # SVELCV01: sound velocity
592- # var = out_obj.SVELCV01
593- # var.attrs['_FillValue'] = _FillValue
594- # # var.attrs['sensor_depth'] = sensor_depth
595- # # var.attrs['serial_number'] = meta_dict['serial_number']
596- # var.attrs['data_min'] = np.nanmin(var.data)
597- # var.attrs['data_max'] = np.nanmax(var.data)
598- #
599- # # # DTUT8601: time values as ISO8601 string, YY-MM-DD hh:mm:ss
600- # # var = out_obj.DTUT8601
601- #
602- # # CMAGZZ01-4: correlation magnitude
603- # var = out_obj.CMAGZZ01
604- # var.attrs['_FillValue'] = _FillValue
605- # # var.attrs['sensor_depth'] = sensor_depth
606- # # var.attrs['serial_number'] = meta_dict['serial_number']
607- # var.attrs['data_min'] = np.nanmin(var.data)
608- # var.attrs['data_max'] = np.nanmax(var.data)
609- #
610- # var = out_obj.CMAGZZ02
611- # var.attrs['_FillValue'] = _FillValue
612- # # var.attrs['sensor_depth'] = sensor_depth
613- # # var.attrs['serial_number'] = meta_dict['serial_number']
614- # var.attrs['data_min'] = np.nanmin(var.data)
615- # var.attrs['data_max'] = np.nanmax(var.data)
616- #
617- # var = out_obj.CMAGZZ03
618- # var.attrs['_FillValue'] = _FillValue
619- # # var.attrs['sensor_depth'] = sensor_depth
620- # # var.attrs['serial_number'] = meta_dict['serial_number']
621- # var.attrs['data_min'] = np.nanmin(var.data)
622- # var.attrs['data_max'] = np.nanmax(var.data)
623- #
624- # var = out_obj.CMAGZZ04
625- # var.attrs['_FillValue'] = _FillValue
626- # # var.attrs['sensor_depth'] = sensor_depth
627- # # var.attrs['serial_number'] = meta_dict['serial_number']
628- # var.attrs['data_min'] = np.nanmin(var.data)
629- # var.attrs['data_max'] = np.nanmax(var.data)
630- # # done variables
631- #
632- # # Add Vertical Beam variable attrs for Sentinel V instruments
633- # if vb_flag == 1:
634- # var = out_obj.LRZUVP01
635- # var.attrs['_FillValue'] = _FillValue
636- # # var.attrs['sensor_depth'] = sensor_depth
637- # # var.attrs['serial_number'] = meta_dict['serial_number']
638- # var.attrs['data_max'] = np.nanmax(var.data)
639- # var.attrs['data_min'] = np.nanmin(var.data)
640- # # var.attrs['valid_max'] = uvw_vel_max
641- # # var.attrs['valid_min'] = uvw_vel_min
642- #
643- # var = out_obj.LRZUVP01_QC
644- # var.attrs['_FillValue'] = _FillValue
645- # var.attrs['data_max'] = np.max(var.data)
646- # var.attrs['data_min'] = np.min(var.data)
647- #
648- # var = out_obj.TNIHCE05
649- # var.attrs['_FillValue'] = _FillValue
650- # # var.attrs['sensor_depth'] = sensor_depth
651- # # var.attrs['serial_number'] = meta_dict['serial_number']
652- # var.attrs['data_min'] = np.nanmin(var.data)
653- # var.attrs['data_max'] = np.nanmax(var.data)
654- #
655- # var = out_obj.CMAGZZ05
656- # var.attrs['_FillValue'] = _FillValue
657- # # var.attrs['sensor_depth'] = sensor_depth
658- # # var.attrs['serial_number'] = meta_dict['serial_number']
659- # var.attrs['data_min'] = np.nanmin(var.data)
660- # var.attrs['data_max'] = np.nanmax(var.data)
661- #
662- # if vb_pg_flag == 1:
663- # var = out_obj.PCGDAP05
664- # var.attrs['_FillValue'] = _FillValue
665- # # var.attrs['sensor_depth'] = sensor_depth
666- # # var.attrs['serial_number'] = meta_dict['serial_number']
667- # var.attrs['data_min'] = np.nanmin(var.data)
668- # var.attrs['data_max'] = np.nanmax(var.data)
669-
670430 return
671431
672432
@@ -1244,7 +1004,6 @@ def nc_create_L0_L1(in_file, file_meta, dest_dir, level=1, time_file=None, verbo
12441004 print (out_name )
12451005
12461006 # Read information from metadata file into a dictionary, called meta_dict
1247- # todo make level 0 option
12481007 meta_dict = create_meta_dict (file_meta , level )
12491008
12501009 if verbose :
@@ -1498,9 +1257,7 @@ def nc_create_L0_L1(in_file, file_meta, dest_dir, level=1, time_file=None, verbo
14981257 # print(out.data_vars) # Check that all available vars have been added
14991258
15001259 # Add variable-specific attributes
1501-
1502- add_attrs_2vars (out_obj = out , meta_dict = meta_dict , # sensor_depth=sensor_dep,
1503- pg_flag = flag_pg , vb_flag = flag_vb , vb_pg_flag = flag_vb_pg )
1260+ add_attrs_2vars (out_obj = out , meta_dict = meta_dict ) # sensor_depth=sensor_dep, flags....
15041261
15051262 # ----------------------Global attributes----------------------
15061263
0 commit comments