Hot answers tagged

10

I've figured out how to use their web services. It looks like you have to send the token as a header instead of directly in the URL. For example, you can download an add-on to your browser such as postman that allows you to send GET and POST requests to web servers. Then select the option to send a get request to the web server such as https://www....


6

Another idea would be to use pygrib module: import pygrib grbs= pygrib.open("my_file.grb") # use grbs.select to select the grids you are interested in (shortName, typeOfLevel, level=500, marsParam, dataDate, dataTime, ...) DATA=np.array(grbs.select(marsParam=my_param,dataDate=my_date,dataTime=my_time)) # DATA will contain 3 ...


4

According to the documentation, the token must go in the header, not the url: An example using curl: curl -H "token:<token>" url An example using jQuery: $.ajax({ url:<url>, data:{<data>}, headers:{ token:<token> } }) Example url: http://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCND&locationid=ZIP:28801&...


4

From the looks of it, you are getting a python error because the headers argument is expecting a dictionary, not a string The following works for me on the entire date range: import requests url = "http://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCNDMS&locationid=ZIP:28801&startdate=2000-01-01&enddate=2010-01-01" # replace 'myToken' ...


3

The GFS and other forecast models (such as the RAP, HRRR, etc) all "measure" altitude in millibars, and there is no direct correlation between pressure and altitude in feet. Moreover, the forecast is intended to be accurate at that pressure; not at any specific altitude. One reason for this is because atmospheric conditions are dependent upon pressure, but ...


3

