function [Tyear,D,I,H,X,Y,Z,F,Head]=IGRF_model_read(file);
% Чтение данных, полученных по модели IGRF с помощью
% программы geomag53
%
% Call:   [Tyear,D,I,H,X,Y,Z,F,Head]=IGRF_model_read(file)
%
%   Tyear - времЯ (в годах)
%       D - склонение (в град.)
%       I - наклонение (в град.)
% H,X,Y,Z - элементы полЯ (в нТл)
%       F - полнаЯ интенсивность полЯ (в нТл)
%    Head - дополнительнаЯ информациЯ (типа структуры):
%           Model
%           Latitude    - широта (в град.)
%           Longitude   - долгота (в град.)
%           Altitude    - высота (в км)

% 28.01.2006, S.Y.Khomutov
% 11.05.2010    - исправлено считывание заголовка
%               - исправлена обработка отрицат. D,I

if exist(file,'file')==0,
    error('!!! File does not exist !!!')
end

Tyear=[];D=[];I=[];H=[];X=[];Y=[];Z=[];F=[];

fid=fopen(file,'r');

for k=1:5, fgetl(fid); end    % Header
[tmp,str]=strtok(fgetl(fid)); Model=strtok(str); % используемаЯ модель полЯ
[tmp,str]=strtok(fgetl(fid)); Lat=str2num(strtok(str));   % Широта в град.
[tmp,str]=strtok(fgetl(fid)); Lon=str2num(strtok(str));   % Долгота в град.
[tmp,str]=strtok(fgetl(fid)); Altit=str2num(strtok(str)); % Высота в км
Head=struct('Model',Model,...
            'Latitude',Lat,...
            'Longitude',Lon,...
            'Altitude',Altit);
for k=1:5, fgetl(fid); end    % Blank lines

while 1,
    str=fgetl(fid);
    if ~isempty(findstr(str,'- - - -')),
        break
    end
    tmp=str2num(strrep(strrep(str,'m',''),'d',''));
    Tyear=[Tyear; tmp(1)];
    if tmp(2)<0,
        D=[D; tmp(2)+sign(tmp(2))*tmp(3)/60];
    else
        D=[D; tmp(2)+tmp(3)/60];
    end
    if tmp(4)<0,
        I=[I; tmp(4)+sign(tmp(4))*tmp(5)/60];
    else
        I=[I; tmp(4)+tmp(5)/60];
    end
    H=[H; tmp(6)];
    X=[X; tmp(7)];
    Y=[Y; tmp(8)];
    Z=[Z; tmp(9)];
    F=[F; tmp(10)];
end
fclose(fid);
