Changeset 19024
- Timestamp:
- 01/20/15 14:08:09 (10 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/calving.m
r18955 r19024 6 6 classdef calving 7 7 properties (SetAccess=public) 8 calvingrate = NaN; 9 meltingrate = NaN; 10 end 11 methods (Static) 12 function obj = loadobj(obj) % {{{ 13 % This function is directly called by matlab when a model object is 14 % loaded. If the input is a struct it is an old version of this class and 15 % old fields must be recovered (make sure they are in the deprecated 16 % model properties) 17 18 if verLessThan('matlab','7.9'), 19 disp('Warning: your matlab version is old and there is a risk that load does not work correctly'); 20 disp(' if the model is not loaded correctly, rename temporarily loadobj so that matlab does not use it'); 21 22 % This is a Matlab bug: all the fields of md have their default value 23 % Example of error message: 24 % Warning: Error loading an object of class 'model': 25 % Undefined function or method 'exist' for input arguments of type 'cell' 26 % 27 % This has been fixed in MATLAB 7.9 (R2009b) and later versions 28 end 29 30 if isstruct(obj) 31 disp('Recovering calving from older version'); 32 objstruct = obj; 33 obj = structtoobj(calving(),objstruct); 34 end 35 end% }}} 8 stabilization = 0; 9 calvingrate = NaN; 10 meltingrate = NaN; 36 11 end 37 12 methods … … 56 31 function obj = setdefaultparameters(obj) % {{{ 57 32 33 %stabilization = 2 by default 34 obj.stabilization = 2; 35 58 36 end % }}} 59 37 function md = checkconsistency(obj,md,solution,analyses) % {{{ 60 38 %Early return 61 39 if (solution~=TransientSolutionEnum() | md.transient.iscalving==0), return; end 40 41 md = checkfield(md,'fieldname','calving.stabilization','values',[0 1 2]); 62 42 md = checkfield(md,'fieldname','calving.calvingrate(1:md.mesh.numberofvertices,:)','>=',0,'forcing',1,'NaN',1); 63 43 md = checkfield(md,'fieldname','calving.meltingrate(1:md.mesh.numberofvertices,:)','>=',0,'forcing',1,'NaN',1); … … 65 45 function disp(obj) % {{{ 66 46 disp(sprintf(' Calving parameters:')); 47 fielddisplay(obj,'stabilization','0: no, 1: artificial_diffusivity, 2: streamline upwinding'); 67 48 fielddisplay(obj,'calvingrate','calving rate at given location [m/a]'); 68 49 fielddisplay(obj,'meltingrate','melting rate at given location [m/a]'); … … 71 52 yts=365.0*24.0*3600.0; 72 53 WriteData(fid,'enum',CalvingLawEnum(),'data',DefaultCalvingEnum(),'format','Integer'); 54 WriteData(fid,'enum',LevelsetStabilizationEnum(),'data',obj.stabilization,'format','Integer'); 73 55 WriteData(fid,'object',obj,'fieldname','calvingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts); 74 56 WriteData(fid,'object',obj,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts); -
issm/trunk-jpl/src/m/classes/calving.py
r18965 r19024 14 14 15 15 def __init__(self): # {{{ 16 self.calvingrate = float('NaN') 17 self.meltingrate = float('NaN') 16 17 self.stabilization = 0 18 self.calvingrate = float('NaN') 19 self.meltingrate = float('NaN') 18 20 19 21 #set defaults … … 23 25 def __repr__(self): # {{{ 24 26 string=' Calving parameters:' 27 string="%s\n%s"%(string,fielddisplay(self,'stabilization','0: no, 1: artificial_diffusivity, 2: streamline upwinding')) 25 28 string="%s\n%s"%(string,fielddisplay(self,'calvingrate','calving rate at given location [m/a]')) 26 29 string="%s\n%s"%(string,fielddisplay(self,'meltingrate','melting rate at given location [m/a]')) … … 29 32 #}}} 30 33 def setdefaultparameters(self): # {{{ 34 35 #stabilization = 2 by default 36 self.stabilization = 2 31 37 32 38 return self … … 38 44 return md 39 45 46 md = checkfield(md,'fieldname','calving.stabilization','values',[0,1,2]); 40 47 md = checkfield(md,'fieldname','calving.calvingrate','>=',0,'forcing',1,'NaN',1); 41 48 md = checkfield(md,'fieldname','calving.meltingrate','>=',0,'forcing',1,'NaN',1); … … 48 55 49 56 WriteData(fid,'enum',CalvingLawEnum(),'data',DefaultCalvingEnum(),'format','Integer'); 57 WriteData(fid,'enum',LevelsetStabilizationEnum(),'data',self.stabilization,'format','Integer'); 50 58 WriteData(fid,'object',self,'fieldname','calvingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts) 51 59 WriteData(fid,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts) -
issm/trunk-jpl/src/m/classes/calvinglevermann.m
r18816 r19024 6 6 classdef calvinglevermann 7 7 properties (SetAccess=public) 8 coeff = NaN; 9 meltingrate = NaN; 8 stabilization = 0; 9 coeff = NaN; 10 meltingrate = NaN; 10 11 end 11 12 methods … … 29 30 end % }}} 30 31 function obj = setdefaultparameters(obj) % {{{ 32 33 %stabilization = 2 by default 34 obj.stabilization = 2; 35 31 36 %Proportionality coefficient in Levermann model 32 37 obj.coeff=2e13; … … 35 40 %Early return 36 41 if (solution~=TransientSolutionEnum() | md.transient.iscalving==0), return; end 42 43 md = checkfield(md,'fieldname','calving.stabilization','values',[0 1 2]); 37 44 md = checkfield(md,'fieldname','calving.coeff','>',0,'size',[md.mesh.numberofvertices 1]); 38 45 md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'size',[md.mesh.numberofvertices 1],'>=',0); … … 40 47 function disp(obj) % {{{ 41 48 disp(sprintf(' Calving Levermann parameters:')); 49 fielddisplay(obj,'stabilization','0: no, 1: artificial_diffusivity, 2: streamline upwinding'); 42 50 fielddisplay(obj,'coeff','proportionality coefficient in Levermann model'); 43 51 fielddisplay(obj,'meltingrate','melting rate at given location [m/a]'); … … 47 55 yts=365.0*24.0*3600.0; 48 56 WriteData(fid,'enum',CalvingLawEnum(),'data',CalvingLevermannEnum(),'format','Integer'); 57 WriteData(fid,'enum',LevelsetStabilizationEnum(),'data',obj.stabilization,'format','Integer'); 49 58 WriteData(fid,'enum',CalvinglevermannCoeffEnum(),'data',obj.coeff,'format','DoubleMat','mattype',1); 50 59 WriteData(fid,'object',obj,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts); -
issm/trunk-jpl/src/m/classes/calvinglevermann.py
r18816 r19024 14 14 15 15 def __init__(self): # {{{ 16 self.coeff = float('NaN') 17 self.meltingrate = float('NaN') 16 self.stabilization = 0 17 self.coeff = float('NaN') 18 self.meltingrate = float('NaN') 18 19 19 20 #set defaults … … 23 24 def __repr__(self): # {{{ 24 25 string=' Calving Levermann parameters:' 26 string="%s\n%s"%(string,fielddisplay(self,'stabilization','0: no, 1: artificial_diffusivity, 2: streamline upwinding')) 25 27 string="%s\n%s"%(string,fielddisplay(self,'coeff','proportionality coefficient in Levermann model')) 26 28 string="%s\n%s"%(string,fielddisplay(self,'meltingrate','melting rate at given location [m/a]')) … … 29 31 #}}} 30 32 def setdefaultparameters(self): # {{{ 33 34 #stabilization = 2 by default 35 self.stabilization = 2 31 36 32 37 #Proportionality coefficient in Levermann model … … 39 44 return md 40 45 46 md = checkfield(md,'fieldname','calving.stabilization','values',[0,1,2]); 41 47 md = checkfield(md,'fieldname','calving.coeff','size',[md.mesh.numberofvertices],'>',0) 42 48 md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'size',[md.mesh.numberofvertices],'>=',0) … … 46 52 yts=365.*24.*3600. 47 53 WriteData(fid,'enum',CalvingLawEnum(),'data',CalvingLevermannEnum(),'format','Integer'); 54 WriteData(fid,'enum',LevelsetStabilizationEnum(),'data',self.stabilization,'format','Integer'); 48 55 WriteData(fid,'enum',CalvinglevermannCoeffEnum(),'data',self.coeff,'format','DoubleMat','mattype',1) 49 56 WriteData(fid,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts) -
issm/trunk-jpl/src/m/classes/calvingpi.m
r18953 r19024 6 6 classdef calvingpi 7 7 properties (SetAccess=public) 8 coeff = NaN; 9 meltingrate = NaN; 8 stabilization = 0; 9 coeff = NaN; 10 meltingrate = NaN; 10 11 end 11 12 methods … … 29 30 end % }}} 30 31 function obj = setdefaultparameters(obj) % {{{ 32 33 %stabilization = 2 by default 34 obj.stabilization = 2; 35 31 36 %Proportionality coefficient in Pi model 32 37 obj.coeff=2e13; … … 35 40 %Early return 36 41 if (solution~=TransientSolutionEnum() | md.transient.iscalving==0), return; end 42 43 md = checkfield(md,'fieldname','calving.stabilization','values',[0 1 2]); 37 44 md = checkfield(md,'fieldname','calving.coeff','>',0,'size',[md.mesh.numberofvertices 1]); 38 45 md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'size',[md.mesh.numberofvertices 1],'>=',0); … … 40 47 function disp(obj) % {{{ 41 48 disp(sprintf(' Calving Pi parameters:')); 49 fielddisplay(obj,'stabilization','0: no, 1: artificial_diffusivity, 2: streamline upwinding'); 42 50 fielddisplay(obj,'coeff','proportionality coefficient in Pi model'); 43 51 fielddisplay(obj,'meltingrate','melting rate at given location [m/a]'); … … 47 55 yts=365.0*24.0*3600.0; 48 56 WriteData(fid,'enum',CalvingLawEnum(),'data',CalvingPiEnum(),'format','Integer'); 57 WriteData(fid,'enum',LevelsetStabilizationEnum(),'data',obj.stabilization,'format','Integer'); 49 58 WriteData(fid,'enum',CalvingpiCoeffEnum(),'data',obj.coeff,'format','DoubleMat','mattype',1); 50 59 WriteData(fid,'object',obj,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts); -
issm/trunk-jpl/src/wrappers/M1qn3/M1qn3.cpp
r19022 r19024 5 5 #include "./M1qn3.h" 6 6 7 #if ndef _HAVE_M1QN3_7 #ifdef _HAVE_M1QN3_ 8 8 /*m1qn3 prototypes {{{*/ 9 9 extern "C" void *ctonbe_; // DIS mode : Conversion … … 38 38 WRAPPER(M1qn3){ 39 39 40 #if ndef _HAVE_M1QN3_40 #ifdef _HAVE_M1QN3_ 41 41 /*input: */ 42 42 double* Xs=NULL; … … 161 161 162 162 163 #if ndef _HAVE_M1QN3_163 #ifdef _HAVE_M1QN3_ 164 164 void fakesimul(long* indic,long* n,double* X,double* pf,double* G,long izs[1],float rzs[1],void* dzs){ 165 165
Note:
See TracChangeset
for help on using the changeset viewer.