The .kap file contains GCP information. If you want gdalinfo to report the extent in real world coordinates, use gdalwarp to reproject the coordinates: gdalwarp -t_srs epsg:4326 11425_3.kap 11425_3.tif Corner Coordinates: Upper Left ( -82.7970104, 27.6144688) ( 82d47'49.24"W, 27d36'52.09"N) Lower Left ( -82.7970104, 27.0521030) ( 82d47'49.24"W, 27d 3' ...


3

I figured out where I went wrong. I forgot to set my limit for the data, so by default the limit was set up to be 25. This was the reason why I was getting data just for the first month. Thanks for your help.


3

I eventually ended up with ditching gribapi and switching to Met Office's Iris Python package which solves my problem in a very elegant way. Although it was a bit of a pain to install it (dependencies could be really tricky) at least the documentation is good and it is really easy to use it.


3

It looks like the problem is that the spatial reference of this map is not the standard Web Mercator, but is 4269. You'll notice if you go to the REST service, it will show up when you click on the ArcGIS JavaScript link, but not the ArcGIS.com link (using a Web Mercator basemap)


2

Use an ftp library example for listing data from ftplib import FTP host = r'ftp.cpc.ncep.noaa.gov/fews/fewsdata/africa/arc2/geotiff' #for example ftp.login("anonymous", "ftplib-example-1") data = [] ftp.dir(data.append) ftp.quit() for line in data: print line


2

Well, after a bit more of search and after forgetting how I even ended up on this page, there is one very helpful (official) filtering page right here on NOAA "website". Combining "levels" with "variables" (all acronyms are described here, also on official NOAA "NCEP Products Inventory" page) I managed to filter the data. Selecting "Show the URL only for ...


2

If you want GFS, you can just download them using a directory based approach (a more RESTful design) instead of the filter approach (which is potentially subject to change). For example, GFS 1x1 for today (2013-10-22) at 1800 can be downloaded from: http://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.2013102218/master/ You can choose which areas you ...


2

You can get daily data at 25km resolution from the NSIDC, here using R. I always prefer to go back to the rawest data possible, and derive my own metrics. It's just a straightforward binary format but not many systems read it with full understanding of the spatial and temporal metadata. The daily files are understanded by raster. ## daily file, 0.3 Mb ...


2

You can translate the first (or any other) band of the grib raster to XYZ format using: gdal_translate -b 1 -of "XYZ" narr-a.gsb narr-a.xyz This gives you the coordinates in the lcc projection used. Then you can load this file as delimited text into QGIS, using field_1 as X and field_2 as Y coordinate, and the following custom CRS (derived from what ...


2

Based in PyGrib Documentation from Arulalan, you can see that: >>>import pygrib >>>grbs = pygrib.open('/home/zeito/Desktop/uv.t12z.grbf01.grib2') #path in my system >>>grb = grbs.select(name='UV index')[0] >>>print grb.data(23.5,55.5) ... a long array of data >>>print grbs.messages >>>g = grbs[1] >>...


2

Navigate to Dataset Discovery The 4 km Advanced Very High Resolution Radiometer (AVHRR) Pathfinder Version 5 sea surface temperature (SST) dataset is a reanalysis of historical AVHRR data that have been improved using extensive calibration, validation and other information to yield a consistent research quality time series for global climate studies. ...


2

I'm afraid this is another broken WFS service. If you look at the output it is sending then (e.g. https://idpgis.ncep.noaa.gov/arcgis/services/NWS_Forecasts_Guidance_Warnings/NHC_Atl_trop_cyclones/MapServer/WFSServer?request=getfeature&service=wfs&typename=AT1_Past_Points) you'll see that it isn't encoding the shape element. <wfs:member> <...


2

url: 'https://nowcoast.noaa.gov/arcgis/services/nowcoast/radar_meteo_imagery_nexrad_time/MapServer/WMSServer', params: {'LAYERS': '1'},


2

You have to be a little careful with GFS data because it can get pretty confusing with the timing (as you have already seen). First, the GFS forecast is initialized 4 times a day (at 00, 06, 12, 18 hours GMT) so you get 4 forecasts per day. Next, GFS forecast interval for an individual forecast is hourly for the first 5 days then goes to 3-hour intervals up ...


2

Taking your example: <LOCATION>_??m : the resolution of the model in (arc)minutes .t??z : the time of the model run at which it was started .f??? : the number of hours after the model was started The locations with corresponding notation can be found here


2

Source grib file is projected in Lambert Conformal Conic projection, with 3000x3000 meters pixels. You are trying to copy the same values in the same rows and columns but in geographic coordinates. That method doesn't warp the information. If you look at the image, it still looks like a LCC projected image. You can extract the 607 band and warp it: from ...


2

On a system with standard linux command-line tools and the jq JSON toolkit, you can do this: jq '.coordinates[]|join(" ")' < ovation_aurora_latest.json \ | sed 's/"//g' \ | sort -n -k 2 -k 1 > ovation.xyz jq extracts the coordinates, sed gets rid of the quotes (might be doable within jq) and sort arranges in increasing numeric Y then ...


2

Running gdalinfo with debugging options reveals the reason for the failure: gdalinfo /vsicurl/https://ftpprd.ncep.noaa.gov/data/nccf/com/hrrr/prod/hrrr.20210505/conus/hrrr.t16z.wrfsfcf01.grib2 --debug on --config CPL_CURL_VERBOSE YES The end of the log: > GET /data/nccf/com/hrrr/prod/hrrr.20210505/conus/hrrr.t16z.wrfsfcf01.grib2 HTTP/1.1 Host: ftpprd....


1

While your raster (NOAA grib file) is showing map in 0-360 domain, Natural Earth is on -180 - + 180. I think you basically have 2 options: Choose 0-360 and modify shapefile............ For this option, see answer to Changing shapefile longitude from -180 - 180 to 0 - 360? by Antonio Falciano. Reproject raster to -180 - +180.................... For this ...


1

the NHC just sent out a tweet and posted a message to the main website http://www.nhc.noaa.gov stating that they are experiencing higher than normal traffic and to please be patient with delays.


1

You could try something like this; Let's start with these formulas: B3: = 180 + A3 * 2 E3: = IF(D3<0, D3+360, D3) F3: = E3 * 2 And copy the formula through each column. Give 36.25 to A5, -78.75 to D11. You will get (252.5) and (562.5). If you test it, say, [252:253][562:563] then it will be directed to http://nomads.ncep.noaa.gov:9090/dods/gfs_0p50/...


1

Use wgrib2. This has a command line switch to get output as csv file. This should be simple like this:- wgrib2 -match "TMAX" -match "800 mb" /path/to/file.grib2 -csv name.csv


1

Here is the answer I got back from NOAA. It's in the form of java code, and the order of parameters has to be inferred, but in case it proves useful to someone else here it is: public static final HTDP NAD83 = new HTDP(0.9910, -1.9072, -0.5129, 0, 0, 0, 1.25033e-7, 0.46785e-7, 0.56529e-7, 0.00258e-7, -0.03599e-7, -0.00153e-7, 0, 0, 1997); public static ...


1

in general you shouldn't need to do anything to get a dynamic map service layer to reproject and draw correctly on top of a basemap in a different projection. something is wrong with this map service that is keeping it from generating dynamic images in wkid:102100. the request below is proof that the service can interpret a Web Mercator bounding box and ...


1

In case anyone's trying to do this with PowerShell, here's an example: $postparms =@{token="KkZJFCuahOZOxJFPaThisIsntAToken"} Invoke-Restmethod -uri http://www.ncdc.noaa.gov/cdo-web/api/v2/datasets -headers $postparms


Only top voted, non community-wiki answers of a minimum length are eligible