How to get daily temperatures of past 30 years for a given location from NOAA online database
    6 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Behrooz Daneshian
 il 26 Dic 2022
  
    
    
    
    
    Commentato: the cyclist
      
      
 il 20 Gen 2023
            Hi all and Merry Christmas.
I want to download average daily temperatures of the past 30 years for a given location from NOAA database. I am given a base URL as below:
and also I received a token from NOAA website that I need to use that to access the data. According to the NOAA instructions, assigned token is required to use these queries and must be in the header. Can anyone tell me how to set the token in the header? This is the first time I want to do that.(please visit the below link for further infirmation)  
5 Commenti
  the cyclist
      
      
 il 20 Gen 2023
				This problem was already solved, but I wanted to add some info I stumbled across later. I learned about a site/utility that will convert curl commands to MATLAB (and many other languages).
For clarity, I am talking about cURL, the library and unix command line tool for transferring data over a network -- not the mathematical curl operator.
Risposta accettata
  the cyclist
      
      
 il 26 Dic 2022
        myToken = 'PUT_YOUR_TOKEN_BETWEEN_THESE_QUOTES';
myURL = 'https://www.ncei.noaa.gov/cdo-web/api/v2/locations/FIPS:37';
opt = weboptions('KeyName','token','KeyValue',myToken);
data = webread(myURL,opt);
15 Commenti
Più risposte (1)
  the cyclist
      
      
 il 26 Dic 2022
        
      Modificato: the cyclist
      
      
 il 26 Dic 2022
  
      Here is an example that worked for me (using my own token, of course).
myToken = 'PUT_YOUR_TOKEN_BETWEEN_THESE_QUOTES';
myURL = 'https://www.ncei.noaa.gov/cdo-web/api/v2/locations/FIPS:37';
cmdString = ['curl -H ''token:',myToken,''' ''',myURL,''''];
[status, curlOutput] = system(cmdString)
The trickiest part is actually constructing the string to send out to the system, because the string itself has quotes in it. There is probably a more elegant way, or even a MATLAB function that will do this more directly, but I know this solution works. 
7 Commenti
  the cyclist
      
      
 il 26 Dic 2022
				
      Modificato: the cyclist
      
      
 il 26 Dic 2022
  
			@Image Analyst, "curl" is unix utility for pulling URL info. (Some web searching suggests that it is, in fact, shipped with Windows. But, I can't really help there.) Given the error that @Behrooz Daneshian reported directly from the command line, I'm guessing we're not going to get that to work via MATLAB.
  the cyclist
      
      
 il 26 Dic 2022
				Just after I posted the above comment, I figured out (well, found out) how to do this. See my other answer.
Vedere anche
Categorie
				Scopri di più su Weather and Atmospheric Science in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!