From 29bbfdc5928bb239bba54607741df5a29c92ce8c Mon Sep 17 00:00:00 2001 From: Paolo Veglio <paolo.veglio@ssec.wisc.edu> Date: Thu, 27 Oct 2022 20:41:15 +0000 Subject: [PATCH] started including the tests for various scenes... work in progress... --- main.py | 110 +++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 85 insertions(+), 25 deletions(-) diff --git a/main.py b/main.py index c74fa58..e7851d4 100644 --- a/main.py +++ b/main.py @@ -6,7 +6,7 @@ from glob import glob import read_data as rd import scene as scn -from tests import CloudTests_new +from tests import CloudTests # import tests import ocean_day_tests as odt @@ -79,35 +79,96 @@ def main(*, data_path=_datapath, mod02=_fname_mod02, mod03=_fname_mod03, # viirs_data.drop_vars(['latitude', 'longitude']) cmin_G1 = np.ones(viirs_data.M01.shape) - cmin_test = {'Ocean_Day': np.ones(viirs_data.M01.shape), - 'Polar_Ocean_Day': np.ones(viirs_data.M01.shape), - 'Polar_Ocean_Night': np.ones(viirs_data.M01.shape) - } + cmin_G2 = np.ones(viirs_data.M01.shape) +# cmin_test = {'Ocean_Day': np.ones(viirs_data.M01.shape), +# 'Polar_Ocean_Day': np.ones(viirs_data.M01.shape), +# 'Polar_Ocean_Night': np.ones(viirs_data.M01.shape) +# } cmin2 = np.ones(viirs_data.M01.shape) cmin3 = np.ones(viirs_data.M01.shape) cmin4 = np.ones(viirs_data.M01.shape) - Ocean_Day = CloudTests_new(viirs_data, 'Ocean_Day', thresholds) - Polar_Ocean_Day = CloudTests_new(viirs_data, 'Polar_Ocean_Day', thresholds) - Polar_Ocean_Night = CloudTests_new(viirs_data, 'Polar_Ocean_Night', thresholds) - - # Land_Day = CloudTests(viirs_data, 'Land_Day', thresholds) - # Night_Snow = CloudTests(viirs_data, 'Night_Snow', thresholds) - # Day_Snow = CloudTests(viirs_data, 'Day_Snow', thresholds) - # Land_Night = CloudTests(viirs_data, 'Land_Night', thresholds) - # Land_Day_Coast = CloudTests(viirs_data, 'Land_Day_Coast', thresholds) - # Land_Day_Desert = CloudTests(viirs_data, 'Land_Day_Desert', thresholds) - # Land_Day_Desert_Coast = CloudTests(viirs_data, 'Land_Day_Desert_Coast', thresholds) + Land_Day = CloudTests(viirs_data, 'Land_Day', thresholds) + Land_Night = CloudTests(viirs_data, 'Land_Night', thresholds) + Land_Day_Coast = CloudTests(viirs_data, 'Land_Day_Coast', thresholds) + Land_Day_Desert = CloudTests(viirs_data, 'Land_Day_Desert', thresholds) + Land_Day_Desert_Coast = CloudTests(viirs_data, 'Land_Day_Desert_Coast', thresholds) + Ocean_Day = CloudTests(viirs_data, 'Ocean_Day', thresholds) + Ocean_Night = CloudTests(viirs_data, 'Ocean_Night', thresholds) + Polar_Day_Land = CloudTests(viirs_data, 'Polar_Day_Land', thresholds) + Polar_Night_Land = CloudTests(viirs_data, 'Polar_Night_Land', thresholds) + Polar_Day_Coast = CloudTests(viirs_data, 'Polar_Day_Coast', thresholds) + Polar_Day_Desert = CloudTests(viirs_data, 'Polar_Day_Desert', thresholds) + Polar_Day_Desert_Coast = CloudTests(viirs_data, 'Polar_Day_Desert_Coast', thresholds) + Polar_Day_Snow = CloudTests(viirs_data, 'Polar_Day_Snow', thresholds) + Polar_Night_Snow = CloudTests(viirs_data, 'Polar_Night_Snow', thresholds) + Polar_Ocean_Day = CloudTests(viirs_data, 'Polar_Ocean_Day', thresholds) + Polar_Ocean_Night = CloudTests(viirs_data, 'Polar_Ocean_Night', thresholds) + Day_Snow = CloudTests(viirs_data, 'Day_Snow', thresholds) + Night_Snow = CloudTests(viirs_data, 'Night_Snow', thresholds) + Antarctic_Day = CloudTests(viirs_data, 'Antarctic_Day', thresholds) # 11um BT Test - cmin_test['Ocean_Day'] = Ocean_Day.single_threshold_test('11um_Test', 'M15', cmin_G1) - cmin_test['Polar_Ocean_Day'] = Polar_Ocean_Day.single_threshold_test('11um_Test', 'M15', cmin_G1) - cmin_test['Polar_Ocean_Night'] = Polar_Ocean_Night.single_threshold_test('11um_Test', 'M15', cmin_G1) - - return cmin_test - ''' - # CO2 High Cloud Test - # cmin_G1 = Land_Day + cmin_G1 = Ocean_Day.single_threshold_test('11um_Test', 'M15', cmin_G1) + cmin_G1 = Polar_Ocean_Day.single_threshold_test('11um_Test', 'M15', cmin_G1) + cmin_G1 = Polar_Ocean_Night.single_threshold_test('11um_Test', 'M15', cmin_G1) + + # CO2 High Clouds Test + # NOTE: VIIRS doesn't have the MODIS equivalent of B35 so this test is not performed + cmin_G1 = Land_Day.single_threshold_test('CO2_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Land_Night.single_threshold_test('CO2_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Land_Day_Coast.single_threshold_test('CO2_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Land_Day_Desert.single_threshold_test('CO2_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Land_Day_Desert_Coast.single_threshold_test('CO2_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Ocean_Day.single_threshold_test('CO2_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Ocean_Night.single_threshold_test('CO2_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Day_Snow.single_threshold_test('CO2_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Night_Snow.single_threshold_test('CO2_High_Clouds_Test', 'bad_data', cmin_G1) + + # Water Vapor High Clouds Test + # NOTE: VIIRS doesn't have the MODIS equivalent of B27 so this test is not performed + cmin_G1 = Land_Day.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Land_Night.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Land_Day_Coast.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Land_Day_Desert.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Land_Day_Desert_Coast.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Ocean_Day.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Ocean_Night.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Polar_Day_Land.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Polar_Night_Land.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Polar_Day_Coast.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Polar_Day_Desert.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Polar_Day_Desert_Coast.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Polar_Day_Snow.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Polar_Night_Snow.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Polar_Ocean_Day.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Polar_Ocean_Night.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Day_Snow.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Night_Snow.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + cmin_G1 = Antarctic_Day.single_threshold_test('Water_Vapor_High_Clouds_Test', 'bad_data', cmin_G1) + + # Surface Temperature Test + # ## NOTE: This requires some calculations for the thresholds. + # Moreover this test is using the 11um - 12um difference instead of a single channel + # Also, look at the test carefully for these two cases. Polar_Night_Land uses some hardcoded coeffs + # (i.e. *_df1 and *_df2) that might be worth moving in the thresholds file for consistency + cmin_G1 = Land_Night.single_threshold_test('Surface_Temperature_Test', 'M15-M16', cmin_G1) + cmin_G1 = Polar_Night_Land.single_threshold_test('Surface_Temperature_Test', 'M15-M16', cmin_G1) + + # SST Test + # ## NOTE: This requires some calculations for the thresholds. + # Moreover this test is using the 11um - 12um difference instead of a single channel + cmin_G1 = Ocean_Day.single_threshold_test('SST_Test', 'M15-M16', cmin_G1) + cmin_G1 = Polar_Ocean_Day.single_threshold_test('SST_Test', 'M15-M16', cmin_G1) + cmin_G1 = Polar_Ocean_Night.single_threshold_test('SST_Test', 'M15-M16', cmin_G1) + # the following test uses a different set of coefficients compared to the others above + cmin_G1 = Ocean_Night.single_threshold_test('SST_Test', 'M15-M16', cmin_G1) + + # 11-8.6um BT Difference Test + cmin_G2 = Ocean_Day.single_threshold_test('11-8.6um_Test', 'M15-M14', cmin_G2) + cmin_G2 = Ocean_Night.single_threshold_test('11-8.6um_Test', 'M15-M14', cmin_G2) + cmin_G2 = Polar_Ocean_Day.single_threshold_test('11-8.6um_Test', 'M15-M14', cmin_G2) + cmin_G2 = Polar_Ocean_Night.single_threshold_test('11-8.6um_Test', 'M15-M14', cmin_G2) # 11-12um BT Difference cmin_G1 = Ocean_Day.single_threshold_test('11-12BT_diff', @@ -174,7 +235,6 @@ def main(*, data_path=_datapath, mod02=_fname_mod02, mod03=_fname_mod03, lat=viirs_data.latitude.values, lon=viirs_data.longitude.values) return confidence - ''' def test_main(): -- GitLab