def get_front_end(src_data, src_file): print '****** src_data: ', src_data print '****** src_file: ', src_file if src_data == 'airs': src_front_end = FEAIRS.front_end_airs(src_file) elif src_data == 'amsr': src_front_end = FEA.front_end_amsr(src_file) elif src_data == 'caliop05kmALayer': # Caliop src_front_end = FE_CALIOP_05KMALAY.front_end_caliop_05km_alay(src_file) elif src_data == 'caliop05kmCLayer': # Caliop src_front_end = FE_CALIOP_05KMCLAY.front_end_caliop_05km_clay(src_file) elif src_data == 'caliop05kmCProfile': # Caliop src_front_end = FE_CALIOP_05KMCPRO.front_end_caliop_05km_cpro(src_file) elif src_data == 'caliop40kmAProfile': # Caliop src_front_end = FE_CALIOP_40KMAPRO.front_end_caliop_40km_apro(src_file) elif src_data == 'caliopVFM': # Caliop src_front_end = FE_CALIOP_VFM.front_end_caliop_vfm(src_file) elif src_data == 'ceres': src_front_end = FECERES.front_end_ceres(src_file) elif src_data == 'mls-temp': src_front_end = FEMLS_TEMP.front_end_mls_temp(src_file) elif src_data == 'mls-iwc': src_front_end = FEMLS_IWC.front_end_mls_iwc(src_file) elif src_data == 'mls-h2o': src_front_end = FEMLS_H2O.front_end_mls_h2o(src_file) elif src_data == 'mls-co': src_front_end = FEMLS_CO.front_end_mls_co(src_file) elif src_data == 'mls-o3': src_front_end = FEMLS_O3.front_end_mls_o3(src_file) elif src_data == 'mls-hno3': src_front_end = FEMLS_HNO3.front_end_mls_hno3(src_file) elif src_data == 'modis-aerosol': src_front_end = FEMODIS_AEROSOL.front_end_modis_aerosol(src_file) elif src_data == 'modis-cloud-5km': src_front_end = FEMODIS_CLOUD_5KM.front_end_modis_cloud_5km(src_file) elif src_data == 'modis-cloud-1km': src_front_end = FEMODIS_CLOUD_1KM.front_end_modis_cloud_1km(src_file) elif src_data == 'ecmwf-idaily-surface': src_front_end = FEECMWF_IDAILY_SURFACE.front_end_ecmwf_idaily_surface(src_file) elif src_data == 'ecmwf-idaily-plevels': src_front_end = FEECMWF_IDAILY_PLEVELS.front_end_ecmwf_idaily_plevels(src_file) elif src_data == 'ecmwf-yotc-aos-1.5deg': src_front_end = FEECMWF_YOTC_AOS_1P5DEG.front_end_ecmwf_yotc_aos_1p5deg(src_file) ### elif src_data == 'ecmwf-yotc-oaml-1.5deg': ### src_front_end = FEECMWF_YOTC_OAML_1P5DEG.front_end_ecmwf_yotc_oaml_1p5deg(src_file) ### elif src_data == 'ecmwf-yotc-oapl-1.5deg': ### src_front_end = FEECMWF_YOTC_OAPL_1P5DEG.front_end_ecmwf_yotc_oapl_1p5deg(src_file) elif src_data == 'ecmwf-yotc-aos-0.25deg': src_front_end = FEECMWF_YOTC_AOS_0P25DEG.front_end_ecmwf_yotc_aos_0p25deg(src_file) elif src_data == 'ecmwf-yotc-oaml-0.25deg': src_front_end = FEECMWF_YOTC_OAML_0P25DEG.front_end_ecmwf_yotc_oaml_0p25deg(src_file) elif src_data == 'ecmwf-yotc-oapl-0.25deg': src_front_end = FEECMWF_YOTC_OAPL_0P25DEG.front_end_ecmwf_yotc_oapl_0p25deg(src_file) elif src_data.find('cloudsat') >= 0: src_front_end = FEC.front_end_cloudsat(src_file) else: print '****** Error in get_front_end: source data set not supported yet !' sys.exit(1) return src_front_end
def get_front_end(src_data, src_file): print '****** src_data: ', src_data print '****** src_file: ', src_file if src_data == 'airs': src_front_end = FEAIRS.front_end_airs(src_file) elif src_data == 'amsr': src_front_end = FEA.front_end_amsr(src_file) elif src_data == 'caliop05kmALayer': # Caliop src_front_end = FE_CALIOP_05KMALAY.front_end_caliop_05km_alay(src_file) elif src_data == 'caliop05kmCLayer': # Caliop src_front_end = FE_CALIOP_05KMCLAY.front_end_caliop_05km_clay(src_file) elif src_data == 'caliop05kmCProfile': # Caliop src_front_end = FE_CALIOP_05KMCPRO.front_end_caliop_05km_cpro(src_file) elif src_data == 'caliop40kmAProfile': # Caliop src_front_end = FE_CALIOP_40KMAPRO.front_end_caliop_40km_apro(src_file) elif src_data == 'caliopVFM': # Caliop src_front_end = FE_CALIOP_VFM.front_end_caliop_vfm(src_file) elif src_data == 'ceres': src_front_end = FECERES.front_end_ceres(src_file) elif src_data == 'mls-temp': src_front_end = FEMLS_TEMP.front_end_mls_temp(src_file) elif src_data == 'mls-iwc': src_front_end = FEMLS_IWC.front_end_mls_iwc(src_file) elif src_data == 'mls-h2o': src_front_end = FEMLS_H2O.front_end_mls_h2o(src_file) elif src_data == 'mls-co': src_front_end = FEMLS_CO.front_end_mls_co(src_file) elif src_data == 'mls-o3': src_front_end = FEMLS_O3.front_end_mls_o3(src_file) elif src_data == 'mls-hno3': src_front_end = FEMLS_HNO3.front_end_mls_hno3(src_file) elif src_data == 'modis-aerosol': src_front_end = FEMODIS_AEROSOL.front_end_modis_aerosol(src_file) elif src_data == 'modis-cloud-5km': src_front_end = FEMODIS_CLOUD_5KM.front_end_modis_cloud_5km(src_file) elif src_data == 'modis-cloud-1km': src_front_end = FEMODIS_CLOUD_1KM.front_end_modis_cloud_1km(src_file) elif src_data == 'ecmwf-idaily-surface': src_front_end = FEECMWF_IDAILY_SURFACE.front_end_ecmwf_idaily_surface( src_file) elif src_data == 'ecmwf-idaily-plevels': src_front_end = FEECMWF_IDAILY_PLEVELS.front_end_ecmwf_idaily_plevels( src_file) elif src_data == 'ecmwf-yotc-aos-1.5deg': src_front_end = FEECMWF_YOTC_AOS_1P5DEG.front_end_ecmwf_yotc_aos_1p5deg( src_file) ### elif src_data == 'ecmwf-yotc-oaml-1.5deg': ### src_front_end = FEECMWF_YOTC_OAML_1P5DEG.front_end_ecmwf_yotc_oaml_1p5deg(src_file) ### elif src_data == 'ecmwf-yotc-oapl-1.5deg': ### src_front_end = FEECMWF_YOTC_OAPL_1P5DEG.front_end_ecmwf_yotc_oapl_1p5deg(src_file) elif src_data == 'ecmwf-yotc-aos-0.25deg': src_front_end = FEECMWF_YOTC_AOS_0P25DEG.front_end_ecmwf_yotc_aos_0p25deg( src_file) elif src_data == 'ecmwf-yotc-oaml-0.25deg': src_front_end = FEECMWF_YOTC_OAML_0P25DEG.front_end_ecmwf_yotc_oaml_0p25deg( src_file) elif src_data == 'ecmwf-yotc-oapl-0.25deg': src_front_end = FEECMWF_YOTC_OAPL_0P25DEG.front_end_ecmwf_yotc_oapl_0p25deg( src_file) elif src_data.find('cloudsat') >= 0: src_front_end = FEC.front_end_cloudsat(src_file) else: print '****** Error in get_front_end: source data set not supported yet !' sys.exit(1) return src_front_end
# Get longitude info as an array midEnd.target_longitude = cs.get_longitude() print "CloudSat Longitude = ", midEnd.target_longitude print "CloudSat Longitude Range = ", min(midEnd.target_longitude), max(midEnd.target_longitude) print "CloudSat Longitude Size = ", midEnd.target_longitude.size print "****** CloudSat data acquired! ******" print "" print "" print "" # Read AMSR instrument data print "****** Reading AMSR data from file: ", am_file ams = FEA.front_end_amsr(am_file) midEnd.set_src_time(ams.get_time()) print "AMSR Time size = ", midEnd.get_src_time().size print "AMSR Time = ", midEnd.get_src_time() ##### TBD: src grid SST data reside in front_end_amsr, pointed by middle_end src_data ##### target grid SST data reside in back_end_amsr, pointed by middle_end target_data midEnd.set_src_data(ams.get_sst()) print "AMSR SST size = ", midEnd.get_src_data().size print "AMSR SST = ", midEnd.get_src_data() ##### TBD: Now "allocate memory" in back_end_amsr to hold target grid SST ##### (a dictionary of SST, WSPD, ... arrays) ##### Point middle_end target_data to this memory ##### collocate SST data right here ##### now we can use the middle_end pointers src_data and target_data ##### for WSPD, VAPOR, etc. in a loop, and call collocation method
# Get longitude info as an array midEnd.target_longitude = cs.get_longitude() print 'CloudSat Longitude = ', midEnd.target_longitude print 'CloudSat Longitude Range = ', min(midEnd.target_longitude), max( midEnd.target_longitude) print 'CloudSat Longitude Size = ', midEnd.target_longitude.size print "****** CloudSat data acquired! ******" print '' print '' print '' # Read AMSR instrument data print "****** Reading AMSR data from file: ", am_file ams = FEA.front_end_amsr(am_file) midEnd.set_src_time(ams.get_time()) print 'AMSR Time size = ', midEnd.get_src_time().size print 'AMSR Time = ', midEnd.get_src_time() ##### TBD: src grid SST data reside in front_end_amsr, pointed by middle_end src_data ##### target grid SST data reside in back_end_amsr, pointed by middle_end target_data midEnd.set_src_data(ams.get_sst()) print 'AMSR SST size = ', midEnd.get_src_data().size print 'AMSR SST = ', midEnd.get_src_data() ##### TBD: Now "allocate memory" in back_end_amsr to hold target grid SST ##### (a dictionary of SST, WSPD, ... arrays) ##### Point middle_end target_data to this memory ##### collocate SST data right here ##### now we can use the middle_end pointers src_data and target_data ##### for WSPD, VAPOR, etc. in a loop, and call collocation method