IODA Bundle
gpsbufr2nc Namespace Reference

Functions

def splitdate (yyyymmddhh)
 
def makedate (yyyy, mm, dd, hh)
 
def daterange (date1, date2, hrinc)
 

Variables

 get_bin = lambda x, n: format(x, 'b').zfill(n)
 
 ScriptName = os.path.basename(sys.argv[0])
 
string UsageString = "USAGE: {0:s} [options] <obs_type> <input_prepbufr> <output_netcdf>".format(ScriptName)
 
 op = OptionParser(usage=UsageString)
 
 type
 
 dest
 
 default
 
 help
 
 metavar
 
 action
 
 MyOptions
 
 MyArgs
 
 MaxMsgs = MyOptions.max_msgs
 
 ClobberOfile = MyOptions.clobber
 
 ObsType = MyArgs[0]
 
 bufrFname = MyArgs[1]
 
 netcdfFname = MyArgs[2]
 
bool BadArgs = False
 
string hdrstr = 'YEAR MNTH DAYS HOUR MINU SECO PCCF ELRC SAID PTID GEODU QFRO'
 
 bufr = ncepbufr.open(bufrFname)
 
list dates = []
 
 date1 = str(dates.max())
 
 YYYY1 = date2[0:4]
 
 MM1 = date2[4:6]
 
 DD1 = date2[6:8]
 
string datestart = '%04s%s%02s00' % (YYYY1,MM1,DD1)
 
string dateend = '%04s%02s%02s18' % (YYYY2,MM2,DD2)
 
 nc = netCDF4.Dataset(netcdfFname,'w',format='NETCDF4')
 
 lat = nc.createVariable('Latitude',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)
 
 units
 
 lon = nc.createVariable('Longitude',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)
 
 hgt = nc.createVariable('Height',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)
 
 time = nc.createVariable('Time',np.int64,'nobs',zlib=True)
 
 ob = nc.createVariable('Observation',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)
 
 long_name
 
 oberr = nc.createVariable('ObservationErrorBufr',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)
 
 obpcc = nc.createVariable('ObservationPercentConfidence',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)
 
 profpcc = nc.createVariable('ProfilePercentConfidence',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)
 
 satidn = nc.createVariable('SatelliteID',np.int16,'nobs',zlib=True)
 
 platidn = nc.createVariable('PlatformTransmitterID',np.int16,'nobs',zlib=True)
 
 rcurv = nc.createVariable('EarthLocalRadiusCurv',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)
 
 imp = nc.createVariable('ImpactParameter',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)
 
 qf = nc.createVariable('QualityFlags',np.int16,'nobs',zlib=True)
 
 geo = nc.createVariable('GeoidUndulation',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)
 
int nob = 0
 
 hdr = np.asarray(bufr.read_subset(hdrstr).squeeze())
 
string yyyymmddhhss = '%04i%02i%02i%02i%02i%02i' % tuple(hdr[0:6])
 
 date = datetime.datetime(int(hdr[0]),int(hdr[1]),int(hdr[2]),int(hdr[3]),int(hdr[4]),int(hdr[5]))
 
 timeval = netCDF4.date2num(date,units=time.units)
 
 pcc = hdr[6]
 
 roc = hdr[7]
 
 satid = int(hdr[8])
 
 ptid = int(hdr[9])
 
 geoid = hdr[10]
 
 qfro = int(hdr[11])
 
 nreps_this_ROSEQ2 = bufr.read_subset('{ROSEQ2}').squeeze()
 
 nreps_this_ROSEQ1 = len(nreps_this_ROSEQ2)
 
 data1 = np.asarray(bufr.read_subset('ROSEQ1',seq=True))
 
 data2 = np.asarray(bufr.read_subset('ROSEQ3',seq=True))
 
 levs1 = data1.shape[1]
 
 levs2 = data2.shape[1]
 
 levs = levs1
 
list lats = []
 
list pccs = []
 
list geoids = []
 
list qflags = []
 
int ncount = 0
 
 latval = data1[0,k]
 
 lonval = data1[1,k]
 
 hgtval = data2[0,k]
 
 ref = data2[1,k]
 
 ref_error = data2[3,k]
 
 ref_pccf = data2[5,k]
 
