|
| 1 | +import os |
| 2 | +import xsar |
| 3 | + |
| 4 | +from grdwindinversion.inversion import getOutputName, getSensorMetaDataset |
| 5 | + |
| 6 | +safes = ['S1A_IW_GRDH_1SDV_20210909T130650_20210909T130715_039605_04AE83_C34F.SAFE', |
| 7 | + 'S1A_IW_GRDH_1SDH_20210101T102321_20210101T102346_035943_0435C4_D007.SAFE', |
| 8 | + 'S1A_IW_GRDH_1SSV_20170105T225242_20170105T225311_014703_017ED0_584D.SAFE', |
| 9 | + 'RCM1_OK2767220_PK2769320_1_SCLND_20230930_214014_VV_VH_GRD', |
| 10 | + 'RCM2_OK2917789_PK2920112_1_SCLNA_20240125_195613_VV_VH_GRD', |
| 11 | + 'RS2_OK141302_PK1242223_DK1208537_SCWA_20220904_093402_VV_VH_SGF', |
| 12 | + 'S1A_EW_GRDM_1SDV_20230908T092521_20230908T092624_050234_060BF1_6E7A.SAFE', |
| 13 | + 'S1A_IW_GRDH_1SDV_20150315T053621_20150315T053646_005038_006529_57CA.SAFE', |
| 14 | + 'S1B_IW_GRDH_1SDV_20171117T164022_20171117T164047_008324_00EBB3_15F1.SAFE', |
| 15 | + 'RCM3_OK2463574_PK2465310_1_SCLNA_20230303_063504_VV_VH_GRD', |
| 16 | + 'RS2_OK97458_PK855025_DK787000_SCWA_20160912_212842_VV_VH_SGF', |
| 17 | + 'RS2_OK97458_PK855025_DK787000_SCWA_20160912_212842_VV_SGF'] |
| 18 | + |
| 19 | +outfiles = ['s1a-iw-owi-dv-20210909t130650-20210909t130715-039605-04AE83.nc', |
| 20 | + 's1a-iw-owi-dh-20210101t102321-20210101t102346-035943-0435C4.nc', |
| 21 | + 's1a-iw-owi-sv-20170105t225242-20170105t225311-014703-017ED0.nc', |
| 22 | + 'rcm1-sclnd-owi-dv-20230930t214011-20230930t214127-_____-_____.nc', |
| 23 | + 'rcm2-sclna-owi-dv-20240125t195611-20240125t195726-_____-_____.nc', |
| 24 | + 'rs2-scwa-owi-dv-20220904t093402-20220904t093518-_____-_____.nc', |
| 25 | + 's1a-ew-owi-dv-20230908t092521-20230908t092624-050234-060BF1.nc', |
| 26 | + 's1a-iw-owi-dv-20150315t053621-20150315t053646-005038-006529.nc', |
| 27 | + 's1b-iw-owi-dv-20171117t164022-20171117t164047-008324-00EBB3.nc', |
| 28 | + 'rcm3-sclna-owi-dv-20230303t063449-20230303t063629-_____-_____.nc', |
| 29 | + 'rs2-scwa-owi-dv-20160912t212842-20160912t212958-_____-_____.nc', |
| 30 | + 'rs2-scwa-owi-sv-20160912t212842-20160912t212958-_____-_____.nc',] |
| 31 | + |
| 32 | +sensors = ['S1A', 'S1A', 'S1A', 'RCM', 'RCM', |
| 33 | + 'RS2', 'S1A', 'S1A', 'S1B', 'RCM', 'RS2', 'RS2'] |
| 34 | + |
| 35 | +long_sensor_names = [ |
| 36 | + 'SENTINEL-1 A', 'SENTINEL-1 A', 'SENTINEL-1 A', 'RADARSAT Constellation 1', 'RADARSAT Constellation 2', |
| 37 | + 'RADARSAT-2', 'SENTINEL-1 A', 'SENTINEL-1 A', 'SENTINEL-1 B', 'RADARSAT Constellation 3', 'RADARSAT-2', 'RADARSAT-2' |
| 38 | +] |
| 39 | +meta_functions = [ |
| 40 | + xsar.Sentinel1Meta, xsar.Sentinel1Meta, xsar.Sentinel1Meta, xsar.RcmMeta, xsar.RcmMeta, |
| 41 | + xsar.RadarSat2Meta, xsar.Sentinel1Meta, xsar.Sentinel1Meta, xsar.Sentinel1Meta, xsar.RcmMeta, xsar.RadarSat2Meta, xsar.RadarSat2Meta,] |
| 42 | +dataset_functions = [ |
| 43 | + xsar.Sentinel1Dataset, xsar.Sentinel1Dataset, xsar.Sentinel1Dataset, xsar.RcmDataset, xsar.RcmDataset, |
| 44 | + xsar.RadarSat2Dataset, xsar.Sentinel1Dataset, xsar.Sentinel1Dataset, xsar.Sentinel1Dataset, xsar.RcmDataset, xsar.RadarSat2Dataset, xsar.RadarSat2Dataset |
| 45 | +] |
| 46 | + |
| 47 | +start_dates = ['20210909t130650', |
| 48 | + '20210101t102321', |
| 49 | + '20170105t225242', |
| 50 | + '20230930t214011', |
| 51 | + '20240125t195611', |
| 52 | + '20220904t093402', |
| 53 | + '20230908t092521', |
| 54 | + '20150315t053621', |
| 55 | + '20171117t164022', |
| 56 | + '20230303t063449', |
| 57 | + '20160912t212842', |
| 58 | + '20160912t212842'] |
| 59 | + |
| 60 | + |
| 61 | +stop_dates = ['20210909t130715', |
| 62 | + '20210101t102346', |
| 63 | + '20170105t225311', |
| 64 | + '20230930t214127', |
| 65 | + '20240125t195726', |
| 66 | + '20220904t093518', |
| 67 | + '20230908t092624', |
| 68 | + '20150315t053646', |
| 69 | + '20171117t164047', |
| 70 | + '20230303t063629', |
| 71 | + '20160912t212958', |
| 72 | + '20160912t212958'] |
| 73 | + |
| 74 | + |
| 75 | +def test_function_getSensorMetaDataset(): |
| 76 | + """ |
| 77 | + Test getSensorMetaDataset function for S1A/B RCM and RS2 |
| 78 | + """ |
| 79 | + |
| 80 | + for idx_safe, safe in enumerate(safes): |
| 81 | + output = (sensors[idx_safe], long_sensor_names[idx_safe], |
| 82 | + meta_functions[idx_safe], dataset_functions[idx_safe]) |
| 83 | + |
| 84 | + result = getSensorMetaDataset(safe) |
| 85 | + |
| 86 | + assert output == result, f"Expected {output}, got {result}" |
| 87 | + |
| 88 | + |
| 89 | +def test_function_getOutputName(): |
| 90 | + """ |
| 91 | + Test getOutputName function for S1A/B RCM and RS2 |
| 92 | + """ |
| 93 | + |
| 94 | + for idx_safe, safe in enumerate(safes): |
| 95 | + sensor = sensors[idx_safe] |
| 96 | + start_date = start_dates[idx_safe] |
| 97 | + stop_date = stop_dates[idx_safe] |
| 98 | + output = outfiles[idx_safe] |
| 99 | + |
| 100 | + result = getOutputName(safe, "", sensor, start_date, stop_date, False) |
| 101 | + |
| 102 | + assert output == result, f"Expected {output}, got {result}" |
| 103 | + |
| 104 | + |
| 105 | +if __name__ == '__main__': |
| 106 | + test_function_getSensorMetaDataset() |
0 commit comments