NCEP Reanalysis¶
The NCEP/NCAR Reanalysis can be downloaded from NOAA via FTP. More information on the data and vriables can be found at https://psl.noaa.gov/data/gridded/data.ncep.reanalysis.html.
Download data
[1]:
from pansat.products.reanalysis.ncep import NCEPReanalysis
[2]:
# create product instance
ncep = NCEPReanalysis('rhum', 'pressure')
files = ncep.download(2015,2017)
Please enter your pansat user password:
········
The names of the files for each year are saved in files.
Plot data
[3]:
files=['NCEP/ncep.reanalysis-pressure/rhum.2015.nc']
[4]:
# open file
ncep_rhum = ncep.open(files[0])
[5]:
ncep_rhum
[5]:
<xarray.Dataset>
Dimensions: (lat: 73, level: 8, lon: 144, time: 1460)
Coordinates:
* level (level) float32 1000.0 925.0 850.0 700.0 600.0 500.0 400.0 300.0
* lat (lat) float32 90.0 87.5 85.0 82.5 80.0 ... -82.5 -85.0 -87.5 -90.0
* lon (lon) float32 0.0 2.5 5.0 7.5 10.0 ... 350.0 352.5 355.0 357.5
* time (time) datetime64[ns] 2015-01-01 ... 2015-12-31T18:00:00
Data variables:
rhum (time, level, lat, lon) float32 ...
Attributes:
Conventions: COARDS
title: 4x daily NCEP reanalysis (2014)
history: created 2013/12 by Hoop (netCDF2.3)
description: Data is from NCEP initialized reanalysis\n(4x/day). It c...
platform: Model
dataset_title: NCEP-NCAR Reanalysis 1
References: http://www.psl.noaa.gov/data/gridded/data.ncep.reanalysis...xarray.Dataset
- lat: 73
- level: 8
- lon: 144
- time: 1460
- level(level)float321000.0 925.0 850.0 ... 400.0 300.0
- units :
- millibar
- actual_range :
- [1000. 300.]
- long_name :
- Level
- positive :
- down
- GRIB_id :
- 100
- GRIB_name :
- hPa
- axis :
- Z
array([1000., 925., 850., 700., 600., 500., 400., 300.], dtype=float32)
- lat(lat)float3290.0 87.5 85.0 ... -87.5 -90.0
- units :
- degrees_north
- actual_range :
- [ 90. -90.]
- long_name :
- Latitude
- standard_name :
- latitude
- axis :
- Y
array([ 90. , 87.5, 85. , 82.5, 80. , 77.5, 75. , 72.5, 70. , 67.5, 65. , 62.5, 60. , 57.5, 55. , 52.5, 50. , 47.5, 45. , 42.5, 40. , 37.5, 35. , 32.5, 30. , 27.5, 25. , 22.5, 20. , 17.5, 15. , 12.5, 10. , 7.5, 5. , 2.5, 0. , -2.5, -5. , -7.5, -10. , -12.5, -15. , -17.5, -20. , -22.5, -25. , -27.5, -30. , -32.5, -35. , -37.5, -40. , -42.5, -45. , -47.5, -50. , -52.5, -55. , -57.5, -60. , -62.5, -65. , -67.5, -70. , -72.5, -75. , -77.5, -80. , -82.5, -85. , -87.5, -90. ], dtype=float32) - lon(lon)float320.0 2.5 5.0 ... 352.5 355.0 357.5
- units :
- degrees_east
- long_name :
- Longitude
- actual_range :
- [ 0. 357.5]
- standard_name :
- longitude
- axis :
- X
array([ 0. , 2.5, 5. , 7.5, 10. , 12.5, 15. , 17.5, 20. , 22.5, 25. , 27.5, 30. , 32.5, 35. , 37.5, 40. , 42.5, 45. , 47.5, 50. , 52.5, 55. , 57.5, 60. , 62.5, 65. , 67.5, 70. , 72.5, 75. , 77.5, 80. , 82.5, 85. , 87.5, 90. , 92.5, 95. , 97.5, 100. , 102.5, 105. , 107.5, 110. , 112.5, 115. , 117.5, 120. , 122.5, 125. , 127.5, 130. , 132.5, 135. , 137.5, 140. , 142.5, 145. , 147.5, 150. , 152.5, 155. , 157.5, 160. , 162.5, 165. , 167.5, 170. , 172.5, 175. , 177.5, 180. , 182.5, 185. , 187.5, 190. , 192.5, 195. , 197.5, 200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5, 225. , 227.5, 230. , 232.5, 235. , 237.5, 240. , 242.5, 245. , 247.5, 250. , 252.5, 255. , 257.5, 260. , 262.5, 265. , 267.5, 270. , 272.5, 275. , 277.5, 280. , 282.5, 285. , 287.5, 290. , 292.5, 295. , 297.5, 300. , 302.5, 305. , 307.5, 310. , 312.5, 315. , 317.5, 320. , 322.5, 325. , 327.5, 330. , 332.5, 335. , 337.5, 340. , 342.5, 345. , 347.5, 350. , 352.5, 355. , 357.5], dtype=float32) - time(time)datetime64[ns]2015-01-01 ... 2015-12-31T18:00:00
- long_name :
- Time
- delta_t :
- 0000-00-00 06:00:00
- standard_name :
- time
- axis :
- T
- actual_range :
- [1884648. 1893402.]
array(['2015-01-01T00:00:00.000000000', '2015-01-01T06:00:00.000000000', '2015-01-01T12:00:00.000000000', ..., '2015-12-31T06:00:00.000000000', '2015-12-31T12:00:00.000000000', '2015-12-31T18:00:00.000000000'], dtype='datetime64[ns]')
- rhum(time, level, lat, lon)float32...
- long_name :
- 4xDaily relative humidity
- units :
- %
- precision :
- 2
- GRIB_id :
- 52
- GRIB_name :
- RH
- var_desc :
- Relative humidity
- level_desc :
- Multiple levels
- statistic :
- Individual Obs
- parent_stat :
- Other
- valid_range :
- [-25. 125.]
- dataset :
- NCEP Reanalysis
- actual_range :
- [ 0. 100.]
[122780160 values with dtype=float32]
- Conventions :
- COARDS
- title :
- 4x daily NCEP reanalysis (2014)
- history :
- created 2013/12 by Hoop (netCDF2.3)
- description :
- Data is from NCEP initialized reanalysis (4x/day). It consists of most variables interpolated to pressure surfaces from model (sigma) surfaces.
- platform :
- Model
- dataset_title :
- NCEP-NCAR Reanalysis 1
- References :
- http://www.psl.noaa.gov/data/gridded/data.ncep.reanalysis.html
[6]:
# plot snapshot at surface from 6 hourly data
ncep_rhum['rhum'][0,0,:,:].plot.pcolormesh()
[6]:
<matplotlib.collections.QuadMesh at 0x7faba104b2e8>
[7]:
# plot annual mean
rhum = ncep_rhum['rhum'][:,0]
rhum.mean('time').plot.pcolormesh()
[7]:
<matplotlib.collections.QuadMesh at 0x7faba0f20828>