int m = 6*(i+1)-3
 
 freq = data1[m,k]
 
 impact = data1[m+1,k]
 
 bend = data1[m+2,k]
 
 bend_error = data1[m+4,k]
 
 bend_pccf = data1[int(6*nreps_this_ROSEQ2[k])+3,k]
 

Function Documentation

◆ daterange()

def gpsbufr2nc.daterange (   date1,
  date2,
  hrinc 
)
date_list = daterange(date1,date2,hrinc)

return of list of date strings of the form yyyymmddhh given
a starting date, ending date and an increment in hours.

Definition at line 27 of file gpsbufr2nc.py.

Here is the call graph for this function:

◆ makedate()

def gpsbufr2nc.makedate (   yyyy,
  mm,
  dd,
  hh 
)
yyyymmddhh = makedate(yyyy,mm,dd,hh)

return a date string of the form yyyymmddhh given integers yyyy,mm,dd,hh.

Definition at line 20 of file gpsbufr2nc.py.

Here is the caller graph for this function:

◆ splitdate()

def gpsbufr2nc.splitdate (   yyyymmddhh)
yyyy,mm,dd,hh = splitdate(yyyymmddhh)

give an date string (yyyymmddhh) return integers yyyy,mm,dd,hh.

Definition at line 9 of file gpsbufr2nc.py.

Here is the caller graph for this function:

Variable Documentation

◆ action

gpsbufr2nc.action

Definition at line 55 of file gpsbufr2nc.py.

◆ BadArgs

bool gpsbufr2nc.BadArgs = False

Definition at line 77 of file gpsbufr2nc.py.

◆ bend

gpsbufr2nc.bend = data1[m+2,k]

Definition at line 225 of file gpsbufr2nc.py.

◆ bend_error

gpsbufr2nc.bend_error = data1[m+4,k]

Definition at line 226 of file gpsbufr2nc.py.

◆ bend_pccf

gpsbufr2nc.bend_pccf = data1[int(6*nreps_this_ROSEQ2[k])+3,k]

Definition at line 230 of file gpsbufr2nc.py.

◆ bufr

gpsbufr2nc.bufr = ncepbufr.open(bufrFname)

Definition at line 100 of file gpsbufr2nc.py.

◆ bufrFname

gpsbufr2nc.bufrFname = MyArgs[1]

Definition at line 73 of file gpsbufr2nc.py.

◆ ClobberOfile

gpsbufr2nc.ClobberOfile = MyOptions.clobber

Definition at line 66 of file gpsbufr2nc.py.

◆ data1

gpsbufr2nc.data1 = np.asarray(bufr.read_subset('ROSEQ1',seq=True))

Definition at line 176 of file gpsbufr2nc.py.

◆ data2

gpsbufr2nc.data2 = np.asarray(bufr.read_subset('ROSEQ3',seq=True))

Definition at line 177 of file gpsbufr2nc.py.

◆ date

gpsbufr2nc.date = datetime.datetime(int(hdr[0]),int(hdr[1]),int(hdr[2]),int(hdr[3]),int(hdr[4]),int(hdr[5]))

Definition at line 158 of file gpsbufr2nc.py.

◆ date1

gpsbufr2nc.date1 = str(dates.max())

Definition at line 107 of file gpsbufr2nc.py.

◆ dateend

string gpsbufr2nc.dateend = '%04s%02s%02s18' % (YYYY2,MM2,DD2)

Definition at line 112 of file gpsbufr2nc.py.

◆ dates

gpsbufr2nc.dates = []

Definition at line 102 of file gpsbufr2nc.py.

◆ datestart

string gpsbufr2nc.datestart = '%04s%s%02s00' % (YYYY1,MM1,DD1)

Definition at line 111 of file gpsbufr2nc.py.

◆ DD1

gpsbufr2nc.DD1 = date2[6:8]

Definition at line 110 of file gpsbufr2nc.py.

◆ default

gpsbufr2nc.default

Definition at line 53 of file gpsbufr2nc.py.

◆ dest

gpsbufr2nc.dest

Definition at line 53 of file gpsbufr2nc.py.

◆ freq

gpsbufr2nc.freq = data1[m,k]

Definition at line 223 of file gpsbufr2nc.py.

◆ geo

gpsbufr2nc.geo = nc.createVariable('GeoidUndulation',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)

Definition at line 146 of file gpsbufr2nc.py.

◆ geoid

gpsbufr2nc.geoid = hdr[10]

Definition at line 164 of file gpsbufr2nc.py.

