Пример #1
0
def Pinterpol(date):
    """ Read the ERA5 data and interpolate to the pressure levels. """
    dat = ECMWF('FULL-EA', date, exp=['VOZ', 'QN'])
    dat._get_T()
    dat._get_var('O3')
    dat._get_var('Q')
    dat.close()
    dat._mkp()
    dat._mkz()
    dat2 = dat.shift2west(-20)
    dat3 = dat2.extract(lonRange=[-10, 160], latRange=[0, 50], varss='All')
    dat3._WMO()
    dat4 = dat3.interpolP(pressPa, varList=['Z', 'T', 'Q', 'O3'])
    dat4.d2d = dat3.d2d
    return (dat4)
Пример #2
0
    print('dats length ', len(dats))

date = day1
pts = list(np.arange(420, 610, 5))
varList = ['T', 'VO', 'O3', 'PV', 'Z', 'U', 'V']

while date < day2:
    print(date)
    dat = ECMWF('FULL-EA', date, exp='VOZ')
    dat._get_var('T')
    dat._get_var('VO')
    dat._get_var('O3')
    dat._get_var('U')
    dat._get_var('V')
    dat._mkp()
    dat._mkz()
    dat._mkthet()
    dat._mkpv()
    if date >= datetime(2017, 10, 12, 0):
        dats[i] = dat.interpolPT(pts,
                                 varList=varList,
                                 latRange=(5, 35),
                                 lonRange=(100, 220))
    elif date >= datetime(2017, 10, 3, 0):
        datr = dat.shift2west(-180)
        dats[i] = datr.interpolPT(pts,
                                  varList=varList,
                                  latRange=(20, 50),
                                  lonRange=(-180, -60))
    elif date >= datetime(2017, 9, 23, 0):
        datr = dat.shift2west(-180)
Пример #3
0
            date2 = date1 + timedelta(hours=3)
            dtt = (mean_date-date1).total_seconds()/10800
            # test whether the selected part of the orbit is totally in the interval
            enter_date = ref_date + timedelta(seconds=data['time'][0])
            exit_date = ref_date + timedelta(seconds=data['time'][-1])            
            if enter_date < date1:
                print('beginning of orbit out by',date1-enter_date,dtt)
            if  exit_date > date2:
                print('beginning of orbit out by',exit_date-date2,dtt)

            # get ECMWF data for the orbit and generate a curtain over the retained segment
            # read data for first bracketting date
            dat1 = ECMWF('FULL-EI',date1)
            dat1._get_T()
            dat1._mkp()
            dat1._mkz()
            dat1.close()
            # generate a curtain along the track for first date
            sect1 = dat1.interpol_orbit(data['longitude'],data['latitude'],varList=['P','T','Z'])
            del dat1
            # read data for second bracketting date
            dat2 = ECMWF('FULL-EI',date2)
            dat2._get_T()
            dat2._mkp()
            dat2._mkz()
            dat2.close()
            # generate a curtain along the track for scond date
            sect2 = dat2.interpol_orbit(data['longitude'],data['latitude'],varList=['P','T','Z'])
            del dat2
            sect = curtain()
            #sect.x = sect1.x