Changeset 18728


Ignore:
Timestamp:
11/04/14 09:32:21 (10 years ago)
Author:
seroussi
Message:

NEW: implemented SMBpdd changes in python

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

Legend:

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

    r18724 r18728  
    9696                        fielddisplay(obj,'Tdiff','time interpolation parameter for temperature, 1D(year)');
    9797                        fielddisplay(obj,'sealev','sea level [m], 1D(year)');
    98                         fielddisplay(obj,'monthlytemperatures','monthly surface temperatures [K], required if pdd is activated and delta18o not activated');
     98                        fielddisplay(obj,'monthlytemperatures','monthly surface temperatures [K], required if pdd is activated and delta18o not activated');
    9999                        fielddisplay(obj,'precipitation','surface precipitation [m/yr water eq]');
    100100                        fielddisplay(obj,'temperatures_presentday','monthly present day surface temperatures [K], required if pdd is activated and delta18o activated');
     
    117117                        WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','rlaps','format','Double');
    118118                        WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','rlapslgm','format','Double');
    119                         WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','Pfac','format','DoubleMat','mattype',1);
    120                         WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','Tdiff','format','DoubleMat','mattype',1);
    121                         WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','sealev','format','DoubleMat','mattype',1);
     119                        WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','Pfac','format','DoubleMat','mattype',1);
     120                        WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','Tdiff','format','DoubleMat','mattype',1);
     121                        WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','sealev','format','DoubleMat','mattype',1);
    122122                        WriteData(fid,'object',obj,'class','surfaceforcings','fieldname','isdelta18o','format','Boolean');
    123123                        if obj.isdelta18o
  • issm/trunk-jpl/src/m/classes/SMBpdd.py

    r17506 r18728  
    1919                self.desfac                    = 0.
    2020                self.s0p                       = 0.
     21                self.s0t                       = 0.
     22                self.rlaps                     = 0.
     23                self.rlapslgm                  = 0.
     24                self.Pfac                      = float('NaN')
     25                self.Tdiff                     = float('NaN')
     26                self.sealev                    = float('NaN')
    2127                self.isdelta18o                = 0
    2228                self.delta18o                  = float('NaN')
     
    3642                string="%s\n%s"%(string,fielddisplay(self,'isdelta18o','is temperature and precipitation delta18o parametrisation activated (0 or 1, default is 0)'))
    3743                string="%s\n%s"%(string,fielddisplay(self,'s0p','should be set to elevation from precip source (between 0 and a few 1000s m, default is 0) [m]'))
     44                string="%s\n%s"%(string,fielddisplay(self,'s0t','should be set to elevation from temperature source (between 0 and a few 1000s m, default is 0) [m]'))
     45                string="%s\n%s"%(string,fielddisplay(self,'rlaps','present day lapse rate [degree/km]'))
     46                string="%s\n%s"%(string,fielddisplay(self,'rlapslgm','LGM lapse rate [degree/km]'))
     47                string="%s\n%s"%(string,fielddisplay(self,'Pfac','time interpolation parameter for precipitation, 1D (year)'))
     48                string="%s\n%s"%(string,fielddisplay(self,'Tdiff','time interpolation parameter for temperature, 1D (year)'))
     49                string="%s\n%s"%(string,fielddisplay(self,'sealev','sea level [m], 1D(year)'))
    3850                string="%s\n%s"%(string,fielddisplay(self,'monthlytemperatures','monthly surface temperatures [K], required if pdd is activated and delta18o not activated'))
    3951                string="%s\n%s"%(string,fielddisplay(self,'temperatures_presentday','monthly present day surface temperatures [K], required if pdd is activated and delta18o activated'))
     
    6880                self.desfac     = 0.5
    6981                self.s0p        = 0.
     82                self.s0t        = 0.
     83                self.rlaps      = 6.5
     84                self.rlapslgm   = 6.5
    7085
    7186                return self
     
    7691                        md = checkfield(md,'fieldname','surfaceforcings.desfac','<=',1,'numel',[1]);
    7792                        md = checkfield(md,'fieldname','surfaceforcings.s0p','>=',0,'numel',[1]);
     93                        md = checkfield(md,'fieldname','surfaceforcings.s0t','>=',0,'numel',[1]);
     94                        md = checkfield(md,'fieldname','surfaceforcings.rlaps','>=',0,'numel',[1]);
     95                        md = checkfield(md,'fieldname','surfaceforcings.rlapslgm','>=',0,'numel',[1]);
     96                        md = checkfield(md,'fieldname','surfaceforcings.Pfac','NaN',1,'size',[2,NaN]);
     97                        md = checkfield(md,'fieldname','surfaceforcings.Tdiff','NaN',1,'size',[2,NaN]);
     98                        md = checkfield(md,'fieldname','surfaceforcings.sealev','NaN',1,'size',[2,NaN]);
    7899                        if not self.isdelta18o:
    79100                                md = checkfield(md,'fieldname','surfaceforcings.monthlytemperatures','forcing',1,'NaN',1)
     
    98119                WriteData(fid,'object',self,'class','surfaceforcings','fieldname','desfac','format','Double');
    99120                WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0p','format','Double');
     121                WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0t','format','Double');
     122                WriteData(fid,'object',self,'class','surfaceforcings','fieldname','rlaps','format','Double');
     123                WriteData(fid,'object',self,'class','surfaceforcings','fieldname','rlapslgm','format','Double');
     124                WriteData(fid,'object',self,'class','surfaceforcings','fieldname','Pfac','format','DoubleMat','mattype',1);
     125                WriteData(fid,'object',self,'class','surfaceforcings','fieldname','Tdiff','format','DoubleMat','mattype',1);
     126                WriteData(fid,'object',self,'class','surfaceforcings','fieldname','sealev','format','DoubleMat','mattype',1);
    100127                if self.isdelta18o:
    101128                        WriteData(fid,'object',self,'class','surfaceforcings','fieldname','temperatures_presentday','format','DoubleMat','mattype',1)
Note: See TracChangeset for help on using the changeset viewer.