1 |
gforget |
1.1 |
function []=diags_grid(dirModel,doInteractive); |
2 |
|
|
%object : load grid to mygrid if needed |
3 |
gforget |
1.3 |
%input : dirModel is the model output directory |
4 |
|
|
% doInteractive=1 allows users to specify parameters interactively |
5 |
|
|
% whereas doInteractive=0 tries to specify them automatically |
6 |
gforget |
1.1 |
|
7 |
|
|
%global variables |
8 |
|
|
gcmfaces_global; |
9 |
|
|
global myparms; |
10 |
|
|
|
11 |
|
|
if ~isfield(myparms,'dirGrid'); |
12 |
|
|
|
13 |
|
|
if isempty(dir('GRID'))&isempty(dir('nctiles_grid'))&... |
14 |
|
|
isempty(dir([dirModel filesep 'GRID']))&... |
15 |
|
|
isempty(dir([dirModel filesep 'nctiles_grid'])); |
16 |
|
|
dirGrid=input('grid directory?\n'); |
17 |
|
|
fprintf('\nFor the ECCO v4 LLC90 grid, the following parameters\n'); |
18 |
|
|
fprintf('apply: nF=5; frmt=''compact''; memoryLimit=0; \n\n'); |
19 |
|
|
nF=input('Number of faces? (nF=1, 4, 5 or 6)\n'); |
20 |
|
|
frmt=input('File format? (frmt=''straight'', ''cube'' or ''compact'')\n'); |
21 |
|
|
memoryLimit=input('memoryLimit? (0=load full grid, 1=less, 2=even less)\n'); |
22 |
|
|
elseif ~isempty(dir('GRID')); |
23 |
|
|
dirGrid=['GRID' filesep]; |
24 |
|
|
nF=5; |
25 |
|
|
frmt='compact'; |
26 |
|
|
memoryLimit=0; |
27 |
|
|
elseif ~isempty(dir('nctiles_grid')); |
28 |
|
|
dirGrid=['nctiles_grid' filesep]; |
29 |
|
|
nF=5; |
30 |
|
|
frmt='nctiles'; |
31 |
|
|
memoryLimit=0; |
32 |
|
|
elseif ~isempty(dir([dirModel filesep 'GRID'])); |
33 |
|
|
dirGrid=[dirModel filesep 'GRID' filesep]; |
34 |
|
|
nF=5; |
35 |
|
|
frmt='compact'; |
36 |
|
|
memoryLimit=0; |
37 |
|
|
elseif ~isempty(dir([dirModel filesep 'nctiles_grid'])); |
38 |
|
|
dirGrid=[dirModel filesep 'nctiles_grid' filesep]; |
39 |
|
|
nF=5; |
40 |
|
|
frmt='nctiles'; |
41 |
|
|
memoryLimit=0; |
42 |
|
|
end; |
43 |
|
|
|
44 |
|
|
if doInteractive; |
45 |
|
|
nF=input('number of faces? (1, 4, 5or 6)\n'); |
46 |
|
|
frmt=input('file format ? (''straight'', ''cube'' or ''compact'')\n'); |
47 |
|
|
memoryLimit=input('memoryLimit ? (0=load full grid, 1=load less, 2=load even less)\n'); |
48 |
|
|
end; |
49 |
|
|
|
50 |
|
|
myparms.dirGrid=dirGrid; myparms.nF=nF; |
51 |
|
|
myparms.frmt=frmt; myparms.memoryLimit=memoryLimit; |
52 |
|
|
|
53 |
|
|
end;%if ~isfield(myparms,'dirGrid'); |
54 |
|
|
|
55 |
|
|
%load mygrid if needed |
56 |
|
|
test1=isfield(mygrid,'dirGrid'); |
57 |
|
|
if test1; |
58 |
|
|
test1=strcmp(mygrid.dirGrid,myparms.dirGrid); |
59 |
|
|
end; |
60 |
|
|
if ~test1; |
61 |
|
|
fprintf([' diags_grid.m now loading mygrid \n']); |
62 |
|
|
grid_load(myparms.dirGrid,myparms.nF,myparms.frmt,myparms.memoryLimit); |
63 |
|
|
end; |
64 |
|
|
|
65 |
|
|
%add definition of zonal and transport lines to mygrid |
66 |
gforget |
1.2 |
if ~isfield(mygrid,'LATS_MASKS'); |
67 |
gforget |
1.1 |
fprintf([' diags_grid.m now defining zonal lines\n']); |
68 |
|
|
gcmfaces_lines_zonal; |
69 |
|
|
end; |
70 |
|
|
if ~isfield(mygrid,'LINES_MASKS'); |
71 |
|
|
fprintf([' diags_grid.m now defining transport lines\n']); |
72 |
|
|
[lonPairs,latPairs,names]=gcmfaces_lines_pairs; |
73 |
|
|
gcmfaces_lines_transp(lonPairs,latPairs,names); |
74 |
|
|
end; |
75 |
|
|
|
76 |
|
|
|