Есть Toolbox в том числе для чтения этих данных:
https://pvpmc.sandia.gov/applications/pv_lib-toolbox/
там вариант для Matlab (
https://pvpmc.sandia.gov/PVLIB_Matlab_H ... _help.html )
и Python, скачать можно после регистрации
и можно смеяться , но у меня все еще качается, идет сейчас 1981 год, и объем уже 12 Гб
интерес уже спортивный - скачаю или раньше свет мигнет
а вот хорошая расшифровка собственно строки данных :
% create data structure
dat(nobs,1)=struct('len',0, ... % length of variable portion of line
'catno','XXXXXX',... % AF Catalog Station Number
'wban','XXXXX',... % WBAN number
'date','YYYYMMDD',... % Date
'time','HHMM',... % Time
'source','X',... % Data source
'lat',0.0,... % Latitude (+ = North)
'long',0.0,... % Longitude (+ = East)
'type','XXXXX',... % Report type code
'elev',0.0,... % Elevation (m)
'station','XXXXX',... % Station call letter ID
'qc','XXXX',... % Quality control process name
'winddir',0.0,... % Wind direction (degrees clockwise from N)
'winddirq','X',... % Wind direction quality
'windtype','X',... % Wind observation type code
'windspeed',0.0,... % Wind speed (m/s)
'windspeedq','X',... % Wind speed quality
'ceil',0.0,... % Ceiling height (m, AGL)
'ceilq','X',... % Ceiling quality
'ceilmethod','X',... % Ceiling measurement method code
'CAVOK','X',... % Ceiling and Visibility OK code
'visdist',0.0,... % Visibility distance (m)
'visdistq','X',... % Visibility distance quality
'visvar','X',... % Visibility variability
'visvarq','X',... % Visibility variability quality
'temp',0.0,... % Air temperature (degrees C)
'tempq','X',... % Air temperature quality
'dewpt',0.0,... % Dew point temperature (degrees C)
'dewptq','X',... % Dew point temperature quality
'pressure',0.0,... % Barometric pressure (hPa)
'pressureq','X',... % Barometric pressure quality
'remainder',[]); % Remainder of record (ADD + REM)
dat(ii).len = str2num(s(1:4));
dat(ii).catno = s(5:10);
dat(ii).wban = s(11:15);
dat(ii).date = s(16:23);
dat(ii).time = s(24:27);
dat(ii).source = s(28);
dat(ii).lat = str2num(s(29:34))/1000;
dat(ii).long = str2num(s(35:41))/1000;
dat(ii).type = s(42:46);
dat(ii).elev = str2num(s(47:51));
dat(ii).station = s(52:56);
dat(ii).qc = s(57:60);
dat(ii).winddir = str2num(s(61:63));
dat(ii).winddirq = s(64);
dat(ii).windtype = s(65);
dat(ii).windspeed = str2num(s(66:69))/10;
dat(ii).windspeedq = s(70);
dat(ii).ceil = str2num(s(71:75));
dat(ii).ceilq = s(76);
dat(ii).ceilmethod = s(77);
dat(ii).CAVOK = s(78);
dat(ii).visdist = str2num(s(79:84));
dat(ii).visdistq = s(85);
dat(ii).visvar = s(86);
dat(ii).visvarq = s(87);
dat(ii).temp = str2num(s(88:92))/10;
dat(ii).tempq = s(93);
dat(ii).dewpt = str2num(s(94:98))/10;
dat(ii).dewptq = s(99);
dat(ii).pressure = str2num(s(100:104))/10;
dat(ii).pressureq = s(105);
dat(ii).remainder = s(106:end);