/[MITgcm]/MITgcm_contrib/gael/matlab_class/gcmfaces_diags/diags_driver.m
ViewVC logotype

Annotation of /MITgcm_contrib/gael/matlab_class/gcmfaces_diags/diags_driver.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.9 - (hide annotations) (download)
Sun Aug 3 19:48:29 2014 UTC (10 years, 11 months ago) by gforget
Branch: MAIN
Changes since 1.8: +9 -9 lines
- replace 1 with years(1)
- move dirMat completion before saving diags_grid_parms.mat

1 gforget 1.6 function []=diags_driver(dirModel,dirMat,years,setDiags,doInteractive);
2 gforget 1.1 %object: compute the various cost and physics
3     % diagnosits from model output
4 gforget 1.6 %input: dirModel is the directory containing 'diags/' or 'nctiles/'
5     % dirMat is the directory where diagnostics results will be saved
6     % if isempty(dirMat) then [dirModel 'mat/'] is used by default
7     % years (vector) that states years (or sets of 12 records) to compute
8     % if years=[1:4] then the first 4 years are computed
9     %(optional) setDiags further specifies physical diags to be computed
10     % if setDiags='A' then one set of diags ('A') is computed
11     % By default three sets of diags ('A','B','C') are computed.
12     %(optional) doInteractive=1 allows users to specify parameters interactively
13     % doInteractive = 0 (default) uses ECCO v4 parameters
14     % and omits budgets and model-data misfits analyses
15     %
16     %notes : eventually should also use dirMat, dirTex interactively for years=[];
17 gforget 1.1
18     gcmfaces_global; global myparms;
19    
20     %%%%%%%%%%%%%%%
21     %pre-processing
22     %%%%%%%%%%%%%%%
23    
24 gforget 1.6 if isempty(who('doInteractive')); doInteractive=0; end;
25     myswitch=diags_pre_process(dirModel,dirMat,doInteractive);
26 gforget 1.1
27 gforget 1.9 dirModel=[dirModel '/'];
28     if isempty(dirMat); dirMat=[dirModel 'mat/']; else; dirMat=[dirMat '/']; end;
29    
30 gforget 1.7 if ~doInteractive;
31     myparms.yearInAve=[years(1) years(end)];
32     myparms.recInAve=[1 12]+12*([years(1) years(end)]-1992);
33     years=years-1992+1;
34     eval(['save ' dirMat 'diags_grid_parms.mat myparms;']);
35     end;
36    
37 gforget 1.1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
38     %now do the selected computation chunk:
39     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
40    
41     if ~isempty(who('setDiags'));
42 gforget 1.2
43 gforget 1.7 lChunk=12;
44 gforget 1.1
45     %physical diagnostics
46 gforget 1.6 for myYear=years;
47     diags_select(dirModel,dirMat,setDiags,lChunk,myYear);
48 gforget 1.1 end;
49    
50 gforget 1.6 else;
51 gforget 1.1
52 gforget 1.6 for myYear=years;
53    
54     %standard physical diagnostics :
55     diags_select(dirModel,dirMat,'A',12,myYear);
56 gforget 1.7 if ~doInteractive;
57     diags_select(dirModel,dirMat,'B',12,myYear);
58     elseif myYear==years(1);
59     recInAve=[myparms.recInAve(1):myparms.recInAve(2)];
60     diags_select(dirModel,dirMat,'B',1,recInAve);
61     end;
62 gforget 1.6 diags_select(dirModel,dirMat,'C',12,myYear);
63    
64     %budgets :
65 gforget 1.1 if myswitch.doBudget;
66     budget_list=1;
67     if ~isempty(dir([dirMat 'diags_select_budget_list.mat']));
68     eval(['load ' dirMat 'diags_select_budget_list.mat;']);
69     end;
70     for kk=budget_list;
71 gforget 1.6 diags_select(dirModel,dirMat,{'D',kk},12,myYear);
72 gforget 1.1 end;
73     end;
74 gforget 1.6
75     %model-data misfits :
76     % in situ profiles fit
77 gforget 1.9 if myswitch.doProfiles&myYear==years(1); insitu_diags(dirMat,1); end;
78 gforget 1.6 % altimeter fit
79 gforget 1.9 if myswitch.doCost&myYear==years(1); cost_altimeter(dirModel,dirMat); end;
80 gforget 1.6 % other cost terms
81 gforget 1.9 if myswitch.doCost&myYear==years(1); cost_sst(dirModel,dirMat,1); end;
82     if myswitch.doCost&myYear==years(1); cost_bp(dirModel,dirMat,1); end;
83     if myswitch.doCost&myYear==years(1); cost_seaicearea(dirModel,dirMat,1); end;
84 gforget 1.6 % controls
85 gforget 1.9 if myswitch.doCtrl&myYear==years(1); cost_xx(dirModel,dirMat,1); end;
86 gforget 1.6
87 gforget 1.1 end;
88    
89     end;
90    

  ViewVC Help
Powered by ViewVC 1.1.22