/[MITgcm]/MITgcm_contrib/gael/matlab_class/gcmfaces_IO/prep2nctiles.m
ViewVC logotype

Diff of /MITgcm_contrib/gael/matlab_class/gcmfaces_IO/prep2nctiles.m

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

revision 1.1 by gforget, Tue Jan 20 12:01:19 2015 UTC revision 1.5 by gforget, Wed Feb 4 11:41:30 2015 UTC
# Line 1  Line 1 
1    
2  choiceStruct=1;  choiceStruct=3;
3    
4  %===============  %===============
5    
# Line 50  if choiceStruct==2; Line 50  if choiceStruct==2;
50      fileMat=[budgName '_*.mat'];      fileMat=[budgName '_*.mat'];
51      structIn.vars=diags_read_from_mat(dirMat,fileMat);      structIn.vars=diags_read_from_mat(dirMat,fileMat);
52    
53      %need vector of time increment      %vector of time increment
54      [listTimes]=diags_list_times({'release1/diags/BUDG/'},{'budg2d_hflux_set1'});      [listTimes]=diags_list_times({'release1/diags/BUDG/'},{'budg2d_hflux_set1'});
55      structIn.vars.dt=diff(listTimes);      structIn.vars.dt=diff(listTimes);
56      structIn.vars.dt=3600*structIn.vars.dt(1:end-1)';          structIn.vars.dt=3600*structIn.vars.dt(1:end-1)';    
# Line 81  if choiceStruct==2; Line 81  if choiceStruct==2;
81            
82  end;  end;
83    
84    %===============
85    
86    if choiceStruct==3;
87    
88      %budgName='budgHo';
89    
90      if budgName(end)=='o'; listFlds={'tend','trU','trV','trWtop'};
91      else; listFlds={'tend','trU','trV','trWtop','trWbot'};
92      end;
93    
94      for ii=1:length(listFlds);
95        fldName=listFlds{ii};
96        %fldName='trWtop';
97        [budgName ' -- ' fldName]
98    
99        %directories
100        dirIn='r4it11.c65i/';
101        dirMat='mat_budg3d/';
102        dirOut=fullfile(dirIn,'nctiles_budg',filesep);
103        if ~isdir(dirOut); mkdir(dirOut); end;
104        dirOut=fullfile(dirOut,budgName,filesep);
105        if ~isdir(dirOut); mkdir(dirOut); end;
106    
107        %load variable
108        eval(['load ' dirIn dirMat 'diags_grid_parms.mat myparms;']);
109        dirMat=[dirIn dirMat 'diags_set_' budgName '/'];
110        fileMat=[budgName '_*.mat'];
111        tic; structIn.vars=diags_read_from_mat(dirMat,fileMat,fldName); toc;
112    
113        %time vectors
114        [listTimes]=diags_list_times({[dirIn 'diags/BUDG/']},{'budg2d_hflux_set1'});
115        structIn.vars.t0=3600*listTimes(1:end-2);
116        structIn.vars.t1=3600*listTimes(2:end-1);
117    
118        %rename trWtop as trW if adequate
119        if strcmp(fldName,'trWtop')&(budgName(end)=='o');
120          structIn.vars=setfield(structIn.vars,'trW',structIn.vars.trWtop);
121          structIn.vars=rmfield(structIn.vars,'trWtop');
122          structIn.vars.listDiags={'trW'};
123          fldName='trW';
124        end;
125    
126        %switch back to upward convention
127        if strcmp(fldName(1:3),'trW');
128          tmp1=getfield(structIn.vars,fldName);
129          structIn.vars=setfield(structIn.vars,fldName,-tmp1);
130        end;
131    
132        %general description
133        tmp1=diags_read_from_mat(dirMat,fileMat,'specs',1);
134        specs=tmp1.specs;
135        if strcmp(specs.units,'W');
136            structIn.descr={'Heat budget in extensive form (in Watt, on C-Grid)'};
137        elseif strcmp(specs.units,'kg/s');
138            structIn.descr={'Mass budget in extensive form (in kg/s, on C-Grid)'};
139        elseif strcmp(specs.units,'g/s');
140            structIn.descr={'Salt budget in extensive form (in g/s, on C-Grid)'};
141        else;
142            error('unknown budget');
143        end;
144    
145        %variables description
146        vars=[]; nv=length(vars)+1;
147        vars(nv).fldName=fldName; vars(nv).units=specs.units;
148        switch fldName;
149        case 'tend'; vars(nv).longName='tendency term';
150        case 'trU'; vars(nv).longName='horizontal transport (U)';
151        case 'trV'; vars(nv).longName='horizontal transport (V)';
152        case 'trW'; vars(nv).longName='upward vertical transport (W)';
153        case 'trWtop'; vars(nv).longName='upward vertical transport (W)';
154        case 'trWbot'; vars(nv).longName='upward vertical transport (W)';
155        end;
156        nv=length(vars)+1;
157        vars(nv).fldName='t0'; vars(nv).longName='initial time'; vars(nv).units='s'; nv=length(vars)+1;
158        vars(nv).fldName='t1'; vars(nv).longName='final time'; vars(nv).units='s'; nv=length(vars)+1;
159        %
160        structIn.defs=vars;
161    
162        %create file
163        tic; struct2nctiles(dirIn,fldName,structIn,[90 90]); toc;
164        eval(['!mv ' pwd filesep dirIn filesep 'tmp_nctiles' filesep fldName ' ' pwd filesep dirOut]);
165    
166      end;%for fldName=listFlds;
167    
168    end;
169    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22