IODA Bundle
JEDI_amsu_bufr2nc.v8.py File Reference

Go to the source code of this file.

Namespaces

 JEDI_amsu_bufr2nc
 

Variables

 JEDI_amsu_bufr2nc.radbufr_filename = sys.argv[1]
 radbufr_filename='1bamua' input and output file names from command line args. More...
 
 JEDI_amsu_bufr2nc.netcdf_filePATH = sys.argv[2]
 
 JEDI_amsu_bufr2nc.datefrombufr = re.findall(r'(\d{10})', radbufr_filename)
 EXAMPLE BUFR /pan2/projects/gfsenkf/whitaker/cfsr_dumps/2005022506/gdas/1bamua.gdas.2005022506. More...
 
 JEDI_amsu_bufr2nc.filetime = datefrombufr[len(datefrombufr)-1]
 
string JEDI_amsu_bufr2nc.hdstr1 = 'SAID FOVN YEAR MNTH DAYS HOUR MINU SECO CLAT CLON HOLS'
 datefrombufr=re.findall(r'(\d{10})', radbufr_filename) #finds ten digit number in the string preceded by PERIOD... More...
 
string JEDI_amsu_bufr2nc.hdstr2 = 'SAZA SOZA BEARAZ SOLAZI'
 
string JEDI_amsu_bufr2nc.obstr = 'TMBR'
 
 JEDI_amsu_bufr2nc.bufr = ncepbufr.open(radbufr_filename)
 read amsua radiance file. More...
 
 JEDI_amsu_bufr2nc.nhd1 = len(hdstr1.split())
 
 JEDI_amsu_bufr2nc.nhd2 = len(hdstr2.split())
 
 JEDI_amsu_bufr2nc.nhd = nhd1+nhd2
 
int JEDI_amsu_bufr2nc.nob = 0
 
int JEDI_amsu_bufr2nc.nob1 = 0
 
int JEDI_amsu_bufr2nc.nrec_count = 0
 
list JEDI_amsu_bufr2nc.DUMsaid = []
 
list JEDI_amsu_bufr2nc.DUMfovn = []
 
list JEDI_amsu_bufr2nc.DUMyear = []
 
list JEDI_amsu_bufr2nc.DUMmnth = []
 
list JEDI_amsu_bufr2nc.DUMdays = []
 
list JEDI_amsu_bufr2nc.DUMhour = []
 
list JEDI_amsu_bufr2nc.DUMminu = []
 
list JEDI_amsu_bufr2nc.DUMseco = []
 
list JEDI_amsu_bufr2nc.DUMhols = []
 
list JEDI_amsu_bufr2nc.DUMclat = []
 
list JEDI_amsu_bufr2nc.DUMclon = []
 
list JEDI_amsu_bufr2nc.DUMsaza = []
 
list JEDI_amsu_bufr2nc.DUMbearaz = []
 
list JEDI_amsu_bufr2nc.DUMsoza = []
 
list JEDI_amsu_bufr2nc.DUMsolazi = []
 
list JEDI_amsu_bufr2nc.DUMtmbr = []
 
int JEDI_amsu_bufr2nc.nobs_message = 0
 
 JEDI_amsu_bufr2nc.hdr1 = bufr.read_subset(hdstr1).squeeze()
 
 JEDI_amsu_bufr2nc.hdr2 = bufr.read_subset(hdstr2).squeeze()
 
 JEDI_amsu_bufr2nc.said = int(hdr1[0])
 
 JEDI_amsu_bufr2nc.fovn = int(hdr1[1])
 
 JEDI_amsu_bufr2nc.year = int(hdr1[2])
 
 JEDI_amsu_bufr2nc.mnth = int(hdr1[3])
 
 JEDI_amsu_bufr2nc.days = int(hdr1[4])
 
 JEDI_amsu_bufr2nc.hour = int(hdr1[5])
 
 JEDI_amsu_bufr2nc.minu = int(hdr1[6])
 
 JEDI_amsu_bufr2nc.seco = int(hdr1[7])
 
 JEDI_amsu_bufr2nc.clat = float(hdr1[8])
 
 JEDI_amsu_bufr2nc.clon = float(hdr1[9])
 
 JEDI_amsu_bufr2nc.hols = float(hdr1[10])
 
 JEDI_amsu_bufr2nc.saza = float(hdr2[0])
 
 JEDI_amsu_bufr2nc.soza = float(hdr2[1])
 
 JEDI_amsu_bufr2nc.bearaz = float(hdr2[2])
 
 JEDI_amsu_bufr2nc.solazi = float(hdr2[3])
 
 JEDI_amsu_bufr2nc.tmbr = bufr.read_subset(obstr,rep=True).squeeze()
 
 JEDI_amsu_bufr2nc.nchanl = len(tmbr)
 
 JEDI_amsu_bufr2nc.punct = string.punctuation
 
