Earthquake/analysis2.m

96 lines
4.1 KiB
Matlab
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

%% By L_DelOff
% собираю данные по землетрясению 16 сентября 2015, Чили
% получаю среднесуточные значения концентрации H-He O2 E и электронную
% температуру в области эпицентра
%% Поехали
type_sensor='ssies';
sattelite_range=15;%15:18; % Выбор с какого спутника требуются данные
year_range=2015; %
month_range=9; %
day_range=1:30;
DATA.DATA=[];
%% Объединяю данные в диапазоне
if 1
for sattelite=sattelite_range %6:20
for year=year_range % года
for month=month_range % месяца
for day=day_range % дни
DATA_temp=load_file(sattelite, year, month, day,...
type_sensor); %загрузка данных
DATA.DATA=[DATA.DATA DATA_temp.DATA];
end
end
end
end
end
%load matlab
%% Сортировка данных
M=8.3; %
R_quake=1000;%10^(0.43*M); % радиус действия относительно магнитуды,км (еще тыщу ставил)
% расположение эпицентра
fiA=-31.573; % широта
LA=360-71.674; % долгота
report=[]; % тут будут все данные для графика
zzz=[];
for i=day_range% дни, по которыс строится среднесуточные значения
report(i).date=[myformat(i,2) '.09.2015'];
HHeden=[];
O2den=[];
Eden=[];
Etemp=[];
for j=1:length(DATA.DATA)
if DATA.DATA(j).year==year_range % сортировка по году
if DATA.DATA(j).month==month_range % по месяцу
if (DATA.DATA(j).day==i)% по числам
for k=1:3 % координаты спутника только 3 раза в минуту(кадр) записываются
fiB=DATA.DATA(j).GeoLat(k); % 1. Географическая широта (градусы, север)(Geographic latitude (degrees, north))
LB=DATA.DATA(j).GeoLong(k); % 2. Географическая долгота (градусы, восток)(Geographic longitude (degrees, east))
R=mydistance(fiA,LA,fiB,LB);
zzz(end+1)=R-R_quake;
if R<=R_quake
HHeden(end+1)= mymean(DATA.DATA(j).RPA_HHeden((k-1)*5+1:(k-1)*5+5),1e10);
O2den(end+1) = mymean(DATA.DATA(j).RPA_O2den((k-1)*5+1:(k-1)*5+5),1e10);
Eden(end+1) = mymean(DATA.DATA(j).EP_Eden((k-1)*5+1:(k-1)*5+5),1e10);
Etemp(end+1) = mymean(DATA.DATA(j).EP_Etemp((k-1)*5+1:(k-1)*5+5),1e10);
end
end
end
end
end
end
report(i).RPA_HHeden=mymean(HHeden,1e10);
report(i).RPA_O2den=mymean(O2den,1e10);
report(i).EP_Eden=mymean(Eden,1e10);
report(i).EP_Etemp=mymean(Etemp,1e10);
end
function DATA=load_file(sattelite, year, month, day, type_sensor)
foldername=['DATA/f' num2str(sattelite) '/' type_sensor '/' num2str_new(year,4) '/' num2str_new(month,2)];
target=ls(foldername);
[str row]=size(target);
DATA=[];
for i=1:str
filename=target(i,:);%end-3:end);
counter=0;
for j=1:length(filename)
if filename(j)==' '
counter=counter+1;
end
end
filename=filename(1:end-counter);
if length(filename)>7
keyword=[num2str_new(year,4) num2str_new(month,2) num2str_new(day,2)];
flag=0;
for j=1:length(filename)-length(keyword)
if filename(j:j+length(keyword)-1)==keyword
flag=1;
end
end
if (prod(filename(end-3:end)=='.mat')==1)&&(flag==1)
DATA = load([foldername,'/',filename], 'DATA'); % открыть для чтения
end
end
end
end