/[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.6 - (hide annotations) (download)
Tue Jul 29 16:45:23 2014 UTC (11 years ago) by gforget
Branch: MAIN
Changes since 1.5: +43 -37 lines
- diags_driver.m :
  - make the setting of parameters optional (if doInteractive is specified)
    and otherwise assume ECCO v4 params by default.
  - move cost computations to first year, rather than empty year.
- diags_grid_parms.m : use doInteractive, passed as parameter.
- diags_pre_process.m :
  - use doInteractive, passed as parameter.
  - use nctiles by default (rather than binaries)
  - use MITprof/ files by default (rather than binaries)
    and add directory name to myenv.profiles

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     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
28     %now do the selected computation chunk:
29     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
30    
31     dirModel=[dirModel '/'];
32     if isempty(dirMat); dirMat=[dirModel 'mat/']; else; dirMat=[dirMat '/']; end;
33    
34     if ~isempty(who('setDiags'));
35 gforget 1.2
36 gforget 1.5 if iscell(setDiags); lChunk=12;
37 gforget 1.6 elseif strcmp(setDiags,'B')&(~isempty(find(years==1)));
38     lChunk=1; years=[1:myparms.recInAve(2)];
39 gforget 1.2 elseif strcmp(setDiags,'B'); lChunk=0;
40 gforget 1.5 elseif strcmp(setDiags,'D'); lChunk=12;
41 gforget 1.2 else; lChunk=12;
42     end;
43 gforget 1.1
44     %physical diagnostics
45 gforget 1.6 for myYear=years;
46     diags_select(dirModel,dirMat,setDiags,lChunk,myYear);
47 gforget 1.1 end;
48    
49 gforget 1.6 else;
50 gforget 1.1
51 gforget 1.6 for myYear=years;
52    
53     %standard physical diagnostics :
54     diags_select(dirModel,dirMat,'A',12,myYear);
55     if myYear==1; diags_select(dirModel,dirMat,'B',1,[1:myparms.recInAve(2)]); end;
56     diags_select(dirModel,dirMat,'C',12,myYear);
57    
58     %budgets :
59 gforget 1.1 if myswitch.doBudget;
60     budget_list=1;
61     if ~isempty(dir([dirMat 'diags_select_budget_list.mat']));
62     eval(['load ' dirMat 'diags_select_budget_list.mat;']);
63     end;
64     for kk=budget_list;
65 gforget 1.6 diags_select(dirModel,dirMat,{'D',kk},12,myYear);
66 gforget 1.1 end;
67     end;
68 gforget 1.6
69     %model-data misfits :
70     % in situ profiles fit
71     if myswitch.doProfiles&myYear==1; insitu_diags(dirMat,1); end;
72     % altimeter fit
73     if myswitch.doCost&myYear==1; cost_altimeter(dirModel,dirMat); end;
74     % other cost terms
75     if myswitch.doCost&myYear==1; cost_sst(dirModel,dirMat,1); end;
76     if myswitch.doCost&myYear==1; cost_bp(dirModel,dirMat,1); end;
77     if myswitch.doCost&myYear==1; cost_seaicearea(dirModel,dirMat,1); end;
78     % controls
79     if myswitch.doCtrl&myYear==1; cost_xx(dirModel,dirMat,1); end;
80    
81 gforget 1.1 end;
82    
83     end;
84    

  ViewVC Help
Powered by ViewVC 1.1.22