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

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

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


Revision 1.1 - (hide annotations) (download)
Tue Jan 20 12:01:19 2015 UTC (10 years, 5 months ago) by gforget
Branch: MAIN
- process2nctiles.m : minor fixes
- struct2nctiles.m : output data structure to nctiles
- prep2nctiles.m : two examples using struct2nctiles.m

1 gforget 1.1
2     choiceStruct=1;
3    
4     %===============
5    
6     if choiceStruct==1;
7     structIn=[];
8     %
9     structIn.vars=mygrid;
10     structIn.vars.RF=structIn.vars.RF(1:50);
11     %
12     structIn.descr={'C-grid parameters (see MITgcm documentation for details).'};
13     %
14     vars=[]; nv=length(vars)+1;
15     vars(nv).fldName='XC'; vars(nv).longName='longitude'; vars(nv).units='degrees_east'; nv=length(vars)+1;
16     vars(nv).fldName='YC'; vars(nv).longName='latitude'; vars(nv).units='degrees_north'; nv=length(vars)+1;
17     vars(nv).fldName='XG'; vars(nv).longName='longitude'; vars(nv).units='degrees_east'; nv=length(vars)+1;
18     vars(nv).fldName='YG'; vars(nv).longName='latitude'; vars(nv).units='degrees_north'; nv=length(vars)+1;
19     vars(nv).fldName='RAC'; vars(nv).longName='grid cell area'; vars(nv).units='m^2'; nv=length(vars)+1;
20     vars(nv).fldName='RAZ'; vars(nv).longName='grid cell area'; vars(nv).units='m^2'; nv=length(vars)+1;
21     vars(nv).fldName='DXC'; vars(nv).longName='grid spacing'; vars(nv).units='m'; nv=length(vars)+1;
22     vars(nv).fldName='DYC'; vars(nv).longName='grid spacing'; vars(nv).units='m'; nv=length(vars)+1;
23     vars(nv).fldName='DXG'; vars(nv).longName='grid spacing'; vars(nv).units='m'; nv=length(vars)+1;
24     vars(nv).fldName='DYG'; vars(nv).longName='grid spacing'; vars(nv).units='m'; nv=length(vars)+1;
25     vars(nv).fldName='hFacC'; vars(nv).longName='fractional thickness'; vars(nv).units='1'; nv=length(vars)+1;
26     vars(nv).fldName='hFacW'; vars(nv).longName='fractional thickness'; vars(nv).units='1'; nv=length(vars)+1;
27     vars(nv).fldName='hFacS'; vars(nv).longName='fractional thickness'; vars(nv).units='1'; nv=length(vars)+1;
28     vars(nv).fldName='Depth'; vars(nv).longName='sea floor depth'; vars(nv).units='m'; nv=length(vars)+1;
29     vars(nv).fldName='AngleCS'; vars(nv).longName='grid orientation (cosine)'; vars(nv).units='m'; nv=length(vars)+1;
30     vars(nv).fldName='AngleSN'; vars(nv).longName='grid orientation (sine)'; vars(nv).units='m'; nv=length(vars)+1;
31     vars(nv).fldName='RC'; vars(nv).longName='vertical coordinate'; vars(nv).units='m'; nv=length(vars)+1;
32     vars(nv).fldName='RF'; vars(nv).longName='vertical coordinate'; vars(nv).units='m'; nv=length(vars)+1;
33     vars(nv).fldName='DRC'; vars(nv).longName='grid spacing'; vars(nv).units='m'; nv=length(vars)+1;
34     vars(nv).fldName='DRF'; vars(nv).longName='grid spacing'; vars(nv).units='m'; nv=length(vars)+1;
35     %
36     structIn.defs=vars;
37     %
38     struct2nctiles('release1/','GRID',structIn,[90 90]);
39     end;
40    
41     %===============
42    
43     if choiceStruct==2;
44     budgName='budgHo'
45    
46     structIn=[];
47     %
48     load release1/mat/diags_grid_parms.mat myparms;
49     dirMat=['release1/mat/diags_set_' budgName '/'];
50     fileMat=[budgName '_*.mat'];
51     structIn.vars=diags_read_from_mat(dirMat,fileMat);
52    
53     %need vector of time increment
54     [listTimes]=diags_list_times({'release1/diags/BUDG/'},{'budg2d_hflux_set1'});
55     structIn.vars.dt=diff(listTimes);
56     structIn.vars.dt=3600*structIn.vars.dt(1:end-1)';
57     %
58     specs=structIn.vars.specs(1);
59     if strcmp(specs.units,'W');
60     structIn.descr={'Heat budget in extensive form (in Watt, on C-Grid)'};
61     elseif strcmp(specs.units,'kg/s');
62     structIn.descr={'Mass budget in extensive form (in kg/s, on C-Grid)'};
63     elseif strcmp(specs.units,'g/s');
64     structIn.descr={'Salt budget in extensive form (in g/s, on C-Grid)'};
65     else;
66     error('unknown budget');
67     end;
68     structIn.descr={structIn.descr{:},'between',specs.top,'(top) and',specs.bottom,'(bottom)'};
69     %
70     vars=[]; nv=length(vars)+1;
71     vars(nv).fldName='tend'; vars(nv).longName='tendency term'; vars(nv).units=specs.units; nv=length(vars)+1;
72     vars(nv).fldName='trU'; vars(nv).longName='horizontal transport'; vars(nv).units=specs.units; nv=length(vars)+1;
73     vars(nv).fldName='trV'; vars(nv).longName='horizontal transport'; vars(nv).units=specs.units; nv=length(vars)+1;
74     vars(nv).fldName='trWtop'; vars(nv).longName='vertical transport'; vars(nv).units=specs.units; nv=length(vars)+1;
75     vars(nv).fldName='trWbot'; vars(nv).longName='vertical transport'; vars(nv).units=specs.units; nv=length(vars)+1;
76     vars(nv).fldName='dt'; vars(nv).longName='time increment'; vars(nv).units='s'; nv=length(vars)+1;
77     %
78     structIn.defs=vars;
79     %
80     struct2nctiles('release1/',budgName,structIn,[90 90]);
81    
82     end;
83    

  ViewVC Help
Powered by ViewVC 1.1.22