24 |
doClim=0; |
doClim=0; |
25 |
|
|
26 |
%directory names |
%directory names |
27 |
listDirs={'STATE/','TRSP/'}; |
listDirs={'STATE/','TRSP/'};%BUDG? |
28 |
filAvailDiag=[dirModel 'available_diagnostics.log']; |
filAvailDiag=[dirModel 'available_diagnostics.log']; |
29 |
filReadme=[dirModel 'README']; |
filReadme=[dirModel 'README']; |
30 |
dirOut=[dirModel 'nctiles_tmp/']; |
dirOut=[dirModel 'nctiles_tmp/']; |
87 |
timUnits='days since 1992-1-1 0:0:0'; |
timUnits='days since 1992-1-1 0:0:0'; |
88 |
|
|
89 |
%get time step axis |
%get time step axis |
90 |
[listTimes]=diags_list_times({[dirModel 'diags/STATE/']},{'state_2d_set1'}); |
[listTimes]=diags_list_times({dirIn},{fileModel}); |
91 |
|
|
92 |
%get units and long name from available_diagnostics.log |
%get units and long name from available_diagnostics.log |
93 |
[avail_diag]=read_avail_diag(filAvailDiag,nameDiag); |
[avail_diag]=read_avail_diag(filAvailDiag,nameDiag); |
96 |
[rdm]=read_readme(filReadme); |
[rdm]=read_readme(filReadme); |
97 |
disp(rdm'); |
disp(rdm'); |
98 |
|
|
99 |
%convert to MITgcm format (90x1170 array) |
%set output directory/file name |
100 |
myFile=[dirOut nameDiag];%first instance is for subdirectory name |
myFile=[dirOut nameDiag];%first instance is for subdirectory name |
101 |
if ~isdir(myFile); mkdir(myFile); end; |
if ~isdir(myFile); mkdir(myFile); end; |
102 |
myFile=[myFile '/' nameDiag];%second instance is for file name base |
myFile=[myFile filesep nameDiag];%second instance is for file name base |
103 |
|
|
104 |
%get grid params |
%get grid params |
105 |
[grid_diag]=set_grid_diag(avail_diag); |
[grid_diag]=set_grid_diag(avail_diag); |
107 |
%apply mask, and convert to land mask |
%apply mask, and convert to land mask |
108 |
msk=grid_diag.msk; |
msk=grid_diag.msk; |
109 |
if length(size(myDiag{1}))==3; |
if length(size(myDiag{1}))==3; |
110 |
msk=repmat(msk,[1 1 size(myDiag{1},3)]); |
msk=repmat(msk(:,:,1),[1 1 size(myDiag{1},3)]); |
111 |
end; |
end; |
112 |
for kk=1:size(myDiag{1},4); |
for kk=1:size(myDiag{1},4); |
113 |
myDiag(:,:,:,kk)=myDiag(:,:,:,kk).*msk; |
myDiag(:,:,:,kk)=myDiag(:,:,:,kk).*msk; |
130 |
avail_diag.longNameDiag=[avail_diag.longNameDiag ' (climatology) ']; |
avail_diag.longNameDiag=[avail_diag.longNameDiag ' (climatology) ']; |
131 |
end; |
end; |
132 |
|
|
133 |
%create netcdf file using write2nctiles (works only with old matlab, thus far ...) |
%create netcdf file using write2nctiles |
134 |
doCreate=1; |
doCreate=1; |
135 |
dimlist=write2nctiles(myFile,myDiag,doCreate,{'tileNo',tileNo},... |
dimlist=write2nctiles(myFile,myDiag,doCreate,{'tileNo',tileNo},... |
136 |
{'fldName',nameDiag},{'longName',avail_diag.longNameDiag},... |
{'fldName',nameDiag},{'longName',avail_diag.longNameDiag},... |