function [Tscal,Fscal,dFgrad_Scal]=scalar_mag_select(T0,ScalMag)
% считывание данных выбранного скалярного магнитометра

% 20.06.2025 - адаптация под Linux (в путях "\" заменён на "/" и прописные
%               в именах папок)


[year0,mon0,day0]=datevec(T0);
DOY=T0-datenum(year0,1,0);  % день года
Tm=datenum(year0,mon0,day0,0,(0:1440-1)',0);
switch ScalMag
    
    case 'POS1'
    disp('!!! Используются данные POS-1 в абсол. пав-не ...')
    run ../ini_parameters/pos_ini_khb.m % настроечные параметры (пути, файлы)
    file_pos=[path_data_pos sprintf('%4d/POS_%4d.%03d',year0,year0,DOY)];
    if exist(file_pos,'file'),
        disp(['... Считываются данные POS-1 ... ' file_pos])
        [Fscal,Tscal,qmc,err]=pos_read_pm(file_pos,[]);
        ths=rem(Tscal,1)*24;
        % отбраковка задокументированных помех
        Fscal=remove_errors('../ini_parameters/remove_pos_khb.dat',T0,ths,Fscal);
        % чистим брак (недостоверные коды ошибок и выбросы)
        Fscal=pos_correct_all(Fscal,err,ths,dF_spike_lim,accept_code_pos);
        % принудительная чистка больших выбросов
        k=Fscal<54500;
        if sum(k)>0
            Fscal(k)=NaN;
            fprintf('Принудительная чистка с Fp<54500 ... %d\n',sum(k))
        end
    else
        disp('... Нет данных POS-1, использую NaN ...')
        Fscal=ones(1440,1)*NaN; Tscal=Tm;
    end
    % Градиент dF в абсол. пав-не - F(DI-pillar)=F(place)+dFgrad_AbsHut
    tmp=load('../ini_parameters/dFgrad_current_POS_KHB.dat');
    Tgrad_Scal=datenum(tmp(:,1:3));
    k=max(find(Tgrad_Scal<=T0));
    dFgrad_Scal=tmp(k,4);
    fprintf('Приведение данных POS-1 к DI-столбу ... %+6.2f\n',dFgrad_Scal);
    Fscal=Fscal+dFgrad_Scal; % учитываем градиент

    case 'GSM19W'
    disp('!!! Используются данные GSM-19W в абсол. пав-не ...')
    run ../ini_parameters/gsm19w_ini_khb.m % настроечные параметры (пути, файлы)
    % Данные GSM-19W
    file_gsm=[path_data_GSM19 datestr(T0,'yyyy') '/' datestr(T0,'yyyymmdd')];
    if exist(file_gsm,'file'),
        [ths,Fscal,SQ,head]=gsm19_read_fun_khb(file_gsm);
        Fscal=remove_errors('../ini_parameters/remove_GSM19W_KHB.dat',T0,ths,Fscal);
        Tscal=T0+ths/24;
    else
        disp('!!! Нет данных GSM-19W, использую NaN !!!')
        Fscal=ones(1440,1)*NaN; Tscal=Tm;
    end
    % Градиент dF в абсол. пав-не - F(DI-pillar)=F(place)+dFgrad_AbsHut
    tmp=load('../ini_parameters/dFgrad_current_GSM19W_KHB.dat');
    Tgrad_Scal=datenum(tmp(:,1:3));
    k=max(find(Tgrad_Scal<=T0));
    dFgrad_Scal=tmp(k,4);
    fprintf('Приведение данных GSM-19W к DI-столбу ... %+6.2f\n',dFgrad_Scal);
    Fscal=Fscal+dFgrad_Scal; % учитываем градиент

end
