[go: up one dir, main page]

Menu

[57f2a1]: / anal / vel_wrapper.m  Maximize  Restore  History

Download this file

149 lines (142 with data), 4.3 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
% function vel_wrapper(scan,dirs,override)
% Wrapper to make default velocity vectors and plots for CPs
% Inputs:scan Scan type, defined are:
% ip2e for monostatic ESR ip2 scan
% ip3 for monostatic ESR ip3 scan
% ip2t for monostatic UHF ip2 scan
% ip2kst for tristatic UHF ip2 scan
% cp2 for monostatic cp2 scan
% cp2kst for tristatic UHF ip2 scan
% cp1, cp1kst, lowel for tristatic UHF fixed point
% cp3kst for tristatic UHF cp3 scan
% cluster for overlapped ESR and VHF beams
% dirs {result_path} Directories containing data (wild cards accepted)
% Sites separated in cell
% See also VECTOR_VELOCITY, EFIELD
%
function vel_wrapper(scan,dirs,override)
if nargin<1, scan=[]; end
if nargin<2, dirs=[]; end
if nargin<3, override=[]; end
global result_path
ld=[]; uperr=[]; plots={'Vm'}; ptype='t'; ylim=[2000 2000]; dynavel=0;
e=[90 100 107.5 112.5 117.5 122.5 130]; %from old cp1
%e=90:10:130;
f=[160 500];
if isempty(scan)
fprintf('Scans defined: ip2e ip2t ip2kst cp2kst cp3kst cp3kstl ip3 cp1 cp1kst lowel cp2 cluster\n')
scan=minput('Choose',[],1);
end
if isempty(dirs)
nd=0;
while nd<1 || ~isempty(dirs{nd})
nd=nd+1;
dirs{nd}=minput(sprintf('Data directory no %d',nd),[],1);
end
dirs=dirs(1:nd-1);
end
switch scan
case 'ip2e'
alt=[e f]; td=180;
plots(2:length(alt)-3)={'Vg'}; plots([1 end+2])={[] 'Vm'};
case 'ip2t'
alt=[e f]; td=240;
plots(2:length(alt)-3)={'Vg'}; plots([1 end+2])={[] 'Vm'};
case {'ip2kst' 'cp2kst'}
alt=f; td=1;
case {'cp3kst'}
alt=f; td=1; ptype='p'; uperr=50;
case {'cp3kstl'}
alt=f; td=1440.; ptype='p'; uperr=50; ld=60:.5:90;
case {'ip3'}
alt=[e f]; td=1440./[1 2]; uperr=50; ld=60:.5:90; ptype='p';
plots(2:length(alt)-3)={'Vg'}; plots([1 end+2])={[] 'Vm'};
case {'cp1' 'cp1kst' 'lowel'}
% all fixed tristatic cases should work with these settings
alt=f; td=1;
case {'cp2' 'cp2t' 'cp2e'}
alt=[e f]; td=360;
plots(2:length(alt)-3)={'Vg'}; plots([1 end+2])={[] 'Vm'};
case 'cluster'
alt=f; td=120; uperr=1; ld=50:.5:90; ptype='p';
otherwise
alt=minput('Altitude ranges',[e f]);
td=minput('Time interval',180);
ld=minput('Latitude intervals',ld);
uperr=minput('Uperr',uperr);
dynavel=minput('Dynasonde velocities',dynavel);
plots(1:length(alt)-3)={'Vg'}; plots([end+[1 2]])={'' 'Vm'};
plots=minput('Plots',plots);
ptype=minput('Plot type',ptype,1);
end
if ~isempty(override)
eval(override)
end
r=vector_velocity(dirs,alt,td,ld,uperr,[],fullfile(result_path,'vectors'),dynavel);
np=length(plots);
ntp=[];
for i=1:np, if ~isempty(plots{i}), ntp=[ntp i]; end, end
np=length(ntp);
set(gcf,'DefaultAxesFontSize',10,'DefaultTextFontSize',10,'PaperPosition',[0.4 0.7 20.65 28.4],'Name',r)
if strcmp(ptype,'t')
npc=1; npr=np;
if np==1
%orient rotated
ppos=get(gcf,'PaperPosition'); s=3.4;
set(gcf,'PaperOrient','landscape','PaperPosition',[0.7 0.4 28.4 19.65])
else
%orient tall
sq=np^2;
end
else
npc=floor(sqrt(np)); npr=ceil(np/npc);
%sq=sqrt(8);
sq=3*(npr-1.5).^2+2;
%orient tall
end
for i=1:np
subplot(npr,npc,np+1-i,'align')
efield(r,[plots{ntp(i)} ptype],alt((0:1)+ntp(i)),[],2)
if strcmp(ptype,'t')
if i>1, delete(get(gca,'xlabel')), end
set(gca,'ylim',ylim(1+(alt(ntp(i))<150))*[-1 1])
end
end
% Squeeze things before printing
if strcmp(ptype,'p') || np>1
gc=get(gcf,'children');
pos=get(gc,'pos');
for i=1:length(gc)
p=pos{i};
sh=(0.5-(p(2)+p(4)/2))/sq;
set(gc(i),'pos',[p+[0 sh 0 0]])
end
if strcmp(ptype,'p')
gl=findobj(gcf,'visible','off','xlim',[0 202]);
if ~isempty(gl), set(gl,'pos',get(gl,'pos')+[.1 0 0 0]), end
end
end
print('-dpdf',r)
print('-dpng256',r)
insert_exif(gcf,r,{'pdf' 'png'})
if strcmp(ptype,'p') || np>1
for i=1:length(gc)
set(gc(i),'pos',pos{i})
end
end
fprintf('%s.mat .pdf .png produced\n',r)
if exist(r)
rmdir(r,'s')
end
mkdir(r)
[namepath,namefile] = fileparts(r);
%EISCAThdf5file = fullfile(namepath,['EISCAT_' namefile],['EISCAT_' namefile '.hdf5']);
%image2hdf5([r '.png'],EISCAThdf5file);
%strds2hdf5(EISCAThdf5file,'/figures','figure_links',{[namefile '.pdf']})
filelist = dir(fullfile(namepath,['*' namefile '*']));
for i =1:length(filelist)
if ~strcmp(fullfile(filelist(i).folder,filelist(i).name),r)
movefile(fullfile(filelist(i).folder,filelist(i).name),r)
end
end
end