nlon = np.size(lon) land_mask1 = fs.variables['land_mask'][:] fs.close() land_mask = land_mask1.copy() if not land: land_mask[:, :] = 1 region_mask = -np.ones((nlat, nlon)) region_mask_obs = -np.ones((nlat, nlon)) latt, lont, land_mask_obs = pp.grid_for_map(lat, lon, land_mask) for regi in range(nregion): (latlim, lonlim) = grid.get_region_lim(region[regi], lonmax=360) nlim = np.shape(latlim)[0] for i in range(nlim): mask = grid.regionMask(lat, lon, latlim[i], lonlim[i]) region_mask[np.where(mask == 1)] = regi + 1 (latlim, lonlim) = grid.get_region_lim(region[regi], lonmax=180) nlim = np.shape(latlim)[0] for i in range(nlim): mask = grid.regionMask(latt, lont, latlim[i], lonlim[i]) region_mask_obs[np.where(mask == 1)] = regi + 1 region_mask[np.where(land_mask < 0.3)] = -1 region_mask_obs[np.where(land_mask_obs < 0.3)] = -1 m = Basemap(projection='mill',\ fix_aspect=True,\ llcrnrlat=-90,urcrnrlat=90,llcrnrlon=-180,urcrnrlon=180) #m = Basemap(projection='npstere',boundinglat=90,lon_0=-90,round=True)
#%% dhmp = hm[:,2:,:,:]-hm[:,:-2,:,:] dp = pfullm[:,2:,:,:]-pfullm[:,:-2,:,:] dhmdp[:,1:-1,:,:] = dhmp/dp #dhmdp[:,0,:,:] = dhmdp[:,1,:,:] #dhmdp[:,-1,:,:] = dhmdp[:,-2,:,:] wdh = np.sum(wm*dhmdp*dpm,1)/GRAV region_mask = np.zeros((nlat,nlon)) latlim = [[-18,-5]] lonlim = [[294,320]] latlim = [[10,20],[10,20]] lonlim = [[0,40],[342,360]] nlim = np.shape(latlim)[0] for i in range(nlim): mask = grid.regionMask(lat,lon,latlim[i],lonlim[i]) region_mask[np.where(mask==1)] = 1 area.shape = ((1,nlat,nlon)) region_mask.shape = ((1,nlat,nlon)) net_rm = net*area*region_mask net_rm = np.sum(np.sum(net_rm,-1),-1)/np.sum(area*region_mask) Totdiv_rm = Totdiv*area*region_mask Totdiv_rm = np.sum(np.sum(Totdiv_rm,-1),-1)/np.sum(area*region_mask) vertdiv_rm = vertdiv*area*region_mask vertdiv_rm = np.sum(np.sum(vertdiv_rm,-1),-1)/np.sum(area*region_mask) MCdiv_rm = MCdiv*area*region_mask MCdiv_rm = np.sum(np.sum(MCdiv_rm,-1),-1)/np.sum(area*region_mask) Trdiv_rm = Trdiv*area*region_mask Trdiv_rm = np.sum(np.sum(Trdiv_rm,-1),-1)/np.sum(area*region_mask) uvdh_rm = uvdh*area*region_mask uvdh_rm = np.sum(np.sum(uvdh_rm,-1),-1)/np.sum(area*region_mask)