/[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.2 by gforget, Sat Feb 1 18:19:26 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 62  myDiag=rdmds2gcmfaces([dirIn fileModel ' Line 60  myDiag=rdmds2gcmfaces([dirIn fileModel '
60    
61  %ancilliary fields for netcdf file  %ancilliary fields for netcdf file
62  tim=[1:size(myDiag{1},3)];  tim=[1:size(myDiag{1},3)];
 timName='month index';  
63  descr=nameDiag;  descr=nameDiag;
64    
65  %get units and long name from available_diagnostics.log  %get units and long name from available_diagnostics.log
66  [avail_diag]=read_avail_diag(filAvailDiag,nameDiag);  [avail_diag]=read_avail_diag(filAvailDiag,nameDiag);
67    
68    %get description of estimate from README
69    [rdm]=read_readme(filReadme);
70    disp(rdm');
71    
72  %convert to MITgcm format (90x1170 array)  %convert to MITgcm format (90x1170 array)
73  myFile=[dirOut nameDiag];  myFile=[dirOut nameDiag];
74    
# Line 78  myFile=[dirOut nameDiag]; Line 79  myFile=[dirOut nameDiag];
79  doCreate=1;  doCreate=1;
80  dimOut=write2nctiles(myFile,myDiag,doCreate,...  dimOut=write2nctiles(myFile,myDiag,doCreate,...
81      {'fldName',nameDiag},{'longName',avail_diag.longNameDiag},...      {'fldName',nameDiag},{'longName',avail_diag.longNameDiag},...
82      {'units',avail_diag.units},{'descr',descr});      {'units',avail_diag.units},{'descr',descr},{'rdm',rdm});
83    
84  %prepare to add fields  %prepare to add fields
85  doCreate=0;  doCreate=0;
86    
87  %determine relevant dimensions (note the reverse order)  %determine relevant dimensions (note the reverse order)
88  for ff=1:mygrid.nFaces;  for ff=1:mygrid.nFaces;
89      dimtim{ff}={dimOut{ff}{1}};
90    dim2d{ff}={dimOut{ff}{end-1:end}};    dim2d{ff}={dimOut{ff}{end-1:end}};
91    if avail_diag.nr~=1;    if avail_diag.nr~=1;
92      dimmsk{ff}={dimOut{ff}{end-2:end}};      dimmsk{ff}={dimOut{ff}{end-2:end}};
# Line 96  for ff=1:mygrid.nFaces; Line 98  for ff=1:mygrid.nFaces;
98  end;  end;
99    
100  %now add fields  %now add fields
101    write2nctiles(myFile,tim,doCreate,{'fldName','month'},...
102      {'longName','month index starting Jan. 1992'},...
103      {'units',''},{'dimIn',dimtim});
104  write2nctiles(myFile,grid_diag.lon,doCreate,...  write2nctiles(myFile,grid_diag.lon,doCreate,...
105    {'fldName','longitude'},{'units',''},{'dimIn',dim2d});    {'fldName','longitude'},{'units',''},{'dimIn',dim2d});
106  write2nctiles(myFile,grid_diag.lat,doCreate,...  write2nctiles(myFile,grid_diag.lat,doCreate,...
# Line 144  if ~isempty(who('timeStepNumber'));  met Line 149  if ~isempty(who('timeStepNumber'));  met
149    
150  %%  %%
151    
152    function [rdm]=read_readme(filReadme);
153    
154    gcmfaces_global;
155    
156    rdm=[];
157    
158    fid=fopen(filReadme,'rt');
159    while ~feof(fid);
160        nn=length(rdm);
161        rdm{nn+1} = fgetl(fid);
162    end;
163    fclose(fid);
164    
165    %%
166    
167  function [avail_diag]=read_avail_diag(filAvailDiag,nameDiag);  function [avail_diag]=read_avail_diag(filAvailDiag,nameDiag);
168    
169  gcmfaces_global;  gcmfaces_global;

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

  ViewVC Help
Powered by ViewVC 1.1.22