spec_in2 = Dataset(path_ap2)
        # read in modeled CO, CH2O, NO2, O3, and OH
        spec[j,0,2*i,:,:,:] = spec_in.variables["IJ-AVG-S__CO"][:,:,:]
        spec[j,0,2*i+1,:,:,:] = spec_in2.variables["IJ-AVG-S__CO"][:,:,:]
        spec[j,1,2*i,:,:,:] = spec_in.variables["IJ-AVG-S__CH2O"][:,:,:]
        spec[j,1,2*i+1,:,:,:] = spec_in2.variables["IJ-AVG-S__CH2O"][:,:,:]
        spec[j,2,2*i,:38,:,:] = spec_in.variables["CHEM-L_S__NO2"][:,:,:]
        spec[j,2,2*i+1,:38,:,:] = spec_in2.variables["CHEM-L_S__NO2"][:,:,:]
        spec[j,3,2*i,:,:,:] = spec_in.variables["IJ-AVG-S__Ox"][:,:,:]
        spec[j,3,2*i+1,:,:,:] = spec_in2.variables["IJ-AVG-S__Ox"][:,:,:]
        spec[j,4,2*i,:38,:,:] = spec_in.variables["CHEM-L_S__OH"][:,:,:]
        spec[j,4,2*i+1,:38,:,:] = spec_in2.variables["CHEM-L_S__OH"][:,:,:]
        # convert altitude mean to isentropic mean on 3 critical levels
        for m in range(3):
            for k in range(5):
                spec_crt[j,k,2*i,m,:,:] = geos_interpolate(len1,lat,lon,spec[j,k,2*i,:,:,:],ps,pre_crt[m])
                pres, spec_crt[j,k,2*i+1,m,:,:] = geos_interpolate(len1,lat,lon,spec[j,k,2*i+1,:,:,:],ps,pre_crt[m],pre_output=True)
            #spec_crt_mon[j,i,m,:,:] = np.mean(spec_crt[j,2*i:2*i+2,m,:,:],axis=0)
#spec_crt_sea = np.zeros((len4,4,5,len2,len3))
# compute mean statistics of modeled abundances
spec_crt_mean = np.mean(spec_crt,axis=2)
spec_mean = np.mean(spec,axis=2)
spec_diff =  100*(spec_mean - spec_mean[0,:,:,:,:])/spec_mean[0,:,:,:,:]
spec_diff[0,:,:,:,:] = spec_mean[0,:,:,:,:]
spec_diff_zonal = np.mean(spec_diff,axis=4)
spec_crt_diff = 100*(spec_crt_mean - spec_crt_mean[0,:,:,:,:])/spec_crt_mean[0,:,:,:,:]
spec_crt_diff[0,:,:,:,:] = spec_crt_mean[0,:,:,:,:]
#spec_crt_diff[5,:,:,:,:] = spec_crt_diff[6,:,:,:,:]
#spec_crt_sea[:,0,:,:,:] = (2*np.mean(spec_crt[:,0:4,:,:,:],axis=1)+np.mean(spec_crt[:,22:24,:,:,:],axis=1))/3
#spec_crt_sea[:,1,:,:,:] = np.mean(spec_crt[:,4:10,:,:,:],axis=1)
#spec_crt_sea[:,2,:,:,:] = np.mean(spec_crt[:,10:16,:,:,:],axis=1)
NO2[2, 1, :, :, :] = allfile21.variables["CHEM-L_S__NO2"][:, :, :]
NO2[2, 2, :, :, :] = allfile02.variables["CHEM-L_S__NO2"][:, :, :]
NO2[2, 3, :, :, :] = allfile21.variables["CHEM-L_S__NO2"][:, :, :]
NO2[2, 4, :, :, :] = allfile03.variables["CHEM-L_S__NO2"][:, :, :]
NO2[2, 5, :, :, :] = allfile23.variables["CHEM-L_S__NO2"][:, :, :]
NO2[2, 6, :, :, :] = allfile04.variables["CHEM-L_S__NO2"][:, :, :]
NO2[2, 7, :, :, :] = allfile24.variables["CHEM-L_S__NO2"][:, :, :]

NO2_trop[:, :, 0:38, :, :] = NO2
pre_mt = 500
CH2O_avg = np.mean(CH2O, axis=1)
CH2O_mt = np.zeros((len4, len2, len3))
NO2_avg = 1e9 * np.mean(NO2_trop, axis=1)
NO2_mt = np.zeros((len4, len2, len3))
for i in range(len4):
    CH2O_mt[i, :, :] = geos_interpolate(len1, lat, lon, CH2O_avg[i, :, :, :],
                                        ps, pre_mt)
    NO2_mt[i, :, :] = geos_interpolate(len1, lat, lon, NO2_avg[i, :, :, :], ps,
                                       pre_mt)
pre_utls = 300
CH2O_utls = np.zeros((len4, len2, len3))
NO2_utls = np.zeros((len4, len2, len3))
for i in range(len4):
    CH2O_utls[i, :, :] = geos_interpolate(len1, lat, lon, CH2O_avg[i, :, :, :],
                                          ps, pre_utls)
    NO2_utls[i, :, :] = geos_interpolate(len1, lat, lon, NO2_avg[i, :, :, :],
                                         ps, pre_utls)

figure(1, figsize=(14, 7.5))

