Embed current date into URL (matlab)
9 次查看(过去 30 天)
显示 更早的评论
I want to download a file from the following link: https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p25_1hr.pl?file=gfs.t06z.pgrb2.0p25.f039&lev_surface=on&var_CAPE=on&leftlon=0&rightlon=360&toplat=90&bottomlat=-90&dir=%2Fgfs.2019060206
How can I embded the current date, run time and forecast hour in the URL after predefining them? I have tried the following but it doesn't work:
myrun = 00; % 00 06 12 18
mydate = 20190603; % yearmonthday
myforecasthour = 039; % t + number of hours ahead
fullURL=['https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p25_1hr.pl?file=gfs.t',num2str(myrun,'%02.f'),'z.pgrb2.0p25.f',num2str(myforecasthour,'%03.f'),'&lev_surface=on&var_CAPE=on&leftlon=0&rightlon=360&toplat=90&bottomlat=-90&dir=%2Fgfs.',num2str(mydate)'];
filename = 'cape_test';
urlwrite(fullURL,filename);
1 个评论
Walter Roberson
2024-11-12,3:52
移动:Walter Roberson
2024-11-12,3:52
The above code, as-posted, fails with "Dimensions of arrays being concatenated are not consistent.". That is because you have
fullURL=[STUFF,num2str(mydate)']
The trailing ' transposes the num2str() result, generating a column vector. You do not want that trailing ' there.
回答(1 个)
Udit06
2024-11-12,3:18
移动:Walter Roberson
2024-11-12,3:53
Hi Yoni,
If I run the code that you have given, I am getting the error as shown below:
myrun = 00; % 00 06 12 18
mydate = 20190603; % yearmonthday
myforecasthour = 039; % t + number of hours ahead
fullURL=['https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p25_1hr.pl?file=gfs.t',num2str(myrun,'%02.f'),'z.pgrb2.0p25.f',num2str(myforecasthour,'%03.f'),'&lev_surface=on&var_CAPE=on&leftlon=0&rightlon=360&toplat=90&bottomlat=-90&dir=%2Fgfs.',num2str(mydate)'];
Since the variables myrun, mydate, myforecasthour are of integer type. You can replace %f with %d which will also allow you to add leading zeros.
fullURL = ['https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p25_1hr.pl?', ...
'file=gfs.t', num2str(myrun, '%02d'), 'z.pgrb2.0p25.f', num2str(myforecasthour, '%03d'), ...
'&lev_surface=on&var_CAPE=on&leftlon=0&rightlon=360&toplat=90&bottomlat=-90&dir=%2Fgfs.', num2str(mydate)]
I hope this helps.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!