1 |
function []=insitu_diags(dirModel,dirMat,doComp,dirTex); |
function []=insitu_diags(dirMat,doComp,dirTex,nameTex); |
2 |
%object: driver for insitu_misfit and insitu_cost |
%object: driver for insitu_misfit and insitu_cost |
3 |
%inputs: dirModel is the model run directory |
%inputs: dirMat is the directory where diagnozed .mat files will be saved |
|
% dirMat is the directory where diagnozed .mat files will be saved |
|
4 |
% -> set it to '' to use the default [dirModel 'mat/'] |
% -> set it to '' to use the default [dirModel 'mat/'] |
5 |
% doComp states whether to compute (1) or display (0) |
% doComp states whether to compute (1) or display (0) |
6 |
% dirTex is the directory where tex and fig files will be created |
% dirTex is the directory where tex and fig files will be created |
7 |
|
% nameTex is the tex file name (default : 'myPlots') |
8 |
|
% |
9 |
|
%notes : MITprof files will be used from the myenv.profiles directory |
10 |
|
% or [dirMat '/profiles/output/'] is myenv.profiles is missing |
11 |
|
|
12 |
if dirMat(1)~='/'; dirMat=[pwd '/' dirMat]; end; %make full path |
gcmfaces_global; |
|
subdirMat={'subdirMat',[dirMat '/']}; |
|
13 |
|
|
14 |
subdirData={'subdirData',[dirMat '/profiles/output/']}; |
dirMat=[dirMat '/']; |
15 |
|
|
16 |
|
if isfield(myenv,'profiles'); |
17 |
|
dirData=myenv.profiles; |
18 |
|
else; |
19 |
|
dirData=[dirMat '/profiles/output/']; |
20 |
|
end; |
21 |
|
while ~isdir(dirData)&doComp; |
22 |
|
fprintf(['directory : ' dirData '\n']) |
23 |
|
dirData=input(['does not exist. Specify directory of nc file : \n']); |
24 |
|
end; |
25 |
|
|
26 |
|
listData=dir([dirData '*.nc']); |
27 |
|
|
28 |
|
dirMat={'dirMat',dirMat}; |
29 |
|
dirData={'dirData',dirData}; |
30 |
|
listData={'listData',listData(:).name}; |
31 |
|
|
32 |
if isempty(who('dirTex')); |
if isempty(who('dirTex')); |
33 |
addToTex={'addToTex',0}; subdirTex={'subdirTex',''}; |
addToTex={'addToTex',0}; dirTex={'dirTex',''}; nameTex={'nameTex',''}; |
34 |
else; |
else; |
35 |
if ~ischar(dirTex); error('mis-specified dirTex'); end; |
if ~ischar(dirTex); error('mis-specified dirTex'); end; |
36 |
if dirTex(1)~='/'; dirTex=[pwd '/' dirTex]; end; %make full path |
if dirTex(1)~='/'; dirTex=[pwd '/' dirTex]; end; %make full path |
37 |
addToTex={'addToTex',1}; subdirTex={'subdirTex',[dirTex '/']}; |
addToTex={'addToTex',1}; dirTex={'dirTex',[dirTex '/']}; |
38 |
|
if isempty(who('nameTex')); nameTex='myPlots'; end; |
39 |
|
nameTex={'nameTex',nameTex}; |
40 |
end; |
end; |
41 |
|
|
42 |
if doComp; |
if doComp; |
43 |
insitu_misfit('',1,subdirData,subdirMat); |
fprintf('starting insitu_misfit\n'); clock |
44 |
insitu_cost('',1,subdirData,subdirMat); |
insitu_misfit(1,dirData,dirMat,listData); |
45 |
|
fprintf('starting insitu_cost\n'); clock |
46 |
|
insitu_cost(1,dirData,dirMat,listData); |
47 |
|
fprintf('done with insitu_diags\n'); clock |
48 |
else; |
else; |
49 |
insitu_misfit('',0,subdirData,subdirMat,addToTex,subdirTex); |
insitu_misfit(0,dirMat,addToTex,dirTex,nameTex); |
50 |
insitu_cost('',0,subdirData,subdirMat,addToTex,subdirTex); |
insitu_cost(0,dirMat,addToTex,dirTex,nameTex); |
51 |
end; |
end; |
52 |
|
|
|
return |
|
|
%old example that may or may not work ... |
|
|
|
|
|
dirModel='./apr1alpha_it0/'; |
|
|
listData={'listData','WOD09_XBT*'}; |
|
|
listVar={'listVar','T'}; |
|
|
suffMat={'suffMat','XBT'}; |
|
|
addToTex={'addToTex',1}; |
|
|
|
|
|
insitu_misfit(dirModel,1,listData,listVar,suffMat); |
|
|
insitu_cost(dirModel,1,listData,listVar,suffMat); |
|
|
|
|
|
mkdir([dirModel 'tex']); |
|
|
write2tex([dirModel 'tex/myPlots.tex'],0); |
|
|
insitu_misfit(dirModel,0,suffMat,addToTex); |
|
|
insitu_cost(dirModel,0,suffMat,addToTex); |
|
|
write2tex([dirModel 'tex/myPlots.tex'],4); |
|
|
|
|