Changeset 19559


Ignore:
Timestamp:
09/19/15 14:49:09 (10 years ago)
Author:
Eric.Larour
Message:

CHG:
mask.m: allow only 1 element mesh.
verbose :added smb flag.
SMBgemb: added initial scaling of the ice density as density of the snowpack.

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

Legend:

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

    r19554 r19559  
    7070                t0dry = NaN; % warm snow timescale (30)
    7171                K     = NaN; % time scale temperature coef. (7)
     72
     73                %densities:
     74                InitDensityScaling= NaN; %initial scaling factor multiplying the density of ice, which describes the density of the snowpack.
    7275               
    7376                requested_outputs      = {};
     
    121124                self.dzTop = .05* ones (mesh.numberofelements,1);
    122125                self.dzMin = self.dzTop/2;
     126                self.InitDensityScaling = 1.0;
    123127               
    124128                he=sum(geometry.thickness(mesh.elements),2)/size(mesh.elements,2);
     
    170174                md = checkfield(md,'fieldname','smb.zY','NaN',1,'>=',1);
    171175                md = checkfield(md,'fieldname','smb.outputFreq','NaN',1,'>',0,'<',10*365); %10 years max
     176                md = checkfield(md,'fieldname','smb.InitDensityScaling','NaN',1,'>=',0,'<=',1);
    172177               
    173178                switch self.aIdx,
     
    220225                        fielddisplay(self,'zMin','initial min model depth (default is min(thickness,30)) [m]');
    221226                        fielddisplay(self,'zY','strech grid cells bellow top_z by a [top_dz * y ^ (cells bellow top_z)]');
     227                        fielddisplay(self,'InitDensityScaling',{'initial scaling factor multiplying the density of ice','which describes the density of the snowpack.'});
    222228                        fielddisplay(self,'outputFreq','output frequency in days (default is monthly, 30)');
    223229                        fielddisplay(self,'aIdx',{'method for calculating albedo and subsurface absorption (default is 1)',...
     
    289295                        WriteData(fid,'object',self,'class','smb','fieldname','swIdx','format','Integer','scale',1);
    290296                        WriteData(fid,'object',self,'class','smb','fieldname','denIdx','format','Integer','scale',1);
    291 
     297                        WriteData(fid,'object',self,'class','smb','fieldname','InitDensityScaling','format','Double');
    292298
    293299                        WriteData(fid,'object',self,'class','smb','fieldname','outputFreq','format','Double','scale',1);
  • issm/trunk-jpl/src/m/classes/mask.m

    r19090 r19559  
    7272                        isice=md.mask.ice_levelset<=0.;
    7373                        vlist = zeros(md.mesh.numberofvertices,1);
    74                         pos=find(sum(isice(md.mesh.elements),2)>0);
     74                        if md.mesh.numberofelements==1,
     75                                pos=find(sum(isice(md.mesh.elements),1)>0);
     76                        else
     77                                pos=find(sum(isice(md.mesh.elements),2)>0);
     78                        end
    7579                        vlist(md.mesh.elements(pos,:))=1;
    7680                        WriteData(fid,'data',vlist,'enum',IceMaskNodeActivationEnum(),'format','DoubleMat','mattype',1);
  • issm/trunk-jpl/src/m/classes/verbose.m

    r19040 r19559  
    1010%      qmu         : sensitivity analysis
    1111%      autodiff    : AD analysis
     12%      smb         : smb analysis
    1213%
    1314%   Usage:
     
    3334                qmu=false;
    3435                autodiff=false;
     36                smb=false;
    3537                %ENDFIELDS
    3638                % }}}
     
    104106                if (verbose.qmu), binary=bitor(binary,64); end
    105107                if (verbose.autodiff), binary=bitor(binary,128); end
     108                if (verbose.smb), binary=bitor(binary,256); end
    106109                %ENDVERB2BIN
    107110
     
    119122                if bitand(binary,64), verbose.qmu=true; else verbose.qmu=false; end
    120123                if bitand(binary,128), verbose.autodiff=true; else verbose.autodiff=false; end
     124                if bitand(binary,256), verbose.smb=true; else verbose.smb=false; end
    121125                %ENDBIN2VERB
    122126
     
    138142                disp(sprintf('   %15s : %s','qmu',mat2str(verbose.qmu)));
    139143                disp(sprintf('   %15s : %s','autodiff',mat2str(verbose.autodiff)));
     144                disp(sprintf('   %15s : %s','smb',mat2str(verbose.smb)));
    140145                %ENDDISP
    141146
  • issm/trunk-jpl/src/m/classes/verbose.py

    r17966 r19559  
    1717              qmu         : sensitivity analysis
    1818              autodiff    : AD analysis
     19              smb         : SMB analysis
    1920
    2021           Usage:
     
    3839                self.qmu         = False
    3940                self.autodiff    = False
     41                self.smb         = False
    4042                #ENDFIELDS
    4143
     
    8486                s+="   %15s : %s\n" % ('qmu',self.qmu)
    8587                s+="   %15s : %s\n" % ('autodiff',self.autodiff)
     88                s+="   %15s : %s\n" % ('smb',self.smb)
    8689                #ENDDISP
    8790
     
    108111                if self.autodiff:
    109112                        binary=binary | 128
     113                if self.smb:
     114                        binary=binary | 256
    110115                #ENDVERB2BIN
    111116
     
    123128                self.qmu        =bool(binary &  64)
    124129                self.autodiff   =bool(binary & 128)
     130                self.smb        =bool(binary & 256)
    125131                #ENDBIN2VERB
    126132        # }}}
Note: See TracChangeset for help on using the changeset viewer.