#! /usr/bin/env python

import sys
import h5py

if len(sys.argv) == 1:
    print('usage: l1info_smap <SMAP file>')
    print('')
    print('This program reads a SMAP L1A file and outputs information to stdout.')
    print('Currently the return value is 101 for "no good geolocation" like l1info')
    sys.exit(0)

if len(sys.argv) != 2:
    print('usage: smap_l1info <SMAP file>')
    sys.exit(1)

try:
    f = h5py.File(sys.argv[1], "r")
except IOError as err:
    print('Could not open SMAP file "{0}"'.format(sys.argv[1]))
    print('IOError: {0}'.format(err))

orbitDataset = f['Metadata/OrbitMeasuredLocation']
orbitNumber = f['Metadata/OrbitMeasuredLocation'].attrs['revNumber']
print('Orbit_Number={}'.format(orbitNumber))

numScans = f['HighResolution_Moments_Data/highresolution_scan_index'].shape[0]
print('Number_of_Scans={}'.format(numScans))

rangeBegin = f['Metadata/Extent'].attrs['rangeBeginningDateTime'].decode('UTF-8')
rangeEnd = f['Metadata/Extent'].attrs['rangeEndingDateTime'].decode('UTF-8')

parts = rangeBegin.split('T')
beginDate = parts[0]
beginTime = parts[1].rstrip('Z')
parts = rangeEnd.split('T')
endDate = parts[0]
endTime = parts[1].rstrip('Z')
print('Start_Date={}'.format(beginDate))
print('Start_Time={}'.format(beginTime))
print('End_Date={}'.format(endDate))
print('End_Time={}'.format(endTime))

orbitDirection = f['Metadata/OrbitMeasuredLocation'].attrs['orbitDirection']
#print(orbitDirection)

if(orbitDirection == 'Descending'):
    dayNightFlag = 1
elif(orbitDirection == 'Ascending'):
    dayNightFlag = 2
else:
    dayNightFlag = 0
print('DayNightFlag={}'.format(dayNightFlag))

sys.exit(101)