string JEDI_amsu_bufr2nc.space = ' '
 
string JEDI_amsu_bufr2nc.hyphen = '-'
 
 JEDI_amsu_bufr2nc.digits = string.digits
 
 JEDI_amsu_bufr2nc.uniqsats = np.unique(DUMsaid)
 
 JEDI_amsu_bufr2nc.numsat = len(uniqsats)
 
list JEDI_amsu_bufr2nc.holsarr = []
 
list JEDI_amsu_bufr2nc.fovnarr = []
 
list JEDI_amsu_bufr2nc.yeararr = []
 
list JEDI_amsu_bufr2nc.mntharr = []
 
list JEDI_amsu_bufr2nc.daysarr = []
 
list JEDI_amsu_bufr2nc.hourarr = []
 
list JEDI_amsu_bufr2nc.minuarr = []
 
list JEDI_amsu_bufr2nc.secoarr = []
 
list JEDI_amsu_bufr2nc.clatarr = []
 
list JEDI_amsu_bufr2nc.clonarr = []
 
list JEDI_amsu_bufr2nc.latarr = []
 
list JEDI_amsu_bufr2nc.lonarr = []
 
list JEDI_amsu_bufr2nc.clatharr = []
 
list JEDI_amsu_bufr2nc.clonharr = []
 
list JEDI_amsu_bufr2nc.sazaarr = []
 
list JEDI_amsu_bufr2nc.bearazarr = []
 
list JEDI_amsu_bufr2nc.sozaarr = []
 
list JEDI_amsu_bufr2nc.solaziarr = []
 
list JEDI_amsu_bufr2nc.tmbrarr = []
 
 JEDI_amsu_bufr2nc.satcode = uniqsats[n]
 
 JEDI_amsu_bufr2nc.indcs = np.where(DUMsaid==satcode)[0]
 
 JEDI_amsu_bufr2nc.satlite = code2sat_name[satcode]
 
 JEDI_amsu_bufr2nc.satlite_lower = satlite.lower
 
string JEDI_amsu_bufr2nc.sat_lower = "".join(c for c in satlite_lower())
 
string JEDI_amsu_bufr2nc.satlite_nopunct = "".join(c for c in satlite_lower() if c not in punct)
 
string JEDI_amsu_bufr2nc.satlite_spacepunct = "".join(c for c in satlite if c not in punct)
 
string JEDI_amsu_bufr2nc.satlite_nopunctnospace = "".join(c for c in satlite_nopunct if c not in space)
 
 JEDI_amsu_bufr2nc.diag_satname = satlite_lower()[0:6]
 
 JEDI_amsu_bufr2nc.numindcs = len(indcs)
 
string JEDI_amsu_bufr2nc.diagtime = filetime[0:8]+'_'+filetime[8:10]
 
