Changeset 18756


Ignore:
Timestamp:
11/07/14 15:36:38 (10 years ago)
Author:
srebuffi
Message:

CHG: added calving class

File:
1 edited

Legend:

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

    r18741 r18756  
    1515        def __init__(self): # {{{
    1616                self.spcthickness           = float('NaN')
    17                 self.iscalvingrate          = 0
    18                 self.calvingrate            = float('NaN')
    19                 self.levermann_calving_coeff= 0.
    2017                self.isfreesurface          = 0
    2118                self.min_thickness          = 0.
     
    3330                string='   Masstransport solution parameters:'
    3431                string="%s\n%s"%(string,fielddisplay(self,'spcthickness','thickness constraints (NaN means no constraint) [m]'))
    35                 string="%s\n%s"%(string,fielddisplay(self,'iscalvingrate','do we use calving (loss of ice)'))
    36                 string="%s\n%s"%(string,fielddisplay(self,'calvingrate','calving rate at given location [m/a]'))
    37                 string="%s\n%s"%(string,fielddisplay(self,'levermann_calving_coeff','Proportionality coefficient in Levermann model'))
    3832                string="%s\n%s"%(string,fielddisplay(self,'isfreesurface','do we use free surfaces (FS only) are mass conservation'))
    3933                string="%s\n%s"%(string,fielddisplay(self,'min_thickness','minimum ice thickness allowed [m]'))
     
    5145        def setdefaultparameters(self): # {{{
    5246
    53                 #Proportionality coefficient in Levermann model                                 |
    54                 self.levermann_calving_coeff=2.e13
    55                
    5647                #Type of stabilization to use 0:nothing 1:artificial_diffusivity 3:Discontinuous Galerkin
    5748                self.stabilization=1
     
    7768
    7869                md = checkfield(md,'fieldname','masstransport.spcthickness','forcing',1)
    79                 if LevelsetAnalysisEnum() in analyses and md.transient.islevelset:
    80                         md = checkfield(md,'fieldname','masstransport.calvingrate','NaN',1,'size',[md.mesh.numberofvertices],'>=',0)
    81                         md = checkfield(md,'fieldname','masstransport.iscalvingrate','values',[0,1])
    82                         md = checkfield(md,'fieldname','masstransport.levermann_calving_coeff','>',0)
    8370                md = checkfield(md,'fieldname','masstransport.isfreesurface','values',[0,1])
    8471                md = checkfield(md,'fieldname','masstransport.hydrostatic_adjustment','values',['Absolute','Incremental'])
     
    9481
    9582                WriteData(fid,'object',self,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
    96                 WriteData(fid,'object',self,'fieldname','calvingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts)
    97                 WriteData(fid,'object',self,'fieldname','iscalvingrate','format','Boolean')
    98                 WriteData(fid,'object',self,'fieldname','levermann_calving_coeff','format','Double')
    9983                WriteData(fid,'object',self,'fieldname','isfreesurface','format','Boolean')
    10084                WriteData(fid,'object',self,'fieldname','min_thickness','format','Double')
Note: See TracChangeset for help on using the changeset viewer.