lonlatproj = Proj('+init=' + proj_wgs84) """ WRF data """ readDir = '/scratch/projects/EERA-SP3/data/WRF' readName = "wrfout_d01_2015-07-01_00:00:00" data = Dataset(readDir + '/' + readName, "r", format="NETCDF4") dimlist = list(data.dimensions) varlist = list(data.variables) time = data.variables['Times'][:6] time.tobytes().decode("utf-8") XLONG = data.variables['XLONG'][0] XLAT = data.variables['XLAT'][0] X, Y = funcs.lonlat2cts(XLONG, XLAT) # this is for scalar # interpolate to u position for only interval points (without the leftmost and rightmost points) XU = (x[:, :-1] + x[:, 1:]) / 2 YU = (y[:, :-1] + y[:, 1:]) / 2 # interpolate to v position for only interval points (without the southmost and northmost points) XV = (x[:-1, :] + x[1:, :]) / 2 YV = (y[:-1, :] + y[1:, :]) / 2 Z = list(np.arange(0,25,10)) + [29,33] + list(np.arange(35,55,8)) + list(np.arange(60,250,15)) + \ list(np.arange(300,400,50)) + list(np.arange(450,1000,100)) + list(np.arange(1300,3500,500)) + \ list(np.arange(4000,18000,1500)) Z = np.array(Z) #U = data.variables['U'][0:13,:,:,1:-1] #V = data.variables['V'][0:13,:,1:-1,:] #TH2 = data.variables['TH2'][0:13,:,:]
import sys sys.path.append('/scratch/ppcode/') import funcs # FINO1 position lon = funcs.hms2std(6,35,15.58) lat = funcs.hms2std(54,0,53.94) x, y = funcs.lonlat2cts(lon, lat) print(x,y) # av11 position lon = funcs.hms2std(6,36,26.970) lat = funcs.hms2std(54,0,1.218) x11, y11 = funcs.lonlat2cts(lon, lat) # av12 position lon = funcs.hms2std(6,37,11.412) lat = funcs.hms2std(54,0,1.23) x12, y12 = funcs.lonlat2cts(lon, lat) # coordinates of Alpha Ventus lons = [(6,35,36.592), (6,36,22.836), (6,37,6.030), \ (6,37,37.834), (6,36,24.220), (6,37,7.866), \ (6,35,38.970), (6,36,25.569), (6,37,9.546), \ (6,35,40.158), (6,36,26.970), (6,37,11.412)] lats = [(54,1,17.976), (54,1,18.066), (54,1,18.050), \ (54,0,51.569), (54,0,51.581), (54,0,51.570), \ (54,0,27.018), (54,0,27.012), (54,0,26.994), \ (54,0,1.212), (54,0,1.218), (54,0,1.230)]
readName = "wrfout_d01_2015-08-12_19:40:00" data = Dataset(readDir + '/' + readName, "r", format="NETCDF4") attr = lambda a: getattr(data, a) #attr('TRUELAT1') dimlist = list(data.dimensions) varlist = list(data.variables) time = data.variables['Times'][:] time.tobytes().decode("utf-8") XLONG = data.variables['XLONG'][:] XLAT = data.variables['XLAT'][:] x, y = funcs.lonlat2cts(XLONG, XLAT) # lon and lat of center point CENT_LONG = XLONG[:, XLONG.shape[1] // 2, XLONG.shape[2] // 2].mean() CENT_LAT = XLAT[:, XLAT.shape[1] // 2, XLAT.shape[2] // 2].mean() # palm coordinates of center point cent_x, cent_y = transform(lonlatproj, inproj, CENT_LONG, CENT_LAT) HGT = data.variables['HGT'][:] U = data.variables['U'][:] V = data.variables['V'][:] T = data.variables['T'][:] U10 = data.variables['U10'][:]
readName = "wrfout_d03_2017-10-14_06:00:00" data = Dataset(readDir + '/' + readName, "r", format="NETCDF4") attr = lambda a: getattr(data, a) #attr('TRUELAT1') dimlist = list(data.dimensions) varlist = list(data.variables) time = data.variables['Times'][:] time.tobytes().decode("utf-8") XLONG = data.variables['XLONG'][:] XLAT = data.variables['XLAT'][:] x, y = funcs.lonlat2cts(XLONG, XLAT) XLONG_U = data.variables['XLONG_U'][:] XLAT_U = data.variables['XLAT_U'][:] x_U, y_U = funcs.lonlat2cts(XLONG_U, XLAT_U) XLONG_V = data.variables['XLONG_V'][:] XLAT_V = data.variables['XLAT_V'][:] x_V, y_V = funcs.lonlat2cts(XLONG_V, XLAT_V) ETAW = data.variables['ZNW'][:] ETA = data.variables['ZNU'][:] # surface dry air colomn MU = data.variables['MU'][:] + data.variables['MUB'][:]