ax = subplot(231)
Example #3
0
pre_crt = np.array([800, 500, 300])
#pres = np.zeros((len1,len2,len3))
ps = infile00.variables["DAO-FLDS__PS-PBL"][0, :, :]
for i in range(len(exp)):
    infile = Dataset(path + 'geos5_iasio3_0807_' + exp[i] + '/ctm.01.200807' +
                     exp2[i] + '.nc')
    infile2 = Dataset(path + 'geos5_iasio3_0807_' + exp[i] + '/ctm.15.200807' +
                      exp2[i] + '.nc')
    O3_gc[i, 0, :, :, :] = infile.variables["IJ-AVG-S__Ox"][:, :, :]
    O3_gc[i, 1, :, :, :] = infile2.variables["IJ-AVG-S__Ox"][:, :, :]
    for j in range(2):
        for m in range(3):
            pres, O3_crt[i, j, m, :, :] = geos_interpolate(len1,
                                                           lat,
                                                           lon,
                                                           O3_gc[i,
                                                                 j, :, :, :],
                                                           ps,
                                                           pre_crt[m],
                                                           pre_output=True)

O3_avg = np.mean(O3_gc[:, :, :, lat_ini:lat_fin, lon_ini:lon_fin], axis=0)
O3_avg_crt = np.mean(O3_crt[:, :, :, lat_ini:lat_fin, lon_ini:lon_fin], axis=0)
O3_diff_crt = O3_avg_crt[1, :, :, :] - O3_avg_crt[0, :, :, :]
O3_diff_avg = O3_avg[1, :, :, :] - O3_avg[0, :, :, :]
O3_diff_zonal = np.mean(O3_diff_avg, axis=2)
fig = plt.figure(1, figsize=(12, 7.5))
bond = 5
for i in range(3):
    ax = plt.subplot(221 + i)
    m1 = Basemap(lon_0=-90,
                 llcrnrlat=10,
Example #4
0
            spec_in2 = Dataset(path_sf2)
            O3[j, 2 * i, :, :, :] = spec_in.variables["IJ-AVG-S__Ox"][:, :, :]
            O3[j, 2 * i +
               1, :, :, :] = spec_in2.variables["IJ-AVG-S__Ox"][:, :, :]
        else:
            path_ap = path + mondir1 + '/ctm.00.2016' + month + '01.nc'
            path_ap2 = path + mondir2 + '/ctm.00.2016' + month + '16.nc'
            spec_ap = Dataset(path_ap)
            spec_ap2 = Dataset(path_ap2)
            O3[j, 2 * i, :, :, :] = spec_ap.variables["IJ-AVG-S__Ox"][:, :, :]
            O3[j, 2 * i +
               1, :, :, :] = spec_ap2.variables["IJ-AVG-S__Ox"][:, :, :]
        for m in range(3):
            O3_crt[j, 2 * i,
                   m, :, :] = geos_interpolate(len1, lat, lon,
                                               O3[j, 2 * i, :, :, :], ps,
                                               pre_crt[m])
            O3_crt[j, 2 * i + 1,
                   m, :, :] = geos_interpolate(len1, lat, lon,
                                               O3[j, 2 * i + 1, :, :, :], ps,
                                               pre_crt[m])
            #O3_crt_mon[j,i,m,:,:] = np.mean(O3_crt[j,2*i:2*i+2,m,:,:],axis=0)
O3_crt_sea = np.zeros((len4, 4, 5, len2, len3))
O3_crt_sea[:, 0, :, :, :] = (2 * np.mean(O3_crt[:, 0:4, :, :, :], axis=1) +
                             np.mean(O3_crt[:, 22:24, :, :, :], axis=1)) / 3
O3_crt_sea[:, 1, :, :, :] = np.mean(O3_crt[:, 4:10, :, :, :], axis=1)
O3_crt_sea[:, 2, :, :, :] = np.mean(O3_crt[:, 10:16, :, :, :], axis=1)
O3_crt_sea[:, 3, :, :, :] = np.mean(O3_crt[:, 16:22, :, :, :], axis=1)
O3_crt_ts = np.zeros((len4, 24, 5, 3))
O3_crt_ts[:, :, :, 0] = np.mean(np.mean(O3_crt[:, :, :, 4:15, :], axis=3),
                                axis=3)
Example #5
0
O3[1,7,:,:,:] = iasifile24.variables["IJ-AVG-S__Ox"][:,:,:]

O3[2,0,:,:,:] = allfile01.variables["IJ-AVG-S__Ox"][:,:,:]
O3[2,1,:,:,:] = allfile21.variables["IJ-AVG-S__Ox"][:,:,:]
O3[2,2,:,:,:] = allfile02.variables["IJ-AVG-S__Ox"][:,:,:]
O3[2,3,:,:,:] = allfile21.variables["IJ-AVG-S__Ox"][:,:,:]
O3[2,4,:,:,:] = allfile03.variables["IJ-AVG-S__Ox"][:,:,:]
O3[2,5,:,:,:] = allfile23.variables["IJ-AVG-S__Ox"][:,:,:]
O3[2,6,:,:,:] = allfile04.variables["IJ-AVG-S__Ox"][:,:,:]
O3[2,7,:,:,:] = allfile24.variables["IJ-AVG-S__Ox"][:,:,:]

pre_mt = 700
O3_avg = np.mean(O3,axis=1)
O3_mt = np.zeros((len4,len2,len3))
for i in range(len4):
    O3_mt[i,:,:] = geos_interpolate(len1,lat,lon,O3_avg[i,:,:,:],ps,pre_mt)
pre_utls = 900
O3_utls = np.zeros((len4,len2,len3))
for i in range(len4):
    O3_utls[i,:,:] = geos_interpolate(len1,lat,lon,O3_avg[i,:,:,:],ps,pre_utls)

figure(1,figsize=(14,7.5))

ax = subplot(231)

title(r'$O_3$ concentrations CTRL: Jan-April 700 hPa[ppbv]')

plot_data, lon = addcyclic(O3_mt[0,:,:],lon)
#print plot_data[15,15]
m1=Basemap(lon_0=0)
m1.drawcoastlines()