◆ geoids

list gpsbufr2nc.geoids = []

Definition at line 189 of file gpsbufr2nc.py.

◆ get_bin

gpsbufr2nc.get_bin = lambda x, n: format(x, 'b').zfill(n)

Definition at line 7 of file gpsbufr2nc.py.

◆ hdr

gpsbufr2nc.hdr = np.asarray(bufr.read_subset(hdrstr).squeeze())

Definition at line 156 of file gpsbufr2nc.py.

◆ hdrstr

string gpsbufr2nc.hdrstr = 'YEAR MNTH DAYS HOUR MINU SECO PCCF ELRC SAID PTID GEODU QFRO'

Definition at line 96 of file gpsbufr2nc.py.

◆ help

gpsbufr2nc.help

Definition at line 54 of file gpsbufr2nc.py.

◆ hgt

gpsbufr2nc.hgt = nc.createVariable('Height',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)

Definition at line 125 of file gpsbufr2nc.py.

◆ hgtval

gpsbufr2nc.hgtval = data2[0,k]

Definition at line 195 of file gpsbufr2nc.py.

◆ imp

gpsbufr2nc.imp = nc.createVariable('ImpactParameter',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)

Definition at line 142 of file gpsbufr2nc.py.

◆ impact

gpsbufr2nc.impact = data1[m+1,k]

Definition at line 224 of file gpsbufr2nc.py.

◆ lat

gpsbufr2nc.lat = nc.createVariable('Latitude',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)

Definition at line 120 of file gpsbufr2nc.py.

◆ lats

list gpsbufr2nc.lats = []

Definition at line 187 of file gpsbufr2nc.py.

◆ latval

gpsbufr2nc.latval = data1[0,k]

Definition at line 193 of file gpsbufr2nc.py.

◆ levs

gpsbufr2nc.levs = levs1

Definition at line 183 of file gpsbufr2nc.py.

◆ levs1

gpsbufr2nc.levs1 = data1.shape[1]

Definition at line 178 of file gpsbufr2nc.py.

◆ levs2

gpsbufr2nc.levs2 = data2.shape[1]

Definition at line 179 of file gpsbufr2nc.py.

◆ lon

gpsbufr2nc.lon = nc.createVariable('Longitude',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)

Definition at line 122 of file gpsbufr2nc.py.

◆ long_name

gpsbufr2nc.long_name

Definition at line 132 of file gpsbufr2nc.py.

◆ lonval

gpsbufr2nc.lonval = data1[1,k]

Definition at line 194 of file gpsbufr2nc.py.

◆ m

int gpsbufr2nc.m = 6*(i+1)-3

Definition at line 222 of file gpsbufr2nc.py.

◆ MaxMsgs

gpsbufr2nc.MaxMsgs = MyOptions.max_msgs

Definition at line 65 of file gpsbufr2nc.py.

◆ metavar

gpsbufr2nc.metavar

Definition at line 54 of file gpsbufr2nc.py.

◆ MM1

gpsbufr2nc.MM1 = date2[4:6]

Definition at line 109 of file gpsbufr2nc.py.

◆ MyArgs

gpsbufr2nc.MyArgs

Definition at line 58 of file gpsbufr2nc.py.

◆ MyOptions

gpsbufr2nc.MyOptions

Definition at line 58 of file gpsbufr2nc.py.

◆ nc

gpsbufr2nc.nc = netCDF4.Dataset(netcdfFname,'w',format='NETCDF4')

Definition at line 117 of file gpsbufr2nc.py.

◆ ncount

int gpsbufr2nc.ncount = 0

Definition at line 191 of file gpsbufr2nc.py.

◆ netcdfFname

gpsbufr2nc.netcdfFname = MyArgs[2]

Definition at line 74 of file gpsbufr2nc.py.

◆ nob

int gpsbufr2nc.nob = 0

Definition at line 150 of file gpsbufr2nc.py.

◆ nreps_this_ROSEQ1

gpsbufr2nc.nreps_this_ROSEQ1 = len(nreps_this_ROSEQ2)

Definition at line 175 of file gpsbufr2nc.py.

◆ nreps_this_ROSEQ2

gpsbufr2nc.nreps_this_ROSEQ2 = bufr.read_subset('{ROSEQ2}').squeeze()

Definition at line 174 of file gpsbufr2nc.py.

