Changeset 19527 for issm/trunk-jpl/src/m/classes/SMBgradients.m
- Timestamp:
- 08/29/15 11:55:39 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/SMBgradients.m
r19040 r19527 10 10 b_pos = NaN; 11 11 b_neg = NaN; 12 requested_outputs = {}; 12 13 end 13 14 methods … … 25 26 26 27 end % }}} 28 function list = defaultoutputs(self,md) % {{{ 29 list = {''}; 30 end % }}} 27 31 function self = initialize(self,md) % {{{ 28 32 … … 38 42 39 43 if ismember(MasstransportAnalysisEnum(),analyses), 40 md = checkfield(md,'fieldname','s urfaceforcings.href','timeseries',1,'NaN',1);41 md = checkfield(md,'fieldname','s urfaceforcings.smbref','timeseries',1,'NaN',1);42 md = checkfield(md,'fieldname','s urfaceforcings.b_pos','timeseries',1,'NaN',1);43 md = checkfield(md,'fieldname','s urfaceforcings.b_neg','timeseries',1,'NaN',1);44 md = checkfield(md,'fieldname','smb.href','timeseries',1,'NaN',1); 45 md = checkfield(md,'fieldname','smb.smbref','timeseries',1,'NaN',1); 46 md = checkfield(md,'fieldname','smb.b_pos','timeseries',1,'NaN',1); 47 md = checkfield(md,'fieldname','smb.b_neg','timeseries',1,'NaN',1); 44 48 end 49 md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1); 45 50 end % }}} 46 51 function disp(self) % {{{ … … 52 57 fielddisplay(self,'b_pos',' slope of hs - smb regression line for accumulation regime required if smb gradients is activated'); 53 58 fielddisplay(self,'b_neg',' slope of hs - smb regression line for ablation regime required if smb gradients is activated'); 59 fielddisplay(self,'requested_outputs','additional outputs requested'); 54 60 55 61 end % }}} … … 58 64 yts=365.0*24.0*3600.0; 59 65 60 WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBgradientsEnum(),'format','Integer'); 61 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','href','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); 62 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 63 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 64 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 66 WriteData(fid,'enum',SmbEnum(),'data',SMBgradientsEnum(),'format','Integer'); 67 WriteData(fid,'object',self,'class','smb','fieldname','href','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); 68 WriteData(fid,'object',self,'class','smb','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 69 WriteData(fid,'object',self,'class','smb','fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 70 WriteData(fid,'object',self,'class','smb','fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 71 72 %process requested outputs 73 outputs = self.requested_outputs; 74 pos = find(ismember(outputs,'default')); 75 if ~isempty(pos), 76 outputs(pos) = []; %remove 'default' from outputs 77 outputs = [outputs defaultoutputs(self,md)]; %add defaults 78 end 79 WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum,'format','StringArray'); 65 80 66 81 end % }}}
Note:
See TracChangeset
for help on using the changeset viewer.