/[MITgcm]/MITgcm_contrib/gael/profilesMatlabProcessing/profiles_misc/MITprof_struct.m
ViewVC logotype

Diff of /MITgcm_contrib/gael/profilesMatlabProcessing/profiles_misc/MITprof_struct.m

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

revision 1.1 by gforget, Thu Jan 27 20:21:09 2011 UTC revision 1.5 by gforget, Mon Mar 30 03:42:19 2015 UTC
# Line 1  Line 1 
1  function [MITprof]=MITprof_struct(nProf,nLev);  function [MITprof]=MITprof_struct(nProf,dataset,varargin);
2  %   [MITprof]=MITprof_struct;  %   [MITprof]=MITprof_struct;
3  %   create an empty struct variable using the format MITprof  %   create an empty struct variable using the format MITprof
4  %       nProf: number of profiles  %       nProf: number of profiles
5  %       nLev: number of vertical levels  %       prof_depth: list of depth levels
6    %       list_var: specify name of created fields
7    %
8    %   list of fields always created:
9    %       prof_depth      [nDepth x 1]
10    %       prof_descr      {nProf x 1}
11    %       prof_date       [nProf x 1]
12    %       prof_YYYYMMDD   [nProf x 1]
13    %       prof_HHMMSS     [nProf x 1]
14    %       prof_lon        [nProf x 1]
15    %       prof_lat        [nProf x 1]
16    %       prof_basin      [nProf x 1]
17    %       prof_point      [nProf x 1]
18    %       np, nr, list_descr, nd
19    %
20    %   list of fields created by default, if list_var not specified
21    %       prof_T, prof_Tflag, prof_Terr, prof_Tweight, prof_Testim
22    %       prof_S, prof_Sflag, prof_Serr, prof_Sweight, prof_Sestim
23    %           array size: [nProf x nLev]
24    
25    prof_depth=dataset.z_std;
26    
27    if isfield(dataset,'var_tmp');
28        var_tmp=dataset.var_tmp;
29        var_out=dataset.var_out;
30        jj=find(~strcmp(var_tmp,'z'));
31        var_tmp={var_tmp{jj}};
32        var_out={var_out{jj}};
33        list_vars={};
34        for ii=1:length(var_tmp);
35            list_vars={list_vars{:},['prof_' var_out{ii} ]};
36            list_vars={list_vars{:},['prof_' var_out{ii} 'weight']};
37            list_vars={list_vars{:},['prof_' var_out{ii} 'estim']};
38            list_vars={list_vars{:},['prof_' var_out{ii} 'err']};
39            list_vars={list_vars{:},['prof_' var_out{ii} 'flag']};
40        end;
41    else;
42        list_vars={'prof_T','prof_Tweight','prof_Testim','prof_Terr','prof_Tflag',...
43            'prof_S','prof_Sweight','prof_Sestim','prof_Serr','prof_Sflag'};
44        if ~strcmp(dataset.coord,'depth');
45            list_vars={list_vars{:},'prof_D','prof_Destim'};
46        end;
47    end;
48    if nargin>2,
49        list_vars=varargin{1};
50    end
51    
52    
53  MITprof=[];  MITprof=[];
54  MITprof.prof_depth=zeros(nLev,1);  
55    nLev=length(prof_depth);
56    prof_depth=reshape(prof_depth,length(prof_depth),1);
57    MITprof.prof_depth=prof_depth;
58    
59  MITprof.prof_date=zeros(nProf,1);  MITprof.prof_date=zeros(nProf,1);
60  MITprof.prof_YYYYMMDD=zeros(nProf,1);  MITprof.prof_YYYYMMDD=zeros(nProf,1);
61  MITprof.prof_HHMMSS=zeros(nProf,1);  MITprof.prof_HHMMSS=zeros(nProf,1);
# Line 13  MITprof.prof_lon=zeros(nProf,1); Line 63  MITprof.prof_lon=zeros(nProf,1);
63  MITprof.prof_lat=zeros(nProf,1);  MITprof.prof_lat=zeros(nProf,1);
64  MITprof.prof_basin=zeros(nProf,1);  MITprof.prof_basin=zeros(nProf,1);
65  MITprof.prof_point=zeros(nProf,1);  MITprof.prof_point=zeros(nProf,1);
66    
67  MITprof.prof_descr=cell(nProf,1);  MITprof.prof_descr=cell(nProf,1);
68  MITprof.prof_T=zeros(nProf,nLev);  
69  MITprof.prof_Tweight=zeros(nProf,nLev);  for ii=1:length(list_vars),
70  MITprof.prof_Testim=zeros(nProf,nLev);      MITprof=setfield(MITprof,list_vars{ii},zeros(nProf,nLev));
71  MITprof.prof_Tflag=zeros(nProf,nLev);  end
72  MITprof.prof_S=zeros(nProf,nLev);  
 MITprof.prof_Sweight=zeros(nProf,nLev);  
 MITprof.prof_Sestim=zeros(nProf,nLev);  
 MITprof.prof_Sflag=zeros(nProf,nLev);  
73  MITprof.np=nProf;  MITprof.np=nProf;
74  MITprof.nr=nLev;  MITprof.nr=nLev;
75  MITprof.nd=0;  MITprof.nd=0;

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

  ViewVC Help
Powered by ViewVC 1.1.22