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

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

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

revision 1.1 by gforget, Thu Jan 30 17:05:12 2014 UTC revision 1.3 by gforget, Sun Feb 2 01:47:38 2014 UTC
# Line 14  function []=process2nctiles(dirModel,fil Line 14  function []=process2nctiles(dirModel,fil
14    
15  gcmfaces_global;  gcmfaces_global;
16    
 fprintf('to do list : embed README in global attributes\n');  
 fprintf('to do list : create tim variable\n');  
   
17  %directory names  %directory names
18  listDirs={'STATE/','TRSP/'};  listDirs={'STATE/','TRSP/'};
19  filAvailDiag=[dirModel 'available_diagnostics.log'];  filAvailDiag=[dirModel 'available_diagnostics.log'];
20    filReadme=[dirModel 'README'];
21  dirOut=[dirModel 'nctiles/'];  dirOut=[dirModel 'nctiles/'];
22  if ~isdir(dirOut); mkdir(dirOut); end;  if ~isdir(dirOut); mkdir(dirOut); end;
23    
# Line 61  if length(irec)~=1; error('field not in Line 59  if length(irec)~=1; error('field not in
59  myDiag=rdmds2gcmfaces([dirIn fileModel '*'],NaN,'rec',irec);  myDiag=rdmds2gcmfaces([dirIn fileModel '*'],NaN,'rec',irec);
60    
61  %ancilliary fields for netcdf file  %ancilliary fields for netcdf file
62  tim=[1:size(myDiag{1},3)];  nn=length(size(myDiag{1}));
63  timName='month index';  tim=[1:size(myDiag{1},nn)];
64  descr=nameDiag;  descr=nameDiag;
65    
66  %get units and long name from available_diagnostics.log  %get units and long name from available_diagnostics.log
67  [avail_diag]=read_avail_diag(filAvailDiag,nameDiag);  [avail_diag]=read_avail_diag(filAvailDiag,nameDiag);
68    
69    %get description of estimate from README
70    [rdm]=read_readme(filReadme);
71    disp(rdm');
72    
73  %convert to MITgcm format (90x1170 array)  %convert to MITgcm format (90x1170 array)
74  myFile=[dirOut nameDiag];  myFile=[dirOut nameDiag];
75    
# Line 78  myFile=[dirOut nameDiag]; Line 80  myFile=[dirOut nameDiag];
80  doCreate=1;  doCreate=1;
81  dimOut=write2nctiles(myFile,myDiag,doCreate,...  dimOut=write2nctiles(myFile,myDiag,doCreate,...
82      {'fldName',nameDiag},{'longName',avail_diag.longNameDiag},...      {'fldName',nameDiag},{'longName',avail_diag.longNameDiag},...
83      {'units',avail_diag.units},{'descr',descr});      {'units',avail_diag.units},{'descr',descr},{'rdm',rdm});
84    
85  %prepare to add fields  %prepare to add fields
86  doCreate=0;  doCreate=0;
87    
88  %determine relevant dimensions (note the reverse order)  %determine relevant dimensions (note the reverse order)
89  for ff=1:mygrid.nFaces;  for ff=1:mygrid.nFaces;
90      dimtim{ff}={dimOut{ff}{1}};
91    dim2d{ff}={dimOut{ff}{end-1:end}};    dim2d{ff}={dimOut{ff}{end-1:end}};
92    if avail_diag.nr~=1;    if avail_diag.nr~=1;
93      dimmsk{ff}={dimOut{ff}{end-2:end}};      dimmsk{ff}={dimOut{ff}{end-2:end}};
# Line 96  for ff=1:mygrid.nFaces; Line 99  for ff=1:mygrid.nFaces;
99  end;  end;
100    
101  %now add fields  %now add fields
102    write2nctiles(myFile,tim,doCreate,{'fldName','month'},...
103      {'longName','month index starting Jan. 1992'},...
104      {'units',''},{'dimIn',dimtim});
105  write2nctiles(myFile,grid_diag.lon,doCreate,...  write2nctiles(myFile,grid_diag.lon,doCreate,...
106    {'fldName','longitude'},{'units',''},{'dimIn',dim2d});    {'fldName','longitude'},{'units',''},{'dimIn',dim2d});
107  write2nctiles(myFile,grid_diag.lat,doCreate,...  write2nctiles(myFile,grid_diag.lat,doCreate,...
# Line 144  if ~isempty(who('timeStepNumber'));  met Line 150  if ~isempty(who('timeStepNumber'));  met
150    
151  %%  %%
152    
153    function [rdm]=read_readme(filReadme);
154    
155    gcmfaces_global;
156    
157    rdm=[];
158    
159    fid=fopen(filReadme,'rt');
160    while ~feof(fid);
161        nn=length(rdm);
162        rdm{nn+1} = fgetl(fid);
163    end;
164    fclose(fid);
165    
166    %%
167    
168  function [avail_diag]=read_avail_diag(filAvailDiag,nameDiag);  function [avail_diag]=read_avail_diag(filAvailDiag,nameDiag);
169    
170  gcmfaces_global;  gcmfaces_global;

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

  ViewVC Help
Powered by ViewVC 1.1.22