aws s3 ls s3://era5-pds/ --no-sign-request
命令来查询数据库中的内容# load necessary libraries
import numpy as np
import xarray as xr
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import matplotlib.pyplot as plt
from nmc_met_io.retrieve_aws_server import retrieve_era5
# set time parameters
year = 1987
month = 12
datestart = '1987-12-02'
dateend = '1987-12-02 23:59'
# load data from AWS ERA5 S3 buckets
varname = 'air_pressure_at_mean_sea_level'
mslp = retrieve_era5(varname, year, month, datestart, dateend)
varname = 'air_temperature_at_2_metres'
airt = retrieve_era5(varname, year, month, datestart, dateend)
varname = 'precipitation_amount_1hour_Accumulation'
precip = retrieve_era5(varname, year, month, datestart, dateend)
%%time
# pre-process the data
precip_data = precip.precipitation_amount_1hour_Accumulation[12,:,:].values
mslp_data = mslp.air_pressure_at_mean_sea_level[12,:,:].values
mslp_data = mslp_data * 0.01 # Pa to hPa
airt_data = airt.air_temperature_at_2_metres[12,:,:].values
airt_data = (airt_data - 273.15) * 9/5 + 32.0 # K to F
# get longitude and latitude coordinates
lat = mslp.lat.values
lon = mslp.lon.values
lons, lats = np.meshgrid(lon, lat)
ERROR:asyncio:Unclosed connection client_connection: Connection<ConnectionKey(host='era5-pds.s3.amazonaws.com', port=443, is_ssl=True, ssl=None, proxy=None, proxy_auth=None, proxy_headers_hash=None)> ERROR:asyncio:Unclosed connection client_connection: Connection<ConnectionKey(host='era5-pds.s3.amazonaws.com', port=443, is_ssl=True, ssl=None, proxy=None, proxy_auth=None, proxy_headers_hash=None)> ERROR:asyncio:Unclosed connection client_connection: Connection<ConnectionKey(host='era5-pds.s3.amazonaws.com', port=443, is_ssl=True, ssl=None, proxy=None, proxy_auth=None, proxy_headers_hash=None)>
CPU times: user 29.6 s, sys: 4.04 s, total: 33.7 s Wall time: 18min 40s
mslp.sel(time0='1987-12-31T22:00:00')
<xarray.Dataset> Dimensions: (lat: 721, lon: 1440) Coordinates: * lat (lat) float32 90.0 89.75 ... -89.75 -90.0 * lon (lon) float32 0.0 0.25 0.5 ... 359.5 359.8 time0 datetime64[ns] 1987-12-31T22:00:00 Data variables: air_pressure_at_mean_sea_level (lat, lon) float32 dask.array<chunksize=(150, 150), meta=np.ndarray> Attributes: institution: ECMWF source: Reanalysis tilte: ERA5 forecasts
array([ 90. , 89.75, 89.5 , ..., -89.5 , -89.75, -90. ], dtype=float32)
array([0.0000e+00, 2.5000e-01, 5.0000e-01, ..., 3.5925e+02, 3.5950e+02, 3.5975e+02], dtype=float32)
array('1987-12-31T22:00:00.000000000', dtype='datetime64[ns]')
|