function [head,T,C1,C2,C3,C4]=iaga2002_read_fun(file);
% Чтение данных в формате IAGA-2002
%   [head,T,C1,C2,C3,C4]=iaga2002_read_fun(file);
%
% file - имя файла
%
% T     - сериальная дата измерения
% CN    - измеренное значение. Последовательность колонок определяется
%           в поле head.Elements.
%           D,I - в угл.минутах
%           F,H,X,Y,Z,E,V - в нТл

% The data records contain the date, time, and magnetic field elements reported. 
% Report data to the least significant digit. 
% Indicate missing data with 99999 to the corresponding accuracy for a given 
% component (e.g., 99999.0 or 99999.00). 
% If an element is not observed, please record 88888 (to the corresponding accuarcy) in that field. 
% The format for field elements is 4(1X, F9.2).
% Each record is exactly 70 characters long plus the machine dependent carriage return / line feed.
% 
% DATE is the calendar date in ISO YYYY-MM-DD format 
% (4-digit year, month as 01-12, day as 01-31). 
% 
% TIME is in ISO hh:mm:ss.sss format (hour as 0-24, minute as 0-59, 
% second as 0-59 Note: if the hour is 24, the minute and second must be 0). 
% 
% Values beyond the time interval of the means being reported must be 
% zero-filled i.e. 14:01:00.000 for 1 minute data for the 14th hour, 
% first minute. 
%     
% DOY is the day of the year, from 1 - 365 (or 366 for leap years). 
% Describe the method of average, i.e., centered to the hour for hourly 
% means, in the comments area.
% 
% D and I are reported in angular units of minutes of arc to the precision
% of the instruments. 
% F, H, X, Y, Z, E, and V are reported in nanotesla and a fraction of nT. 


Length_of_Rec=70;   % длина строки в файле без <CR>,<LF> и т.п.

fid=fopen(file,'rt');
head=iaga2002_read_head(fid);   % считываем заголовок
tmp=fread(fid);     % считываем остаток бинарно
fclose(fid);        % закрываем файл

tmp=tmp(tmp>30);    % убираем символы перевода строк и т.п., 
                    % оставляем только символы
Nrec=length(tmp)/Length_of_Rec; % кол-во записей с данными в файле
tmp=char(reshape(tmp,70,Nrec))';  % превращаем в матрицу (по строкам)

T=datenum(str2num(tmp(:,1:4)),str2num(tmp(:,6:7)),str2num(tmp(:,9:10)),...
          str2num(tmp(:,12:13)),str2num(tmp(:,15:16)),str2num(tmp(:,18:23)));
C1=str2num(tmp(:,31:40));
C2=str2num(tmp(:,41:50));
C3=str2num(tmp(:,51:60));
C4=str2num(tmp(:,61:70));

C1(C1>88000)=NaN; C2(C2>88000)=NaN;
C3(C3>88000)=NaN; C4(C4>88000)=NaN;
