Ignore:
Timestamp:
06/03/16 10:05:11 (9 years ago)
Author:
Mathieu Morlighem
Message:

NEW: marhsall strings instead of enums

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/classes/SMBgemb.m

    r20407 r20690  
    256256                       
    257257                end % }}}
    258                 function marshall(self,md,fid) % {{{
     258                function marshall(self,prefix,md,fid) % {{{
    259259
    260260                        yts=365.25*24.0*3600.0;
    261261
    262                         WriteData(fid,'enum',SmbEnum(),'data',SMBgembEnum(),'format','Integer');
    263                        
    264                         WriteData(fid,'object',self,'class','smb','fieldname','isgraingrowth','format','Boolean');
    265                         WriteData(fid,'object',self,'class','smb','fieldname','isalbedo','format','Boolean');
    266                         WriteData(fid,'object',self,'class','smb','fieldname','isshortwave','format','Boolean');
    267                         WriteData(fid,'object',self,'class','smb','fieldname','isthermal','format','Boolean');
    268                         WriteData(fid,'object',self,'class','smb','fieldname','isaccumulation','format','Boolean');
    269                         WriteData(fid,'object',self,'class','smb','fieldname','ismelt','format','Boolean');
    270                         WriteData(fid,'object',self,'class','smb','fieldname','isdensification','format','Boolean');
    271                         WriteData(fid,'object',self,'class','smb','fieldname','isturbulentflux','format','Boolean');
    272                         WriteData(fid,'object',self,'class','smb','fieldname','isgraingrowth','format','Boolean');
    273                         WriteData(fid,'object',self,'class','smb','fieldname','isgraingrowth','format','Boolean');
    274                        
    275                         WriteData(fid,'object',self,'class','smb','fieldname','Ta','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
    276                         WriteData(fid,'object',self,'class','smb','fieldname','V','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
    277                         WriteData(fid,'object',self,'class','smb','fieldname','dswrf','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
    278                         WriteData(fid,'object',self,'class','smb','fieldname','dlwrf','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
    279                         WriteData(fid,'object',self,'class','smb','fieldname','P','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
    280                         WriteData(fid,'object',self,'class','smb','fieldname','eAir','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
    281                         WriteData(fid,'object',self,'class','smb','fieldname','pAir','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
    282                        
    283                         WriteData(fid,'object',self,'class','smb','fieldname','Tmean','format','DoubleMat','mattype',2);
    284                         WriteData(fid,'object',self,'class','smb','fieldname','C','format','DoubleMat','mattype',2);
    285                         WriteData(fid,'object',self,'class','smb','fieldname','Tz','format','DoubleMat','mattype',2);
    286                         WriteData(fid,'object',self,'class','smb','fieldname','Vz','format','DoubleMat','mattype',2);
    287                         WriteData(fid,'object',self,'class','smb','fieldname','zTop','format','DoubleMat','mattype',2);
    288                         WriteData(fid,'object',self,'class','smb','fieldname','dzTop','format','DoubleMat','mattype',2);
    289                         WriteData(fid,'object',self,'class','smb','fieldname','dzMin','format','DoubleMat','mattype',2);
    290                         WriteData(fid,'object',self,'class','smb','fieldname','zY','format','DoubleMat','mattype',2);
    291                         WriteData(fid,'object',self,'class','smb','fieldname','zMax','format','DoubleMat','mattype',2);
    292                         WriteData(fid,'object',self,'class','smb','fieldname','zMin','format','DoubleMat','mattype',2);
    293                
    294                         WriteData(fid,'object',self,'class','smb','fieldname','aIdx','format','Integer');
    295                         WriteData(fid,'object',self,'class','smb','fieldname','swIdx','format','Integer');
    296                         WriteData(fid,'object',self,'class','smb','fieldname','denIdx','format','Integer');
    297                         WriteData(fid,'object',self,'class','smb','fieldname','InitDensityScaling','format','Double');
    298 
    299                         WriteData(fid,'object',self,'class','smb','fieldname','outputFreq','format','Double');
    300                         WriteData(fid,'object',self,'class','smb','fieldname','aSnow','format','Double');
    301                         WriteData(fid,'object',self,'class','smb','fieldname','aIce','format','Double');
    302                         WriteData(fid,'object',self,'class','smb','fieldname','cldFrac','format','Double');
    303                         WriteData(fid,'object',self,'class','smb','fieldname','t0wet','format','Double');
    304                         WriteData(fid,'object',self,'class','smb','fieldname','t0dry','format','Double');
    305                         WriteData(fid,'object',self,'class','smb','fieldname','K','format','Double');
     262                        WriteData(fid,prefix,'name','md.smb.model','data',SMBgembEnum(),'format','Integer');
     263                       
     264                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','isgraingrowth','format','Boolean');
     265                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','isalbedo','format','Boolean');
     266                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','isshortwave','format','Boolean');
     267                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','isthermal','format','Boolean');
     268                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','isaccumulation','format','Boolean');
     269                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','ismelt','format','Boolean');
     270                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','isdensification','format','Boolean');
     271                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','isturbulentflux','format','Boolean');
     272                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','isgraingrowth','format','Boolean');
     273                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','isgraingrowth','format','Boolean');
     274                       
     275                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','Ta','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
     276                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','V','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
     277                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','dswrf','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
     278                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','dlwrf','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
     279                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','P','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
     280                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','eAir','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
     281                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','pAir','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
     282                       
     283                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','Tmean','format','DoubleMat','mattype',2);
     284                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','C','format','DoubleMat','mattype',2);
     285                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','Tz','format','DoubleMat','mattype',2);
     286                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','Vz','format','DoubleMat','mattype',2);
     287                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','zTop','format','DoubleMat','mattype',2);
     288                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','dzTop','format','DoubleMat','mattype',2);
     289                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','dzMin','format','DoubleMat','mattype',2);
     290                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','zY','format','DoubleMat','mattype',2);
     291                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','zMax','format','DoubleMat','mattype',2);
     292                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','zMin','format','DoubleMat','mattype',2);
     293               
     294                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','aIdx','format','Integer');
     295                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','swIdx','format','Integer');
     296                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','denIdx','format','Integer');
     297                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','InitDensityScaling','format','Double');
     298
     299                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','outputFreq','format','Double');
     300                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','aSnow','format','Double');
     301                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','aIce','format','Double');
     302                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','cldFrac','format','Double');
     303                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','t0wet','format','Double');
     304                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','t0dry','format','Double');
     305                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','K','format','Double');
    306306
    307307                        %figure out dt from forcings:
     
    309309                        dtime=diff(time,1);
    310310                        dt=min(dtime);
    311                         WriteData(fid,'data',dt,'enum',SmbDtEnum,'format','Double','scale',yts);
     311                        WriteData(fid,prefix,'data',dt,'name','md.smb.dt','format','Double','scale',yts);
    312312                       
    313313                        %process requested outputs
     
    318318                                outputs      = [outputs defaultoutputs(self,md)]; %add defaults
    319319                        end
    320                         WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum,'format','StringArray');
     320                        WriteData(fid,prefix,'data',outputs,'name','md.smb.requested_outputs','format','StringArray');
    321321                end % }}}
    322322        end
Note: See TracChangeset for help on using the changeset viewer.