def main(band1, band2, band3, band4, band5, band6, band7, band8, band9, band10, band11): the_folder = sys.argv[ 1] #'/glusterfs/surft/users/mp877190/data/datastore/EE/LANDSAT_8_C1/dungeness_checked/LC82010252015108LGN01/scenes/' # Dictionary of the unique filenames for the bands needed. dFilenames = {} for i in [ band1, band2, band3, band4, band5, band6, band7, band8, band9, band10, band11 ]: dFilenames[i] = sys.argv[2].format( i) #"LC08_L1TP_201025_20150418_20170409_01_T1_B{}.TIF".format(i) the_metafile = sys.argv[ 3] #'LC08_L1TP_201025_20150418_20170409_01_T1_MTL.txt' metadata = s.get_metadata(the_folder, the_metafile) x_origin, y_origin, read_info_old_coord_sys, dataset = s.read_info( the_folder, dFilenames[band10]) print(dataset) print(x_origin) print(y_origin) lat_im, lon_im = s.latlon_image(the_folder, dFilenames[band10]) print(np.amin(lat_im)) print(np.amax(lat_im)) print(np.amin(lon_im)) print(np.amax(lon_im)) print("lat_im", lat_im.shape) print("lon_im", lon_im.shape) print(lat_im) print(lon_im) lines = np.int(metadata['THERMAL_LINES']) samples = np.int(metadata['THERMAL_SAMPLES']) # Dictionary of band data. data = {} #for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]: for i in [ band1, band2, band3, band4, band5, band6, band7, band8, band9, band10, band11 ]: # Open the files and store data in array. data[i] = s.tiff_to_array(lines, samples, the_folder, dFilenames[i]) quit A_rho = {} M_rho = {} refl = {} refl_corr = {} #for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]: for i in [band1, band2, band3, band4, band5, band6, band7, band8, band9]: # Function to read in metadata and extract radiance, reflectance, K1, K2 A_rho[i] = np.float(metadata['REFLECTANCE_ADD_BAND_%d' % i]) M_rho[i] = np.float(metadata['REFLECTANCE_MULT_BAND_%d' % i]) refl[i] = s.DN_to_refl(data[i], M_rho[i], A_rho[i]) refl_corr[i] = s.reflectance_corrected( refl[i], np.float(metadata['SUN_ELEVATION'])) rad = {} AL = {} ML = {} for i in [ band1, band2, band3, band4, band5, band6, band7, band8, band9, band10, band11 ]: AL[i] = np.float(metadata['RADIANCE_ADD_BAND_%d' % i]) ML[i] = np.float(metadata['RADIANCE_MULT_BAND_%d' % i]) rad[i] = s.DN_to_radiance(data[i], ML[i], AL[i]) #A_rho_6 = np.float(metadata['REFLECTANCE_ADD_BAND_%d' % band6]) #M_rho_6 = np.float(metadata['REFLECTANCE_MULT_BAND_%d' % band6]) K1 = {} K2 = {} BT = {} #for i in [10, 11]: for i in [band10, band11]: K1[i] = np.float(metadata['K1_CONSTANT_BAND_%d' % i]) K2[i] = np.float(metadata['K2_CONSTANT_BAND_%d' % i]) BT[i] = s.Radiance_to_satBT(data[i], rad[i], K1[i], K2[i]) print(np.shape(BT[10])) print(np.shape(BT[11])) #stack = np.concatenate([[lat_im], [lon_im], [refl_corr[1]], [BT[10]]]) #stack = np.concatenate([[lat_im], [lon_im], [refl_corr[1]], [refl_corr[2]], [refl_corr[3]], [refl_corr[4]], [refl_corr[5]], [refl_corr[6]], [refl_corr[7]], [data[9]], [BT[10]], [BT[11]]]) stack = np.concatenate([[refl_corr[1]], [refl_corr[2]], [refl_corr[3]], [refl_corr[4]], [refl_corr[5]], [refl_corr[6]], [refl_corr[7]], [data[9]], [BT[10]], [BT[11]]]) print(np.shape(stack)) """ #coral reef center_lat = -21.0 #-18.78 center_lon = 151.0 #147.63 dist_deg = 0.1 #dist_deg_smaller = 0.01 spacing = 0.0005 common_grid, min_lon, min_lat, spacing = p.creategrid(center_lat, center_lon , dist_deg, spacing) #common_grid_smaller, min_lon, min_lat, spacing = p.creategrid(center_lat, center_lon , dist_deg_smaller, spacing) print("common_grid shape", common_grid.shape) print(common_grid) #pdb.set_trace() data_regridded, count, distance = r.regridding(stack, min_lon, min_lat, spacing, common_grid.shape) #create a netcdf file print('data regridded shape' , data_regridded.shape) """ name = sys.argv[4] #'dungeness_LC08_L1TP_201025_20150418_20170409_01_T1' #conv_nc.create_netcdf(name, data_regridded, common_grid[0,:,:], common_grid[1,:,:]) #conv_nc.create_netcdf(name, stack, lat_im[:,0], lon_im[0,:]) conv_nc.create_netcdf(name, stack, lat_im[:, :], lon_im[:, :]) """
def main(band1, band2, band3, band4, band5, band6, band7, band8, band9, band10, band11): #the_folder = 'E:/PHD/datastore/EE/LANDSAT_8_C1/hinckley/LC82030242013308LGN01/scenes/' the_folder = sys.argv[ 1] #'/glusterfs/surft/users/mp877190/data/datastore/EE/LANDSAT_8_C1/dungeness_checked/LC82010252015108LGN01/scenes/' # Dictionary of the unique filenames for the bands needed. dFilenames = {} for i in [ band1, band2, band3, band4, band5, band6, band7, band8, band9, band10, band11 ]: # dFilenames[i] = "LC82040212013155LGN00_B{}_crop.TIF".format(i) dFilenames[i] = sys.argv[2].format( i) #"LC08_L1TP_201025_20150418_20170409_01_T1_B{}.TIF".format(i) the_metafile = sys.argv[ 3] #'LC08_L1TP_201025_20150418_20170409_01_T1_MTL.txt' metadata = s.get_metadata(the_folder, the_metafile) #p = re.compile(r'(?<=_B)[^.]+') #for fn in os.listdir(the_folder): # try: # file_name = fn # file_band = p.search(fn).group(0) # except AttributeError: # if fn.endswith('MTL.txt'): # the_metafile = fn x_origin, y_origin, read_info_old_coord_sys, dataset = s.read_info( the_folder, dFilenames[band10]) print(dataset) print(x_origin) print(y_origin) lat_im, lon_im = s.latlon_image(the_folder, dFilenames[band10]) print(np.amin(lat_im)) print(np.amax(lat_im)) print(np.amin(lon_im)) print(np.amax(lon_im)) print("lat_im", lat_im.shape) print("lon_im", lon_im.shape) print(lat_im) print(lon_im) lines = np.int(metadata['THERMAL_LINES']) samples = np.int(metadata['THERMAL_SAMPLES']) # Dictionary of band data. data = {} #for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]: for i in [ band1, band2, band3, band4, band5, band6, band7, band8, band9, band10, band11 ]: # Open the files and store data in array. data[i] = s.tiff_to_array(lines, samples, the_folder, dFilenames[i]) A_rho = {} M_rho = {} refl = {} refl_corr = {} #for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]: for i in [band1, band2, band3, band4, band5, band6, band7, band8, band9]: # Function to read in metadata and extract radiance, reflectance, K1, K2 A_rho[i] = np.float(metadata['REFLECTANCE_ADD_BAND_%d' % i]) M_rho[i] = np.float(metadata['REFLECTANCE_MULT_BAND_%d' % i]) refl[i] = s.DN_to_refl(data[i], M_rho[i], A_rho[i]) refl_corr[i] = s.reflectance_corrected( refl[i], np.float(metadata['SUN_ELEVATION'])) rad = {} AL = {} ML = {} for i in [ band1, band2, band3, band4, band5, band6, band7, band8, band9, band10, band11 ]: AL[i] = np.float(metadata['RADIANCE_ADD_BAND_%d' % i]) ML[i] = np.float(metadata['RADIANCE_MULT_BAND_%d' % i]) rad[i] = s.DN_to_radiance(data[i], ML[i], AL[i]) #A_rho_6 = np.float(metadata['REFLECTANCE_ADD_BAND_%d' % band6]) #M_rho_6 = np.float(metadata['REFLECTANCE_MULT_BAND_%d' % band6]) K1 = {} K2 = {} BT = {} #for i in [10, 11]: for i in [band10, band11]: K1[i] = np.float(metadata['K1_CONSTANT_BAND_%d' % i]) K2[i] = np.float(metadata['K2_CONSTANT_BAND_%d' % i]) BT[i] = s.Radiance_to_satBT(data[i], rad[i], K1[i], K2[i]) print(np.shape(BT[10])) print(np.shape(BT[11])) #stack = np.concatenate([[lat_im], [lon_im], [refl[1]], [refl[2]], [refl[3]], [refl[4]], [refl[5]], [refl[6]], [refl[7]], [refl[8]], [refl[9]], [BT[10]], [BT[11]]]) stack = np.concatenate([[lat_im], [lon_im], [refl_corr[1]], [refl_corr[2]], [refl_corr[3]], [refl_corr[4]], [refl_corr[5]], [refl_corr[6]], [refl_corr[7]], [data[9]], [BT[10]], [BT[11]]]) print(np.shape(stack)) #current #Hartlepool #Dungeness #Hinckley #Hunterston-needs fix #Torness #Sizewell #Heysham center_lat = 55.969752 #54.635 #50.913889 #51.209 #55.726366-needs fix #55.969752 #52.213461 #54.028889 center_lon = -2.397156 #-1.180833 #0.963889 #-3.127 #-4.898619-needs fix #-2.397156 #1.625419 #-2.916111 dist_deg = 0.1 dist_deg_smaller = 0.01 spacing = 0.0005 common_grid, min_lon, min_lat, spacing = p.creategrid( center_lat, center_lon, dist_deg, spacing) #common_grid_smaller, min_lon, min_lat, spacing = p.creategrid(center_lat, center_lon , dist_deg_smaller, spacing) print("common_grid shape", common_grid.shape) print(common_grid) #pdb.set_trace() data_regridded, count, distance = r.regridding(stack, min_lon, min_lat, spacing, common_grid.shape) #create a netcdf file print('data regridded shape', data_regridded.shape) name = sys.argv[4] #'dungeness_LC08_L1TP_201025_20150418_20170409_01_T1' conv_nc.create_netcdf(name, data_regridded, common_grid[0, :, :], common_grid[1, :, :]) """