Changeset 15132
- Timestamp:
- 05/28/13 19:33:26 (12 years ago)
- Location:
- issm/trunk-jpl/src/m
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/balancethickness.m
r15131 r15132 29 29 if solution~=BalancethicknessSolutionEnum(), return; end 30 30 31 md = checkfield(md,'balancethickness.spcthickness' ,'forcing',1);31 md = checkfield(md,'balancethickness.spcthickness'); 32 32 md = checkfield(md,'balancethickness.thickening_rate','size',[md.mesh.numberofvertices 1],'NaN',1); 33 33 md = checkfield(md,'balancethickness.stabilization','size',[1 1],'values',[0 1 2 3]); -
issm/trunk-jpl/src/m/classes/balancethickness.py
r15131 r15132 42 42 return md 43 43 44 md = checkfield(md,'balancethickness.spcthickness' ,'forcing',1)44 md = checkfield(md,'balancethickness.spcthickness') 45 45 md = checkfield(md,'balancethickness.thickening_rate','size',[md.mesh.numberofvertices],'NaN',1) 46 46 md = checkfield(md,'balancethickness.stabilization','size',[1],'values',[0,1,2,3]) -
issm/trunk-jpl/src/m/classes/basalforcings.m
r15131 r15132 47 47 yts=365.0*24.0*3600.0; 48 48 49 WriteData(fid,'object',obj,'fieldname','melting_rate','format','DoubleMat','mattype',1,'scale',1./yts );49 WriteData(fid,'object',obj,'fieldname','melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcing',1); 50 50 WriteData(fid,'object',obj,'fieldname','melting_rate_correction','format','DoubleMat','mattype',1,'scale',1./yts); 51 WriteData(fid,'object',obj,'fieldname','geothermalflux','format','DoubleMat','mattype',1 );51 WriteData(fid,'object',obj,'fieldname','geothermalflux','format','DoubleMat','mattype',1,'forcing',1); 52 52 end % }}} 53 53 end -
issm/trunk-jpl/src/m/classes/basalforcings.py
r15131 r15132 50 50 yts=365.0*24.0*3600.0 51 51 52 WriteData(fid,'object',self,'fieldname','melting_rate','format','DoubleMat','mattype',1,'scale',1./yts )52 WriteData(fid,'object',self,'fieldname','melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcing',1) 53 53 WriteData(fid,'object',self,'fieldname','melting_rate_correction','format','DoubleMat','mattype',1,'scale',1./yts) 54 WriteData(fid,'object',self,'fieldname','geothermalflux','format','DoubleMat','mattype',1 )54 WriteData(fid,'object',self,'fieldname','geothermalflux','format','DoubleMat','mattype',1,'forcing',1) 55 55 # }}} -
issm/trunk-jpl/src/m/classes/diagnostic.m
r15131 r15132 151 151 end % }}} 152 152 function marshall(obj,md,fid) % {{{ 153 WriteData(fid,'object',obj,'fieldname','spcvx','format','DoubleMat','mattype',1 );154 WriteData(fid,'object',obj,'fieldname','spcvy','format','DoubleMat','mattype',1 );155 WriteData(fid,'object',obj,'fieldname','spcvz','format','DoubleMat','mattype',1 );153 WriteData(fid,'object',obj,'fieldname','spcvx','format','DoubleMat','mattype',1,'forcing',1); 154 WriteData(fid,'object',obj,'fieldname','spcvy','format','DoubleMat','mattype',1,'forcing',1); 155 WriteData(fid,'object',obj,'fieldname','spcvz','format','DoubleMat','mattype',1,'forcing',1); 156 156 WriteData(fid,'object',obj,'fieldname','restol','format','Double'); 157 157 WriteData(fid,'object',obj,'fieldname','reltol','format','Double'); -
issm/trunk-jpl/src/m/classes/diagnostic.py
r15131 r15132 161 161 # }}} 162 162 def marshall(self,md,fid): # {{{ 163 WriteData(fid,'object',self,'fieldname','spcvx','format','DoubleMat','mattype',1 )164 WriteData(fid,'object',self,'fieldname','spcvy','format','DoubleMat','mattype',1 )165 WriteData(fid,'object',self,'fieldname','spcvz','format','DoubleMat','mattype',1 )163 WriteData(fid,'object',self,'fieldname','spcvx','format','DoubleMat','mattype',1,'forcing',1) 164 WriteData(fid,'object',self,'fieldname','spcvy','format','DoubleMat','mattype',1,'forcing',1) 165 WriteData(fid,'object',self,'fieldname','spcvz','format','DoubleMat','mattype',1,'forcing',1) 166 166 WriteData(fid,'object',self,'fieldname','restol','format','Double') 167 167 WriteData(fid,'object',self,'fieldname','reltol','format','Double') -
issm/trunk-jpl/src/m/classes/geometry.m
r15131 r15132 52 52 function marshall(obj,md,fid) % {{{ 53 53 WriteData(fid,'data',obj.surface,'format','DoubleMat','mattype',1,'enum',SurfaceEnum()); 54 WriteData(fid,'data',obj.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum() );54 WriteData(fid,'data',obj.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum(),'forcing',1); 55 55 WriteData(fid,'data',obj.bed,'format','DoubleMat','mattype',1,'enum',BedEnum()); 56 56 WriteData(fid,'data',obj.bathymetry,'format','DoubleMat','mattype',1,'enum',BathymetryEnum()); -
issm/trunk-jpl/src/m/classes/geometry.py
r15131 r15132 40 40 md = checkfield(md,'geometry.surface' ,'NaN',1,'size',[md.mesh.numberofvertices]) 41 41 md = checkfield(md,'geometry.bed' ,'NaN',1,'size',[md.mesh.numberofvertices]) 42 md = checkfield(md,'geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices],'>',0 )42 md = checkfield(md,'geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices],'>',0,'forcing',1) 43 43 if any((self.thickness-self.surface+self.bed)>10**-9): 44 44 md.checkmessage("equality thickness=surface-bed violated") … … 50 50 def marshall(self,md,fid): # {{{ 51 51 WriteData(fid,'data',self.surface,'format','DoubleMat','mattype',1,'enum',SurfaceEnum()) 52 WriteData(fid,'data',self.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum() )52 WriteData(fid,'data',self.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum(),'forcing',1) 53 53 WriteData(fid,'data',self.bed,'format','DoubleMat','mattype',1,'enum',BedEnum()) 54 54 WriteData(fid,'data',self.bathymetry,'format','DoubleMat','mattype',1,'enum',BathymetryEnum()) -
issm/trunk-jpl/src/m/classes/hydrologydc.m
r15131 r15132 147 147 end 148 148 149 WriteData(fid,'object',obj,'fieldname','spcsediment_head','format','DoubleMat','mattype',1 );149 WriteData(fid,'object',obj,'fieldname','spcsediment_head','format','DoubleMat','mattype',1,'forcing',1); 150 150 WriteData(fid,'object',obj,'fieldname','sediment_compressibility','format','Double'); 151 151 WriteData(fid,'object',obj,'fieldname','sediment_porosity','format','Double'); … … 154 154 155 155 if obj.isefficientlayer==1, 156 WriteData(fid,'object',obj,'fieldname','spcepl_head','format','DoubleMat','mattype',1 );156 WriteData(fid,'object',obj,'fieldname','spcepl_head','format','DoubleMat','mattype',1,'forcing',1); 157 157 WriteData(fid,'object',obj,'fieldname','epl_compressibility','format','Double'); 158 158 WriteData(fid,'object',obj,'fieldname','epl_porosity','format','Double'); -
issm/trunk-jpl/src/m/classes/hydrologyshreve.m
r15131 r15132 61 61 function marshall(obj,md,fid) % {{{ 62 62 WriteData(fid,'enum',HydrologyModelEnum(),'data',HydrologyshreveEnum(),'format','Integer'); 63 WriteData(fid,'object',obj,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1 );63 WriteData(fid,'object',obj,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1,'forcing',1); 64 64 WriteData(fid,'object',obj,'fieldname','n','format','Double'); 65 65 WriteData(fid,'object',obj,'fieldname','CR','format','Double'); -
issm/trunk-jpl/src/m/classes/hydrologyshreve.py
r15131 r15132 64 64 def marshall(self,md,fid): # {{{ 65 65 WriteData(fid,'enum',HydrologyModelEnum(),'data',HydrologyshreveEnum(),'format','Integer'); 66 WriteData(fid,'object',self,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1 )66 WriteData(fid,'object',self,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1,'forcing',1) 67 67 WriteData(fid,'object',self,'fieldname','n','format','Double') 68 68 WriteData(fid,'object',self,'fieldname','CR','format','Double') -
issm/trunk-jpl/src/m/classes/prognostic.m
r15131 r15132 65 65 end % }}} 66 66 function marshall(obj,md,fid) % {{{ 67 WriteData(fid,'object',obj,'fieldname','spcthickness','format','DoubleMat','mattype',1 );67 WriteData(fid,'object',obj,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcing',1); 68 68 WriteData(fid,'object',obj,'fieldname','min_thickness','format','Double'); 69 69 WriteData(fid,'data',StringToEnum(obj.hydrostatic_adjustment),'format','Integer','enum',PrognosticHydrostaticAdjustmentEnum()); -
issm/trunk-jpl/src/m/classes/prognostic.py
r15131 r15132 68 68 # }}} 69 69 def marshall(self,md,fid): # {{{ 70 WriteData(fid,'object',self,'fieldname','spcthickness','format','DoubleMat','mattype',1 )70 WriteData(fid,'object',self,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcing',1) 71 71 WriteData(fid,'object',self,'fieldname','min_thickness','format','Double') 72 72 WriteData(fid,'data',StringToEnum(self.hydrostatic_adjustment)[0],'format','Integer','enum',PrognosticHydrostaticAdjustmentEnum()) -
issm/trunk-jpl/src/m/classes/surfaceforcings.m
r15131 r15132 104 104 yts=365.0*24.0*3600.0; 105 105 106 WriteData(fid,'object',obj,'fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts );107 WriteData(fid,'object',obj,'fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts );106 WriteData(fid,'object',obj,'fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'forcing',1); 107 WriteData(fid,'object',obj,'fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'forcing',1); 108 108 WriteData(fid,'object',obj,'fieldname','ispdd','format','Boolean'); 109 109 WriteData(fid,'object',obj,'fieldname','isdelta18o','format','Boolean'); … … 118 118 WriteData(fid,'object',obj,'fieldname','delta18o','format','DoubleMat','mattype',1); 119 119 else 120 WriteData(fid,'object',obj,'fieldname','monthlytemperatures','format','DoubleMat','mattype',1 );121 WriteData(fid,'object',obj,'fieldname','precipitation','format','DoubleMat','mattype',1 );120 WriteData(fid,'object',obj,'fieldname','monthlytemperatures','format','DoubleMat','mattype',1,'forcing',1); 121 WriteData(fid,'object',obj,'fieldname','precipitation','format','DoubleMat','mattype',1,'forcing',1); 122 122 end 123 123 end 124 124 WriteData(fid,'object',obj,'fieldname','issmbgradients','format','Boolean'); 125 125 if obj.issmbgradients, 126 WriteData(fid,'object',obj,'fieldname','href','format','DoubleMat','mattype',1 );127 WriteData(fid,'object',obj,'fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts );128 WriteData(fid,'object',obj,'fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts );129 WriteData(fid,'object',obj,'fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts );126 WriteData(fid,'object',obj,'fieldname','href','format','DoubleMat','mattype',1,'forcing',1); 127 WriteData(fid,'object',obj,'fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'forcing',1); 128 WriteData(fid,'object',obj,'fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'forcing',1); 129 WriteData(fid,'object',obj,'fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'forcing',1); 130 130 end 131 131 -
issm/trunk-jpl/src/m/classes/surfaceforcings.py
r15131 r15132 104 104 yts=365.0*24.0*3600.0 105 105 106 WriteData(fid,'object',self,'fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts )107 WriteData(fid,'object',self,'fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts )106 WriteData(fid,'object',self,'fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'forcing',1) 107 WriteData(fid,'object',self,'fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'forcing',1) 108 108 WriteData(fid,'object',self,'fieldname','ispdd','format','Boolean') 109 109 WriteData(fid,'object',self,'fieldname','isdelta18o','format','Boolean') … … 119 119 WriteData(fid,'object',self,'fieldname','delta18o','format','DoubleMat','mattype',1) 120 120 else: 121 WriteData(fid,'object',self,'fieldname','monthlytemperatures','format','DoubleMat','mattype',1 )122 WriteData(fid,'object',self,'fieldname','precipitation','format','DoubleMat','mattype',1 )121 WriteData(fid,'object',self,'fieldname','monthlytemperatures','format','DoubleMat','mattype',1,'forcing',1) 122 WriteData(fid,'object',self,'fieldname','precipitation','format','DoubleMat','mattype',1,'forcing',1) 123 123 124 124 WriteData(fid,'object',self,'fieldname','issmbgradients','format','Boolean') 125 125 126 126 if self.issmbgradients: 127 WriteData(fid,'object',self,'fieldname','href','format','DoubleMat','mattype',1 )128 WriteData(fid,'object',self,'fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts )129 WriteData(fid,'object',self,'fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts )130 WriteData(fid,'object',self,'fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts )127 WriteData(fid,'object',self,'fieldname','href','format','DoubleMat','mattype',1,'forcing',1) 128 WriteData(fid,'object',self,'fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'forcing',1) 129 WriteData(fid,'object',self,'fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'forcing',1) 130 WriteData(fid,'object',self,'fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'forcing',1) 131 131 # }}} -
issm/trunk-jpl/src/m/classes/thermal.m
r15131 r15132 66 66 end % }}} 67 67 function marshall(obj,md,fid) % {{{ 68 WriteData(fid,'object',obj,'fieldname','spctemperature','format','DoubleMat','mattype',1 );68 WriteData(fid,'object',obj,'fieldname','spctemperature','format','DoubleMat','mattype',1,'forcing',1); 69 69 WriteData(fid,'object',obj,'fieldname','penalty_threshold','format','Integer'); 70 70 WriteData(fid,'object',obj,'fieldname','stabilization','format','Integer'); -
issm/trunk-jpl/src/m/classes/thermal.py
r15131 r15132 72 72 # }}} 73 73 def marshall(self,md,fid): # {{{ 74 WriteData(fid,'object',self,'fieldname','spctemperature','format','DoubleMat','mattype',1 )74 WriteData(fid,'object',self,'fieldname','spctemperature','format','DoubleMat','mattype',1,'forcing',1) 75 75 WriteData(fid,'object',self,'fieldname','penalty_threshold','format','Integer') 76 76 WriteData(fid,'object',self,'fieldname','stabilization','format','Integer') -
issm/trunk-jpl/src/m/solve/WriteData.m
r15123 r15132 24 24 format = getfieldvalue(options,'format'); 25 25 mattype = getfieldvalue(options,'mattype',0); %only required for matrices 26 forcing = getfieldvalue(options,'forcing',1); 26 27 27 28 %Process sparse matrices … … 33 34 if exist(options,'scale'), 34 35 scale = getfieldvalue(options,'scale'); 35 data = scale.*data; 36 if forcing, 37 data(1:end-1,:) = scale.*data; 38 else 39 data = scale.*data; 40 end 36 41 end 37 42 -
issm/trunk-jpl/src/m/solve/WriteData.py
r15123 r15132 35 35 format = options.getfieldvalue('format') 36 36 mattype = options.getfieldvalue('mattype',0) #only required for matrices 37 forcing = options.getfieldvalue('forcing',0) 37 38 38 39 #Process sparse matrices … … 40 41 # data=full(data); 41 42 # end 43 42 44 #Scale data if necesarry 43 45 if options.exist('scale'): 44 46 scale = options.getfieldvalue('scale') 45 data = scale*data 47 if forcing: 48 data[0:-1] = scale*data[0:-1] 49 else: 50 data = scale*data 46 51 47 52 #Step 1: write the enum to identify this record uniquely
Note:
See TracChangeset
for help on using the changeset viewer.