◆ ob

gpsbufr2nc.ob = nc.createVariable('Observation',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)

Definition at line 130 of file gpsbufr2nc.py.

◆ oberr

gpsbufr2nc.oberr = nc.createVariable('ObservationErrorBufr',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)

Definition at line 135 of file gpsbufr2nc.py.

◆ obpcc

gpsbufr2nc.obpcc = nc.createVariable('ObservationPercentConfidence',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)

Definition at line 136 of file gpsbufr2nc.py.

◆ ObsType

gpsbufr2nc.ObsType = MyArgs[0]

Definition at line 68 of file gpsbufr2nc.py.

◆ op

gpsbufr2nc.op = OptionParser(usage=UsageString)

Definition at line 52 of file gpsbufr2nc.py.

◆ pcc

gpsbufr2nc.pcc = hdr[6]

Definition at line 160 of file gpsbufr2nc.py.

◆ pccs

list gpsbufr2nc.pccs = []

Definition at line 188 of file gpsbufr2nc.py.

◆ platidn

gpsbufr2nc.platidn = nc.createVariable('PlatformTransmitterID',np.int16,'nobs',zlib=True)

Definition at line 139 of file gpsbufr2nc.py.

◆ profpcc

gpsbufr2nc.profpcc = nc.createVariable('ProfilePercentConfidence',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)

Definition at line 137 of file gpsbufr2nc.py.

◆ ptid

gpsbufr2nc.ptid = int(hdr[9])

Definition at line 163 of file gpsbufr2nc.py.

◆ qf

gpsbufr2nc.qf = nc.createVariable('QualityFlags',np.int16,'nobs',zlib=True)

Definition at line 145 of file gpsbufr2nc.py.

◆ qflags

list gpsbufr2nc.qflags = []

Definition at line 190 of file gpsbufr2nc.py.

◆ qfro

gpsbufr2nc.qfro = int(hdr[11])

Definition at line 165 of file gpsbufr2nc.py.

◆ rcurv

gpsbufr2nc.rcurv = nc.createVariable('EarthLocalRadiusCurv',np.float32,'nobs',zlib=True,fill_value=bufr.missing_value)

Definition at line 140 of file gpsbufr2nc.py.

◆ ref

gpsbufr2nc.ref = data2[1,k]

Definition at line 213 of file gpsbufr2nc.py.

◆ ref_error

gpsbufr2nc.ref_error = data2[3,k]

Definition at line 214 of file gpsbufr2nc.py.

◆ ref_pccf

gpsbufr2nc.ref_pccf = data2[5,k]

Definition at line 215 of file gpsbufr2nc.py.

◆ roc

gpsbufr2nc.roc = hdr[7]

Definition at line 161 of file gpsbufr2nc.py.

◆ satid

gpsbufr2nc.satid = int(hdr[8])

Definition at line 162 of file gpsbufr2nc.py.

◆ satidn

gpsbufr2nc.satidn = nc.createVariable('SatelliteID',np.int16,'nobs',zlib=True)

Definition at line 138 of file gpsbufr2nc.py.

◆ ScriptName

gpsbufr2nc.ScriptName = os.path.basename(sys.argv[0])

Definition at line 48 of file gpsbufr2nc.py.

◆ time

gpsbufr2nc.time = nc.createVariable('Time',np.int64,'nobs',zlib=True)

Definition at line 127 of file gpsbufr2nc.py.

◆ timeval

gpsbufr2nc.timeval = netCDF4.date2num(date,units=time.units)

Definition at line 159 of file gpsbufr2nc.py.

◆ type

gpsbufr2nc.type

Definition at line 53 of file gpsbufr2nc.py.

◆ units

gpsbufr2nc.units

Definition at line 121 of file gpsbufr2nc.py.

◆ UsageString

string gpsbufr2nc.UsageString = "USAGE: {0:s} [options] <obs_type> <input_prepbufr> <output_netcdf>".format(ScriptName)

Definition at line 49 of file gpsbufr2nc.py.

◆ YYYY1

gpsbufr2nc.YYYY1 = date2[0:4]

Definition at line 108 of file gpsbufr2nc.py.

◆ yyyymmddhhss

string gpsbufr2nc.yyyymmddhhss = '%04i%02i%02i%02i%02i%02i' % tuple(hdr[0:6])

Definition at line 157 of file gpsbufr2nc.py.