Changeset 22505


Ignore:
Timestamp:
03/07/18 10:18:54 (7 years ago)
Author:
Mathieu Morlighem
Message:

CHG: do not compute melt before marshalling

Location:
issm/trunk-jpl/src/m/classes
Files:
4 edited

Legend:

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

    r22136 r22505  
    7979                        yts=md.constants.yts;
    8080
    81                         floatingice_melting_rate=zeros(md.mesh.numberofvertices,1);
    82                         floatingice_melting_rate(find(md.geometry.base<=md.basalforcings.deepwater_elevation(1,1)))=md.basalforcings.deepwater_melting_rate(1,1);
    83                         pos=find(md.geometry.base>md.basalforcings.deepwater_elevation(1,1) & md.geometry.base<md.basalforcings.upperwater_elevation(1,1));
    84                         floatingice_melting_rate(pos)=md.basalforcings.deepwater_melting_rate(1,1)*(md.geometry.base(pos)-md.basalforcings.upperwater_elevation(1,1))/(md.basalforcings.deepwater_elevation(1,1)-md.basalforcings.upperwater_elevation(1,1));
    8581                        WriteData(fid,prefix,'name','md.basalforcings.model','data',2,'format','Integer');
    86                         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)
    8782                        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)
    8883                        WriteData(fid,prefix,'object',self,'fieldname','geothermalflux','name','md.basalforcings.geothermalflux','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
  • issm/trunk-jpl/src/m/classes/linearbasalforcings.py

    r22150 r22505  
    9292                yts=md.constants.yts
    9393
    94                 floatingice_melting_rate = np.zeros((md.mesh.numberofvertices))
    95 
    96                 pos = np.nonzero(md.geometry.base <= md.basalforcings.deepwater_elevation)
    97                 floatingice_melting_rate[pos] = md.basalforcings.deepwater_melting_rate[0][0]
    98 
    99                 pos = np.nonzero(np.logical_and(md.geometry.base > md.basalforcings.deepwater_elevation, md.geometry.base < md.basalforcings.upperwater_elevation))
    100 
    101                 floatingice_melting_rate[pos] = md.basalforcings.deepwater_melting_rate[0][0] * (md.geometry.base[pos] - md.basalforcings.upperwater_elevation) / (md.basalforcings.deepwater_elevation - md.basalforcings.upperwater_elevation)
    102 
    10394                WriteData(fid,prefix,'name','md.basalforcings.model','data',2,'format','Integer')
    104                 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)
    10595                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)
    10696                WriteData(fid,prefix,'object',self,'fieldname','geothermalflux','name','md.basalforcings.geothermalflux','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
  • issm/trunk-jpl/src/m/classes/mismipbasalforcings.m

    r21049 r22505  
    8585                        end
    8686
    87                         floatingice_melting_rate=zeros(md.mesh.numberofvertices,1);
    88                         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);
    89 
    9087                        WriteData(fid,prefix,'name','md.basalforcings.model','data',3,'format','Integer');
    91                         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)
    9288                        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)
    9389                        WriteData(fid,prefix,'object',self,'fieldname','geothermalflux','name','md.basalforcings.geothermalflux','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
  • issm/trunk-jpl/src/m/classes/mismipbasalforcings.py

    r22267 r22505  
    8686            print 'WARNING: value of yts for MISMIP+ runs different from ISSM default!'
    8787
    88         floatingice_melting_rate = np.zeros((md.mesh.numberofvertices))
    89         floatingice_melting_rate = md.basalforcings.meltrate_factor*np.tanh((md.geometry.base-md.geometry.bed)/md.basalforcings.threshold_thickness)*(md.basalforcings.upperdepth_melt-md.geometry.base)
    90 
    9188        WriteData(fid,prefix,'name','md.basalforcings.model','data',3,'format','Integer')
    92         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)
    9389        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)
    9490        WriteData(fid,prefix,'object',self,'fieldname','geothermalflux','name','md.basalforcings.geothermalflux','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
Note: See TracChangeset for help on using the changeset viewer.