Changeset 23842


Ignore:
Timestamp:
04/12/19 09:28:50 (6 years ago)
Author:
Mathieu Morlighem
Message:

NEW: adding upperwater melting rate

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

Legend:

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

    r22505 r23842  
    66classdef linearbasalforcings
    77        properties (SetAccess=public)
    8                 groundedice_melting_rate  = NaN;
    98                deepwater_melting_rate    = 0.;
     9                upperwater_melting_rate   = 0.;
    1010                deepwater_elevation       = 0.;
    1111                upperwater_elevation      = 0.;
     12                groundedice_melting_rate  = NaN;
    1213                geothermalflux            = NaN;
    1314        end
     
    3839
    3940                        %default values for melting parameterization
    40                         self.deepwater_melting_rate = 50;
    41                         self.deepwater_elevation    = -800;
    42                         self.upperwater_elevation   = -400;
     41                        self.deepwater_melting_rate = 50.;
     42                        self.upperwater_melting_rate = 0.;
     43                        self.deepwater_elevation    = -800.;
     44                        self.upperwater_elevation   = -400.;
    4345
    4446                end % }}}
     
    4850                                md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
    4951                                md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'singletimeseries',1);
     52                                md = checkfield(md,'fieldname','basalforcings.upperwater_melting_rate','>=',0,'singletimeseries',1);
    5053                                md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','singletimeseries',1);
    5154                                md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<=',0,'singletimeseries',1);
     
    5457                                md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
    5558                                md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'singletimeseries',1);
     59                                md = checkfield(md,'fieldname','basalforcings.upperwater_melting_rate','>=',0,'singletimeseries',1);
    5660                                md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','singletimeseries',1);
    5761                                md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<=',0,'singletimeseries',1);
     
    6064                                md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
    6165                                md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'singletimeseries',1);
     66                                md = checkfield(md,'fieldname','basalforcings.upperwater_melting_rate','>=',0,'singletimeseries',1);
    6267                                md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','singletimeseries',1);
    6368                                md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<=',0,'singletimeseries',1);
     
    6873                        disp(sprintf('   basal forcings parameters:'));
    6974
    70                         fielddisplay(self,'groundedice_melting_rate','basal melting rate (positive if melting) [m/yr]');
    7175                        fielddisplay(self,'deepwater_melting_rate','basal melting rate (positive if melting applied for floating ice whith base < deepwater_elevation) [m/yr]');
    7276                        fielddisplay(self,'deepwater_elevation','elevation of ocean deepwater [m]');
     77                        fielddisplay(self,'upperwater_melting_rate','basal melting rate (positive if melting applied for floating ice whith base < upperwater_elevation) [m/yr]');
    7378                        fielddisplay(self,'upperwater_elevation','elevation of ocean upperwater [m]');
     79                        fielddisplay(self,'groundedice_melting_rate','basal melting rate (positive if melting) [m/yr]');
    7480                        fielddisplay(self,'geothermalflux','geothermal heat flux [W/m^2]');
    7581
     
    8490                        WriteData(fid,prefix,'object',self,'fieldname','deepwater_melting_rate','format','DoubleMat','mattype',3,'timeserieslength',2,'name','md.basalforcings.deepwater_melting_rate','scale',1./yts,'yts',md.constants.yts)
    8591                        WriteData(fid,prefix,'object',self,'fieldname','deepwater_elevation','format','DoubleMat','mattype',3,'name','md.basalforcings.deepwater_elevation','yts',md.constants.yts)
     92                        WriteData(fid,prefix,'object',self,'fieldname','upperwater_melting_rate','format','DoubleMat','mattype',3,'timeserieslength',2,'name','md.basalforcings.upperwater_melting_rate','scale',1./yts,'yts',md.constants.yts)
    8693                        WriteData(fid,prefix,'object',self,'fieldname','upperwater_elevation','format','DoubleMat','mattype',3,'name','md.basalforcings.upperwater_elevation','yts',md.constants.yts)
    8794                end % }}}
  • issm/trunk-jpl/src/m/classes/linearbasalforcings.py

    r23716 r23842  
    1919                        self.deepwater_melting_rate    = 0.
    2020                        self.deepwater_elevation       = 0.
     21                        self.upperwater_melting_rate    = 0.
    2122                        self.upperwater_elevation      = 0.
    2223                        self.geothermalflux            = float('NaN')
     
    3132                        self.deepwater_melting_rate    = 0.
    3233                        self.deepwater_elevation       = 0.
     34                        self.upperwater_melting_rate    = 0.
    3335                        self.upperwater_elevation      = 0.
    3436
     
    4244                string="   linear basal forcings parameters:"
    4345
    44                 string="%s\n%s"%(string,fielddisplay(self,"groundedice_melting_rate","basal melting rate (positive if melting) [m/yr]"))
    4546                string="%s\n%s"%(string,fielddisplay(self,"deepwater_melting_rate","basal melting rate (positive if melting applied for floating ice whith base < deepwater_elevation) [m/yr]"))
    4647                string="%s\n%s"%(string,fielddisplay(self,"deepwater_elevation","elevation of ocean deepwater [m]"))
     48                string="%s\n%s"%(string,fielddisplay(self,"upperwater_melting_rate","upper melting rate (positive if melting applied for floating ice whith base < upperwater_elevation) [m/yr]"))
    4749                string="%s\n%s"%(string,fielddisplay(self,"upperwater_elevation","elevation of ocean upper water [m]"))
     50                string="%s\n%s"%(string,fielddisplay(self,"groundedice_melting_rate","basal melting rate (positive if melting) [m/yr]"))
    4851                string="%s\n%s"%(string,fielddisplay(self,"geothermalflux","geothermal heat flux [W/m^2]"))
    4952                return string
     
    5962        def setdefaultparameters(self): # {{{
    6063
    61                 self.deepwater_melting_rate   = 50.0
    62                 self.deepwater_elevation      = -800.0
    63                 self.upperwater_elevation     = -400.0
     64                self.deepwater_melting_rate  = 50.0
     65                self.deepwater_elevation     = -800.0
     66                self.upperwater_melting_rate = 0.0
     67                self.upperwater_elevation    = -400.0
    6468
    6569                return self
     
    7074                        md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
    7175                        md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'singletimeseries',1)
     76                        md = checkfield(md,'fieldname','basalforcings.upperwater_melting_rate','>=',0,'singletimeseries',1)
    7277                        md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','singletimeseries',1)
    7378                        md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<=',0,'singletimeseries',1)
     
    7681                        md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
    7782                        md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'singletimeseries',1)
     83                        md = checkfield(md,'fieldname','basalforcings.upperwater_melting_rate','>=',0,'singletimeseries',1)
    7884                        md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','singletimeseries',1)
    7985                        md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<=',0,'singletimeseries',1)
     
    8288                        md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
    8389                        md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'singletimeseries',1)
     90                        md = checkfield(md,'fieldname','basalforcings.upperwater_melting_rate','>=',0,'singletimeseries',1)
    8491                        md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','singletimeseries',1)
    8592                        md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<=',0,'singletimeseries',1)
     
    97104                WriteData(fid,prefix,'object',self,'fieldname','deepwater_melting_rate','format','DoubleMat','mattype',3,'timeserieslength',2,'name','md.basalforcings.deepwater_melting_rate','scale',1./yts,'yts',md.constants.yts)
    98105                WriteData(fid,prefix,'object',self,'fieldname','deepwater_elevation','format','DoubleMat','mattype',3,'name','md.basalforcings.deepwater_elevation','yts',md.constants.yts)
     106                WriteData(fid,prefix,'object',self,'fieldname','upperwater_melting_rate','format','DoubleMat','mattype',3,'timeserieslength',2,'name','md.basalforcings.upperwater_melting_rate','scale',1./yts,'yts',md.constants.yts)
    99107                WriteData(fid,prefix,'object',self,'fieldname','upperwater_elevation','format','DoubleMat','mattype',3,'name','md.basalforcings.upperwater_elevation','yts',md.constants.yts)
    100108        # }}}
Note: See TracChangeset for help on using the changeset viewer.