Changeset 20916


Ignore:
Timestamp:
07/14/16 16:58:06 (9 years ago)
Author:
agscott1
Message:

CHG: Hard-coded basal forcings and calving enums and updated Marshalling

Location:
issm/trunk-jpl/src
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/IoModel.cpp

    r20889 r20916  
    599599                                        /*Convert codes to Enums if needed*/
    600600                                        if(strcmp(record_name,"md.smb.model")==0) integer = IoCodeToEnumSMB(integer);
     601                                        if(strcmp(record_name,"md.basalforcings.model")==0) integer = IoCodeToEnumBasal(integer);
     602                                        if(strcmp(record_name,"md.calving.law")==0) integer = IoCodeToEnumCalving(integer);
    601603
    602604                                        /*Broadcast to other cpus*/
  • issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp

    r20889 r20916  
    5555        }
    5656}/*}}}*/
     57int IoCodeToEnumBasal(int enum_in){/*{{{*/
     58        switch(enum_in){
     59                case 1: return FloatingMeltRateEnum;
     60                case 2: return LinearFloatingMeltRateEnum;
     61                case 3: return MismipFloatingMeltRateEnum;
     62                case 4: return MantlePlumeGeothermalFluxEnum;
     63                default: _error_("Marshalled Basal Forcings code \""<<enum_in<<"\" not supported yet");
     64        }
     65}/*}}}*/
     66int IoCodeToEnumCalving(int enum_in){/*{{{*/
     67        switch(enum_in){
     68                case 1: return DefaultCalvingEnum;
     69                case 2: return CalvingDevEnum;
     70                case 3: return CalvingLevermannEnum;
     71                case 4: return CalvingMinthicknessEnum;
     72                default: _error_("Marshalled Calving law code \""<<enum_in<<"\" not supported yet");
     73        }
     74}/*}}}*/
  • issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.h

    r20889 r20916  
    55
    66int IoCodeToEnumSMB(int enum_in);
     7int IoCodeToEnumBasal(int enum_in);
     8int IoCodeToEnumCalving(int enum_in);
    79#endif 
  • issm/trunk-jpl/src/m/classes/basalforcings.js

    r20902 r20916  
    6464                        var yts=md.constants.yts;
    6565
    66                         WriteData(fid,prefix,'name','md.basalforcings.model','data',FloatingMeltRateEnum(),'format','Integer');
     66                        WriteData(fid,prefix,'name','md.basalforcings.model','data',1,'format','Integer');
    6767                        WriteData(fid,prefix,'object',this,'fieldname','groundedice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
    6868                        WriteData(fid,prefix,'object',this,'fieldname','floatingice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
  • issm/trunk-jpl/src/m/classes/basalforcings.m

    r20902 r20916  
    6868                        yts=md.constants.yts;
    6969
    70                         WriteData(fid,prefix,'name','md.basalforcings.model','data',FloatingMeltRateEnum(),'format','Integer');
     70                        WriteData(fid,prefix,'name','md.basalforcings.model','data',1,'format','Integer');
    7171                        WriteData(fid,prefix,'object',self,'fieldname','groundedice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
    7272                        WriteData(fid,prefix,'object',self,'fieldname','floatingice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
  • issm/trunk-jpl/src/m/classes/basalforcings.py

    r20902 r20916  
    7373                yts=md.constants.yts
    7474
    75                 WriteData(fid,prefix,'name','md.basalforcings.model','data',FloatingMeltRateEnum(),'format','Integer');
     75                WriteData(fid,prefix,'name','md.basalforcings.model','data',1,'format','Integer');
    7676                WriteData(fid,prefix,'object',self,'fieldname','groundedice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
    7777                WriteData(fid,prefix,'object',self,'fieldname','floatingice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
  • issm/trunk-jpl/src/m/classes/calving.js

    r20902 r20916  
    3333                this.marshall=function(md,prefix,fid) { //{{{
    3434                        var yts=md.constants.yts;
    35                         WriteData(fid,prefix,'name','md.calving.law','data',DefaultCalvingEnum(),'format','Integer');
     35                        WriteData(fid,prefix,'name','md.calving.law','data',1,'format','Integer');
    3636                        WriteData(fid,prefix,'object',this,'fieldname','calvingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1./yts);
    3737                        WriteData(fid,prefix,'object',this,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1./yts);
  • issm/trunk-jpl/src/m/classes/calving.m

    r20902 r20916  
    4949                function marshall(self,prefix,md,fid) % {{{
    5050                        yts=md.constants.yts;
    51                         WriteData(fid,prefix,'name','md.calving.law','data',DefaultCalvingEnum(),'format','Integer');
     51                        WriteData(fid,prefix,'name','md.calving.law','data',1,'format','Integer');
    5252                        WriteData(fid,prefix,'object',self,'fieldname','calvingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1./yts);
    5353                        WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1./yts);
  • issm/trunk-jpl/src/m/classes/calving.py

    r20902 r20916  
    5454                yts=md.constants.yts
    5555
    56                 WriteData(fid,prefix,'name','md.calving.law','data',DefaultCalvingEnum(),'format','Integer');
     56                WriteData(fid,prefix,'name','md.calving.law','data',1,'format','Integer');
    5757                WriteData(fid,prefix,'object',self,'fieldname','calvingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1./yts)
    5858                WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1./yts)
  • issm/trunk-jpl/src/m/classes/calvingdev.m

    r20896 r20916  
    5252                function marshall(self,prefix,md,fid) % {{{
    5353                        yts=md.constants.yts;
    54                         WriteData(fid,prefix,'name','md.calving.law','data',CalvingDevEnum(),'format','Integer');
     54                        WriteData(fid,prefix,'name','md.calving.law','data',2,'format','Integer');
    5555                        WriteData(fid,prefix,'object',self,'fieldname','coeff','format','DoubleMat','mattype',1);
    5656                        WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts);
  • issm/trunk-jpl/src/m/classes/calvinglevermann.m

    r20902 r20916  
    5252                function marshall(self,prefix,md,fid) % {{{
    5353                        yts=md.constants.yts;
    54                         WriteData(fid,prefix,'name','md.calving.law','data',CalvingLevermannEnum(),'format','Integer');
     54                        WriteData(fid,prefix,'name','md.calving.law','data',3,'format','Integer');
    5555                        WriteData(fid,prefix,'object',self,'fieldname','coeff','format','DoubleMat','mattype',1);
    5656                        WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1./yts);
  • issm/trunk-jpl/src/m/classes/calvinglevermann.py

    r20902 r20916  
    5151        def marshall(self,prefix,md,fid):    # {{{
    5252                yts=md.constants.yts
    53                 WriteData(fid,prefix,'name','md.calving.law','data',CalvingLevermannEnum(),'format','Integer');
     53                WriteData(fid,prefix,'name','md.calving.law','data',3,'format','Integer');
    5454                WriteData(fid,prefix,'object',self,'fieldname','coeff','format','DoubleMat','mattype',1)
    5555                WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1./yts)
  • issm/trunk-jpl/src/m/classes/calvingminthickness.m

    r20896 r20916  
    5151                function marshall(self,prefix,md,fid) % {{{
    5252                        yts=md.constants.yts;
    53                         WriteData(fid,prefix,'name','md.calving.law','data',CalvingMinthicknessEnum(),'format','Integer');
     53                        WriteData(fid,prefix,'name','md.calving.law','data',4,'format','Integer');
    5454                        WriteData(fid,prefix,'object',self,'fieldname','min_thickness','format','Double');
    5555                        WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts);
  • issm/trunk-jpl/src/m/classes/linearbasalforcings.m

    r20902 r20916  
    7979                        pos=find(md.geometry.base>md.basalforcings.deepwater_elevation & md.geometry.base<md.basalforcings.upperwater_elevation);
    8080                        floatingice_melting_rate(pos)=md.basalforcings.deepwater_melting_rate*(md.geometry.base(pos)-md.basalforcings.upperwater_elevation)/(md.basalforcings.deepwater_elevation-md.basalforcings.upperwater_elevation);
    81                         WriteData(fid,prefix,'name','md.basalforcings.model','data',LinearFloatingMeltRateEnum(),'format','Integer');
     81                        WriteData(fid,prefix,'name','md.basalforcings.model','data',2,'format','Integer');
    8282                        WriteData(fid,prefix,'data',floatingice_melting_rate,'format','DoubleMat','name','md.basalforcings.floatingice_melting_rate','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
    8383                        WriteData(fid,prefix,'object',self,'fieldname','groundedice_melting_rate','format','DoubleMat','name','md.basalforcings.groundedice_melting_rate','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
  • issm/trunk-jpl/src/m/classes/linearbasalforcings.py

    r20902 r20916  
    9999                floatingice_melting_rate[pos]=md.basalforcings.deepwater_melting_rate*(md.geometry.base[pos]-md.basalforcings.upperwater_elevation)/(md.basalforcings.deepwater_elevation-md.basalforcings.upperwater_elevation)
    100100
    101                 WriteData(fid,prefix,'name','md.basalforcings.model','data',LinearFloatingMeltRateEnum(),'format','Integer');
     101                WriteData(fid,prefix,'name','md.basalforcings.model','data',2,'format','Integer');
    102102                WriteData(fid,prefix,'object',self,'fieldname','groundedice_melting_rate','name','md.basalforcings.groundedice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
    103103                WriteData(fid,prefix,'data',floatingice_melting_rate,'name','md.basalforcings.floatingice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
  • issm/trunk-jpl/src/m/classes/mesh3dsurface.m

    r20706 r20916  
    130130                        fielddisplay(obj,'extractedelements','elements extracted from the model');
    131131                end % }}}
    132                 function marshall(obj,prefix,md,fid) % {{{
     132                function marshall(obj,md,fid) % {{{
    133133                        WriteData(fid,prefix,'name','md.mesh.domain_type','data',StringToEnum(['Domain' domaintype(obj)]),'format','Integer');
    134134                        WriteData(fid,prefix,'name','md.mesh.domain_dimension','data',dimension(obj),'format','Integer');
  • issm/trunk-jpl/src/m/classes/mismipbasalforcings.m

    r20902 r20916  
    8888                        floatingice_melting_rate=md.basalforcings.meltrate_factor*tanh((md.geometry.base-md.geometry.bed)./md.basalforcings.threshold_thickness).*max(md.basalforcings.upperdepth_melt-md.geometry.base,0);
    8989
    90                         WriteData(fid,prefix,'name','md.basalforcings.model','data',MismipFloatingMeltRateEnum(),'format','Integer');
     90                        WriteData(fid,prefix,'name','md.basalforcings.model','data',3,'format','Integer');
    9191                        WriteData(fid,prefix,'data',floatingice_melting_rate,'format','DoubleMat','name','md.basalforcings.floatingice_melting_rate','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
    9292                        WriteData(fid,prefix,'object',self,'fieldname','groundedice_melting_rate','format','DoubleMat','name','md.basalforcings.groundedice_melting_rate','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
  • issm/trunk-jpl/src/m/classes/mismipbasalforcings.py

    r20902 r20916  
    8787        floatingice_melting_rate = md.basalforcings.meltrate_factor*numpy.tanh((md.geometry.base-md.geometry.bed)/md.basalforcings.threshold_thickness)*numpy.amax(md.basalforcings.upperdepth_melt-md.geometry.base,0)
    8888
    89         WriteData(fid,prefix,'name','md.basalforcings.model','data',MismipFloatingMeltRateEnum(),'format','Integer')
     89        WriteData(fid,prefix,'name','md.basalforcings.model','data',3,'format','Integer')
    9090        WriteData(fid,prefix,'data',floatingice_melting_rate,'format','DoubleMat','name','md.basalforcings.floatingice_melting_rate','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
    9191        WriteData(fid,prefix,'object',self,'fieldname','groundedice_melting_rate','format','DoubleMat','name','md.basalforcings.groundedice_melting_rate','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
  • issm/trunk-jpl/src/m/classes/organizer.m

    r20717 r20916  
    55%      prefix:     prefix for saved model names
    66%      steps:      requested steps
    7 %      color:      color of step title (default is '41;37')
     7%      color:      color of step title (default is '41;37;01')
    88%
    99%   Usage:
     
    4545
    4646                        %Color
    47                         org.color=getfieldvalue(options,'color','41;37');
     47                        org.color=getfieldvalue(options,'color','41;37;01');
    4848
    4949                        %Get steps
  • issm/trunk-jpl/src/m/classes/plumebasalforcings.m

    r20902 r20916  
    113113                        yts=md.constants.yts;
    114114
    115                         WriteData(fid,prefix,'name','md.basalforcings.model','data',MantlePlumeGeothermalFluxEnum(),'format','Integer');
     115                        WriteData(fid,prefix,'name','md.basalforcings.model','data',4,'format','Integer');
    116116                        WriteData(fid,prefix,'object',self,'fieldname','floatingice_melting_rate','format','DoubleMat','name','md.basalforcings.floatingice_melting_rate','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
    117117                        WriteData(fid,prefix,'object',self,'fieldname','groundedice_melting_rate','format','DoubleMat','name','md.basalforcings.groundedice_melting_rate','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
Note: See TracChangeset for help on using the changeset viewer.