string JEDI_amsu_bufr2nc.netcdf_filename = netcdf_filePATH+'diag_amsua_'+diag_satname+'_anl.'+diagtime+'z.nc4'
 
 JEDI_amsu_bufr2nc.nc = netCDF4.Dataset(netcdf_filename,'w',format='NETCDF4')
 
 JEDI_amsu_bufr2nc.nchans_dim = nc.createDimension('nchans',None)
 
 JEDI_amsu_bufr2nc.nobs_bufr_dim = nc.createDimension('nobs_bufr',None)
 
 JEDI_amsu_bufr2nc.nobs_diag_dim = nc.createDimension('nobs',None)
 
 JEDI_amsu_bufr2nc.Observation_Class_maxstrlen_dim = nc.createDimension('Observation_Class_maxstrlen',7)
 
 JEDI_amsu_bufr2nc.BC_angord_arr_dim = nc.createDimension('BC_angord_arr_dim',5)
 
 JEDI_amsu_bufr2nc.chaninfoidx_nc = nc.createVariable('chaninfoidx','i','nchans') ;
 
 JEDI_amsu_bufr2nc.freq_nc = nc.createVariable('frequency',np.double,'nchans') ;
 
 JEDI_amsu_bufr2nc.polariz_nc = nc.createVariable('polarization','i','nchans') ;
 
 JEDI_amsu_bufr2nc.wavenum_nc = nc.createVariable('wavenumber',np.double,'nchans') ;
 
 JEDI_amsu_bufr2nc.errvar_nc = nc.createVariable('error_variance',np.double,'nchans') ;
 
 JEDI_amsu_bufr2nc.lapseavg_nc = nc.createVariable('mean_lapse_rate',np.double,'nchans') ;
 
 JEDI_amsu_bufr2nc.useflag_nc = nc.createVariable('use_flag','i','nchans') ;
 
 JEDI_amsu_bufr2nc.sensorchan_nc = nc.createVariable('sensor_chan','i','nchans') ;
 
 JEDI_amsu_bufr2nc.satinfochan_nc = nc.createVariable('satinfo_chan','i','nchans') ;
 
 JEDI_amsu_bufr2nc.chanindx_nc = nc.createVariable('Channel_Index','i','nobs') ;
 
 JEDI_amsu_bufr2nc.obclass_nc = nc.createVariable('Observation_Class','S1', ('nobs','Observation_Class_maxstrlen')) ;
 
 JEDI_amsu_bufr2nc.fovn_bufr_nc = nc.createVariable('FOVN', np.double,'nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.year_bufr_nc = nc.createVariable('YEAR', 'i','nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.mnth_bufr_nc = nc.createVariable('MNTH', 'i','nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.days_bufr_nc = nc.createVariable('DAYS', 'i','nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.hour_bufr_nc = nc.createVariable('HOUR', 'i','nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.minu_bufr_nc = nc.createVariable('MINU', 'i','nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.seco_bufr_nc = nc.createVariable('SECO', 'i','nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.clat_bufr_nc = nc.createVariable('CLAT', np.double,'nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.clon_bufr_nc = nc.createVariable('CLON', np.double,'nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.hols_bufr_nc = nc.createVariable('HOLS', np.double,'nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.satzen_bufr_nc = nc.createVariable('SAZA', np.double,'nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.solzen_bufr_nc = nc.createVariable('SOZA', np.double,'nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.bearaz_bufr_nc = nc.createVariable('BEARAZ', np.double,'nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.solaz_bufr_nc = nc.createVariable('SOLAZI', np.double,'nobs_bufr') ;
 
 JEDI_amsu_bufr2nc.tmbr_bufr_nc = nc.createVariable('TMBR', np.double,('nobs_bufr','nchans')) ;
 
 JEDI_amsu_bufr2nc.lat_diag_nc = nc.createVariable('Latitude', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.lon_diag_nc = nc.createVariable('Longitude', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.elev_diag_nc = nc.createVariable('Elevation', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.time_diag_nc = nc.createVariable('Obs_Time', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.scanpos_diag_nc = nc.createVariable('Scan_Position', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.satzen_diag_nc = nc.createVariable('Sat_Zenith_Angle', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.satazi_diag_nc = nc.createVariable('Sat_Azimuth_Angle', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.solzen_diag_nc = nc.createVariable('Sol_Zenith_Angle', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.solazi_diag_nc = nc.createVariable('Sol_Azimuth_Angle', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.glintang_diag_nc = nc.createVariable('Sun_Glint_Angle', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.waterfrac_diag_nc = nc.createVariable('Water_Fraction', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.landfrac_diag_nc = nc.createVariable('Land_Fraction', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.icefrac_diag_nc = nc.createVariable('Ice_Fraction', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.snowfrac_diag_nc = nc.createVariable('Snow_Fraction', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.waterT_diag_nc = nc.createVariable('Water_Temperature', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.landT_diag_nc = nc.createVariable('Land_Temperature', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.iceT_diag_nc = nc.createVariable('Ice_Temperature', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.snowT_diag_nc = nc.createVariable('Snow_Temperature', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.soilT_diag_nc = nc.createVariable('Soil_Temperature', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.soilM_diag_nc = nc.createVariable('Soil_Moisture', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.landTYPE_diag_nc = nc.createVariable('Land_Type_Index','i','nobs') ;
 INT ####
More...
 
 JEDI_amsu_bufr2nc.tsavg5_diag_nc = nc.createVariable('tsavg5', np.double,'nobs') ;
 INT ####. More...
 
 JEDI_amsu_bufr2nc.sstcu_diag_nc = nc.createVariable('sstcu', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.sstph_diag_nc = nc.createVariable('sstph', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.sstnv_diag_nc = nc.createVariable('sstnv', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.dta_diag_nc = nc.createVariable('dta', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.dqa_diag_nc = nc.createVariable('dqa', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.dtp_avh_diag_nc = nc.createVariable('dtp_avh', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.vegfrac_diag_nc = nc.createVariable('Vegetation_Fraction', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.snodep_diag_nc = nc.createVariable('Snow_Depth', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.tpwc_diag_nc = nc.createVariable('tpwc_amsua', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.clwges_diag_nc = nc.createVariable('clw_guess_retrieval', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.sfcwind_diag_nc = nc.createVariable('Sfc_Wind_Speed', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.cloudfrac_diag_nc = nc.createVariable('Cloud_Frac', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.CTP_diag_nc = nc.createVariable('CTP', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.CLW_diag_nc = nc.createVariable('CLW', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.TPWC_diag_nc = nc.createVariable('TPWC', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.clwobs_diag_nc = nc.createVariable('clw_obs', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.foundT_diag_nc = nc.createVariable('Foundation_Temperature', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.sst_warmdt_diag_nc = nc.createVariable('SST_Warm_layer_dt', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.sst_cooldt_diag_nc = nc.createVariable('SST_Cool_layer_tdrop', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.sst_dtzdtf_diag_nc = nc.createVariable('SST_dTz_dTfound', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.obs_diag_nc = nc.createVariable('Observation', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.oMf_adj_diag_nc = nc.createVariable('Obs_Minus_Forecast_adjusted', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.oMf_unadj_diag_nc = nc.createVariable('Obs_Minus_Forecast_unadjusted', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.invOBSerr_diag_nc = nc.createVariable('Inverse_Observation_Error', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.qcflag_diag_nc = nc.createVariable('QC_Flag', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.emiss_diag_nc = nc.createVariable('Emissivity', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.wtd_lapse_diag_nc = nc.createVariable('Weighted_Lapse_Rate', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.dtb_dts_diag_nc = nc.createVariable('dTb_dTs', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.bc_const_diag_nc = nc.createVariable('BC_Constant', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.bc_scanangle_diag_nc = nc.createVariable('BC_Scan_Angle', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.bc_clw_diag_nc = nc.createVariable('BC_Cloud_Liquid_Water', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.bc_lapsesqd_diag_nc = nc.createVariable('BC_Lapse_Rate_Squared', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.bc_lapse_diag_nc = nc.createVariable('BC_Lapse_Rate', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.bc_cosinelatxnode_diag_nc = nc.createVariable('BC_Cosine_Latitude_times_Node', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.bc_sine_diag_nc = nc.createVariable('BC_Sine_Latitude', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.bc_emiss_diag_nc = nc.createVariable('BC_Emissivity', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.bc_fixedscanpos_diag_nc = nc.createVariable('BC_Fixed_Scan_Position', np.double,'nobs') ;
 
 JEDI_amsu_bufr2nc.bc_angord_diag_nc = nc.createVariable('BC_angord', np.double,('nobs','BC_angord_arr_dim')) ;
 
 JEDI_amsu_bufr2nc.Satellite_Sensor
 nc.description='blahblah' More...
 
 JEDI_amsu_bufr2nc.Satellite
 
 JEDI_amsu_bufr2nc.Observation_type
 
 JEDI_amsu_bufr2nc.Outer_Loop_Iteration
 
 JEDI_amsu_bufr2nc.Number_of_channels
 
 JEDI_amsu_bufr2nc.Number_of_Predictors
 
 JEDI_amsu_bufr2nc.date_time
 
 JEDI_amsu_bufr2nc.ireal_radiag
 
 JEDI_amsu_bufr2nc.ipchan_radiag
 
 JEDI_amsu_bufr2nc.iextra
 
 JEDI_amsu_bufr2nc.jextra
 
 JEDI_amsu_bufr2nc.idiag
 
 JEDI_amsu_bufr2nc.angord
 
 JEDI_amsu_bufr2nc.iversion_radiag
 
 JEDI_amsu_bufr2nc.New_pc4pred
 
 JEDI_amsu_bufr2nc.ioff0