Valid Commands
-f = Final Forecast Hour. Default=240.
-cr = Clear Recycle Bin (Default=False).
For users who want to ensure old files are completely deleted when automating data retrieval set -cr True. Setting -cr True clears your recycle bin with each run of the script. This ensures if any old files are moved to the recycle bin are deleted if they are not already.
-cd = Clear Data (Default=False).
When set to False the scanner safeguard that prevents repetative downloads is enabled. Set -cd False to disable this safety feature.
WARNING: When this feature is disabled and the user submits too many requests in a short period of time the user risks being rate-limited by the data server. If the user gets rate-limited, the user should wait approximately 5-10 minutes and retry downloading the data.
-cdir = Custom Directory (Default=None).
If the user wishes to build their own directory to hold the data files set -cd directory_branch_path.
-ct = Convert Temperature (Default=True).
When set to True any temperature fields are converted from Kelvin to either Celsius or Fahrenheit.
-tu = Temperature Units (Default=Celsius).
When -ct True this is where you declare the units for temperature to be converted to.
-wb = Western Bound - The western bound for subsetting the data range is from -180 to 180 degrees longitude. (Default=-180)
-eb = Eastern Bound - The eastern bound for subsetting the data range is from -180 to 180 degrees longitude. (Default=180)
-nb = Northern Bound - The northern bound for subsetting the data range is from -90 to 90 degrees latitude. (Default=90)
-sb = Southern Bound - The southern bound for subsetting the data range is from -90 to 90 degrees latitude. (Default=-90)
-v = Variable. Variable to pass into the function.
Default=’geopotential_height’
Variables & Proper level_type & level
Any area where valid_levels = None -> Users do not need to edit the optional argument level
'absolute vorticity':
valid level type(s): 'pressure'
valid levels:
level_type='pressure' (hPa): 850, 700, 500, 250, 200
'temperature':
valid level type(s) = 'pressure', 'height above ground'.
valid levels:
level_type='pressure' (hPa): 1015, 1000, 985, 975, 950, 925, 900, 875, 850, 800, 750, 700, 650, 600, 550, 500, 450, 400,
350, 300, 275, 250, 225, 200, 175, 150, 100, 50, 30, 20, 10, 5, 1.
level_type='height above ground' (m): 2, 40, 80, 120
'albedo':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'cape':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'cin':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'cloud water':
valid level type(s): 'entire atmosphere'
valid levels: None (level_type='entire atmosphere' -> 'entire atmosphere' is the only level)
'total convective precipitation':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'dew point depression':
valid level type(s) = 'pressure', 'height above ground'.
valid levels:
level_type='pressure' (hPa): 1015, 1000, 985, 975, 950, 925, 900, 875, 850, 800, 750, 700, 650, 600, 550, 500, 450, 400,
350, 300, 275, 250, 225, 200, 175, 150, 100, 50, 30, 20, 10, 5, 1.
level_type='height above ground' (m): 2
'dew point':
valid level type(s) = 'height above ground'.
valid levels:
level_type='height above ground' (m): 2
'downward longwave radiation flux':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'downward shortwave radiation flux':
valid level type(s): 'surface', 'nominal top'
valid levels: None (level_type='surface' -> 'surface' is the only level)
OR
(level_type='nominal top' -> 'nominal top' is the only level)
'freezing rain accumulation 12hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'freezing rain accumulation 1hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'freezing rain accumulation 24hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'freezing rain accumulation 3hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'freezing rain accumulation 6hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'freezing rain accumulation total':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'geopotential height':
valid level type(s) = 'pressure', 'surface'.
valid levels:
level_type='pressure' (hPa): 1015, 1000, 985, 975, 950, 925, 900, 875, 850, 800, 750, 700, 650, 600, 550, 500, 450, 400,
350, 300, 275, 250, 225, 200, 175, 150, 100, 50, 30, 20, 10, 5, 1.
level_type='surface' (surface elevation): None (level_type='surface' -> 'surface' is the only level)
'humidex':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'ice pellets accumulation 12hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'ice pellets accumulation 1hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'ice pellets accumulation 24hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'ice pellets accumulation 3hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'ice pellets accumulation 6hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'ice pellets accumulation total':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'k index':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'land water proportion':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'latent heat net flux'
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'lifted index'
valid level type(s) = 'pressure'.
valid levels:
level_type='pressure' (hPa): 500.
'maximum wind gust':
valid level type(s) = 'height above ground'.
valid levels:
level_type='height above ground' (m): 10
'minimum wind gust':
valid level type(s) = 'height above ground'.
valid levels:
level_type='height above ground' (m): 10
'net longwave radiation flux':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'net shortwave radiation flux'
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'ozone mixing ratio':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'ozone':
valid level type(s): 'entire atmosphere'
valid levels: None (level_type='entire atmosphere' -> 'entire atmosphere' is the only level)
'boundary layer height':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'precipitation type':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'pressure':
valid level type(s): 'mean sea level', 'potential vorticity surface', 'surface'
valid_levels:
level_type='mean sea level': None (level_type='mean sea level' -> 'mean sea level' is the only level)
level_type='potential vorticity surface' (PVU): 1, 1.5, 2
level_type='surface': None (level_type='surface' -> 'surface' is the only level)
'radiative temperature':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'rain accumulation 12hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'rain accumulation 1hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'rain accumulation 24hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'rain accumulation 3hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'rain accumulation 6hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'rain accumulation total':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'relative humidity':
valid level type(s) = 'pressure', 'height above ground'.
valid levels:
level_type='pressure' (hPa): 1015, 1000, 985, 975, 950, 925, 900, 875, 850, 800, 750, 700, 650, 600, 550, 500, 450, 400,
350, 300, 275, 250, 225, 200, 175, 150, 100, 50, 30, 20, 10, 5, 1.
level_type='height above ground' (m): 2
'relative vorticity':
valid level type(s): 'pressure'
valid levels:
level_type='pressure' (hPa): 850, 700, 500, 250, 200
'surface runoff':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'sea ice fraction'
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'sea surface temperature'
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'sensible heat net flux'
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'showalter index':
valid level type(s) = 'pressure'.
valid levels:
level_type='pressure' (hPa): 500.
'snow accumulation 12hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'snow accumulation 1hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'snow accumulation 24hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'snow accumulation 3hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'snow accumulation 6hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'snow accumulation total':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'snow density':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'snow depth':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'soil temperature':
valid level type(s): 'surface', 'depth below surface'.
valid_levels:
level_type='depth below surface' (cm):
layers=[0, 10] -> 0cm to 10cm below the surface.
level_type='surface': None (level_type='surface' -> 'surface' is the only level)
'soil volumetric ice content':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'soil volumetric water content'
valid level type(s): 'depth below surface'.
valid_levels:
level_type='depth below surface' (cm):
layers=[0, 10] -> 0cm to 10cm below the surface.
layers=[0, 1] -> 0cm to 1cm below the surface.
'specific humidity':
valid level type(s) = 'pressure', 'height above ground'.
valid levels:
level_type='pressure' (hPa): 1015, 1000, 985, 975, 950, 925, 900, 875, 850, 800, 750, 700, 650, 600, 550, 500, 450, 400,
350, 300, 275, 250, 225, 200, 175, 150, 100, 50, 30, 20, 10, 5, 1.
level_type='height above ground' (m): 2, 40, 80, 120
'thickness':
valid level type(s): 'pressure layer'.
valid_levels:
level_type='pressure layer' (hPa):
layers=[1000, 500] -> 1000mb to 500mb layer.
layers=[850, 700] -> 850mb to 700mb layer.
layers=[1000, 850] -> 1000mb to 850mb layer.
'total cloud cover':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'total precitation 12hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'total precitation 1hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'total precitation 24hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'total precitation 3hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'total precitation 6hr':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'total precitation total':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'total totals index':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'uv index (clear sky)':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'uv index':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'upward longwave radiation flux':
valid level type(s): 'nominal top'
valid levels: None (level_type='nominal top' -> 'nominal top' is the only level)
'vertical velocity':
valid level type(s): 'pressure'
valid levels:
level_type='pressure' (hPa): 850, 700, 500, 250, 200
'wind chill':
valid level type(s): 'surface'
valid levels: None (level_type='surface' -> 'surface' is the only level)
'wind direction':
valid level type(s) = 'pressure', 'height above ground'.
valid levels:
level_type='pressure' (hPa): 1015, 1000, 985, 975, 950, 925, 900, 875, 850, 800, 750, 700, 650, 600, 550, 500, 450, 400,
350, 300, 275, 250, 225, 200, 175, 150, 100, 50, 30, 20, 10, 5, 1.
level_type='height above ground' (m): 10, 40, 80, 120
'wind gust':
valid level type(s) = 'height above ground'.
valid levels:
level_type='height above ground' (m): 10
'wind speed':
valid level type(s) = 'pressure', 'height above ground'.
valid levels:
level_type='pressure' (hPa): 1015, 1000, 985, 975, 950, 925, 900, 875, 850, 800, 750, 700, 650, 600, 550, 500, 450, 400,
350, 300, 275, 250, 225, 200, 175, 150, 100, 50, 30, 20, 10, 5, 1.
level_type='height above ground' (m): 10, 40, 80, 120
'u-component of wind':
valid level type(s) = 'pressure', 'height above ground'.
valid levels:
level_type='pressure' (hPa): 1015, 1000, 985, 975, 950, 925, 900, 875, 850, 800, 750, 700, 650, 600, 550, 500, 450, 400,
350, 300, 275, 250, 225, 200, 175, 150, 100, 50, 30, 20, 10, 5, 1.
level_type='height above ground' (m): 10, 40, 80, 120
'v-component of wind':
valid level type(s) = 'pressure', 'height above ground'.
valid levels:
level_type='pressure' (hPa): 1015, 1000, 985, 975, 950, 925, 900, 875, 850, 800, 750, 700, 650, 600, 550, 500, 450, 400,
350, 300, 275, 250, 225, 200, 175, 150, 100, 50, 30, 20, 10, 5, 1.
level_type='height above ground' (m): 10, 40, 80, 120
-l = Level. The pressure level in hPa or height above ground in meters.
Default=500 hPa
-la = Layer. Default=[1000, 500].
For level types that correspond to a layer (i.e. 'pressure layer' & 'depth below surface')
here is where you define the layer. Layers are in the following format for each level_type:
level_type=’pressure layer’: -> layer=[lower level, upper level] (i.e. layer=[1000, 500] for 1000mb to 500mb layer).
level_type=’depth below surface’: -> layer=[upper level, lower level] (i.e. layer=[0, 10] for 0cm to 10cm below the surface).
-lt = Level Type. Type of level (i.e. pressure, height above ground etc.).
Default=’pressure’.
Level Types
‘pressure’
‘height_above_ground’
‘potential_vorticity_surface’
‘pressure_layer’
‘depth_below_surface’
‘surface’
‘mean_sea_level’
‘nominal_top’
‘entire_atmosphere’
–process This flag when set to True will process the data in addition to downloading the data. (Default=True)
–proxy = Proxy Server (Default=None).
Client assumes user is not trying to download data through a proxy server.
If you are using a proxy server you can define it by using --proxy https://proxy-server-address:proxy-server-port
–netcdf = Converts GRIB data into netCDF4 and saves a netCDF (.nc) file. (Default=False). Set to True to create netCDF files.
Additional Relevant Flags when –netcdf True
–ncdir = Defines the local directory where the netCDF (.nc) file saves to. (Default=GDPS/NETCDF).
–ncfname = Defines the filename for the netCDF (.nc) file. (Default=gdps.nc)
Complex Example
1) Download the latest GDPS for 2-meter temperature
https://proxy-server-address:proxy-server-port2) Subset the data to reflect CONUS [-130, -65, 50, 20] = [west, east, north, south]
3) Create a netCDF (.nc) file of the data called gdps_t2m.nc saved at Weather_Data/GDPS/NETCDF.
Linux Shell:
# Define our coordinates so we don't pass in negative numbers into the command
western_bound=-130
eastern_bound=-65
northern_bound=50
southern_bound=20
wxdata-gdps fetch latest -lt height_above_ground -l 2 -v temperature \
-wb=$western_bound -eb=$eastern_bound -nb=$northern_bound -sb=$southern_bound \
--netcdf True --ncdir Weather_Data/GDPS/NETCDF --ncfname gdps_t2m.nc \
--proxy https://proxy-server-address:proxy-server-port
Windows Powershell:
# Define our coordinates so we don't pass in negative numbers into the command
$WESTERN_BOUND=-130
$EASTERN_BOUND=-65
$NORTHERN_BOUND=50
$SOUTHERN_BOUND=20
wxdata-gdps fetch latest -lt height_above_ground -l 2 -v temperature `
-wb=$WESTERN_BOUND -eb=$EASTERN_BOUND -nb=$NORTHERN_BOUND -sb=$SOUTHERN_BOUND `
--netcdf True --ncdir Weather_Data/GDPS/NETCDF --ncfname gdps_t2m.nc `
--proxy https://proxy-server-address:proxy-server-port