Changeset 18096


Ignore:
Timestamp:
06/03/14 16:07:45 (11 years ago)
Author:
seroussi
Message:

BUG: forgot class changes

File:
1 edited

Legend:

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

    r18093 r18096  
    44%      linearbasalforcings=linearbasalforcings();
    55
    6 classdef basalforcings
     6classdef linearbasalforcings
    77        properties (SetAccess=public)
    88                groundedice_melting_rate  = NaN;
     
    5050                        if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport==0),
    5151                                md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'forcing',1);
    52                                 md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'forcing',1);
     52                                md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'numel',1);
     53                                md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','numel',1);
     54                                md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0,'numel',1);
    5355                        end
    5456                        if ismember(BalancethicknessAnalysisEnum(),analyses),
    5557                                md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
    56                                 md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
     58                                md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'numel',1);
     59                                md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','numel',1);
     60                                md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0,'numel',1);
    5761                        end
    5862                        if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal==0),
     
    7882                        yts=365.0*24.0*3600.0;
    7983
    80                         floatingice_melting_rate=zeros(size(groundedice_melting_rate));
    81                         floatingice_melting_rate(find(md.geometry.base<=deepwater_elevation))=deepwater_melting_rate;
    82                         pos=find(md.geometry.base>deepwater_elevation & md.geometry.base<upperwater_elevation);
    83                         floatingice_melting_rate(pos)=deepwater_melting_rate*(md.geometry.base(pos)-upperwater_elevation)/(deepwater_elevation-upperwater_elevation);
     84                        floatingice_melting_rate=zeros(md.mesh.numberofvertices,1);
     85                        floatingice_melting_rate(find(md.geometry.base<=md.basalforcings.deepwater_elevation))=md.basalforcings.deepwater_melting_rate;
     86                        pos=find(md.geometry.base>md.basalforcings.deepwater_elevation & md.geometry.base<md.basalforcings.upperwater_elevation);
     87                        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);
    8488                        WriteData(fid,'enum',BasalforcingsEnum(),'data',LinearFloatingMeltRateEnum(),'format','Integer');
    85                         WriteData(fid,'object',obj,'fieldname','groundedice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
     89                        WriteData(fid,'data',floatingice_melting_rate,'format','DoubleMat','enum',BasalforcingsFloatingiceMeltingRateEnum(),'mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
     90                        WriteData(fid,'object',obj,'fieldname','groundedice_melting_rate','format','DoubleMat','enum',BasalforcingsGroundediceMeltingRateEnum(),'mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
     91                        WriteData(fid,'object',obj,'fieldname','geothermalflux','enum',BasalforcingsGeothermalfluxEnum(),'format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
    8692                        WriteData(fid,'object',obj,'fieldname','deepwater_melting_rate','format','Double','enum',BasalforcingsDeepwaterMeltingRateEnum(),'scale',1./yts)
    8793                        WriteData(fid,'object',obj,'fieldname','deepwater_elevation','format','Double','enum',BasalforcingsDeepwaterElevationEnum())
    8894                        WriteData(fid,'object',obj,'fieldname','upperwater_elevation','format','Double','enum',BasalforcingsUpperwaterElevationEnum())
    89                         WriteData(fid,'object',obj,'fieldname','geothermalflux','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
    9095                end % }}}
    9196        end
Note: See TracChangeset for help on using the changeset viewer.