Changeset 15133
- Timestamp:
- 05/29/13 09:27:03 (12 years ago)
- Location:
- issm/trunk-jpl/src/m
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/basalforcings.m
r15132 r15133 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,'forcing ',1);49 WriteData(fid,'object',obj,'fieldname','melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+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,'forcing ',1);51 WriteData(fid,'object',obj,'fieldname','geothermalflux','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1); 52 52 end % }}} 53 53 end -
issm/trunk-jpl/src/m/classes/basalforcings.py
r15132 r15133 3 3 from checkfield import * 4 4 from WriteData import * 5 import numpy 5 6 6 7 class basalforcings(object): … … 50 51 yts=365.0*24.0*3600.0 51 52 52 WriteData(fid,'object',self,'fieldname','melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcing ',1)53 WriteData(fid,'object',self,'fieldname','melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1) 53 54 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,'forcing ',1)55 WriteData(fid,'object',self,'fieldname','geothermalflux','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1) 55 56 # }}} -
issm/trunk-jpl/src/m/classes/diagnostic.m
r15132 r15133 151 151 end % }}} 152 152 function marshall(obj,md,fid) % {{{ 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);153 WriteData(fid,'object',obj,'fieldname','spcvx','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1); 154 WriteData(fid,'object',obj,'fieldname','spcvy','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1); 155 WriteData(fid,'object',obj,'fieldname','spcvz','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+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
r15132 r15133 161 161 # }}} 162 162 def marshall(self,md,fid): # {{{ 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)163 WriteData(fid,'object',self,'fieldname','spcvx','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1) 164 WriteData(fid,'object',self,'fieldname','spcvy','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1) 165 WriteData(fid,'object',self,'fieldname','spcvz','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+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
r15132 r15133 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(),'forcing ',1);54 WriteData(fid,'data',obj.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum(),'forcinglength',md.mesh.numberofvertices+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
r15132 r15133 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(),'forcing ',1)52 WriteData(fid,'data',self.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum(),'forcinglength',md.mesh.numberofvertices+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
r15132 r15133 147 147 end 148 148 149 WriteData(fid,'object',obj,'fieldname','spcsediment_head','format','DoubleMat','mattype',1,'forcing ',1);149 WriteData(fid,'object',obj,'fieldname','spcsediment_head','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+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,'forcing ',1);156 WriteData(fid,'object',obj,'fieldname','spcepl_head','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+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
r15132 r15133 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,'forcing ',1);63 WriteData(fid,'object',obj,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+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
r15132 r15133 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,'forcing ',1)66 WriteData(fid,'object',self,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+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
r15132 r15133 65 65 end % }}} 66 66 function marshall(obj,md,fid) % {{{ 67 WriteData(fid,'object',obj,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcing ',1);67 WriteData(fid,'object',obj,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+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
r15132 r15133 68 68 # }}} 69 69 def marshall(self,md,fid): # {{{ 70 WriteData(fid,'object',self,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcing ',1)70 WriteData(fid,'object',self,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+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
r15132 r15133 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,'forcing ',1);107 WriteData(fid,'object',obj,'fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'forcing ',1);106 WriteData(fid,'object',obj,'fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1); 107 WriteData(fid,'object',obj,'fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+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,'forcing',1); 121 WriteData(fid,'object',obj,'fieldname','precipitation','format','DoubleMat','mattype',1,'forcing',1); 120 WriteData(fid,'object',obj,'fieldname','monthlytemperatures','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1); 122 121 end 123 122 end 124 123 WriteData(fid,'object',obj,'fieldname','issmbgradients','format','Boolean'); 125 124 if obj.issmbgradients, 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);125 WriteData(fid,'object',obj,'fieldname','href','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1); 126 WriteData(fid,'object',obj,'fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1); 127 WriteData(fid,'object',obj,'fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1); 128 WriteData(fid,'object',obj,'fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1); 130 129 end 131 130 -
issm/trunk-jpl/src/m/classes/surfaceforcings.py
r15132 r15133 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,'forcing ',1)107 WriteData(fid,'object',self,'fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'forcing ',1)106 WriteData(fid,'object',self,'fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1) 107 WriteData(fid,'object',self,'fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+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,'forcing',1) 122 WriteData(fid,'object',self,'fieldname','precipitation','format','DoubleMat','mattype',1,'forcing',1) 121 WriteData(fid,'object',self,'fieldname','monthlytemperatures','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1) 123 122 124 123 WriteData(fid,'object',self,'fieldname','issmbgradients','format','Boolean') 125 124 126 125 if self.issmbgradients: 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)126 WriteData(fid,'object',self,'fieldname','href','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1) 127 WriteData(fid,'object',self,'fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1) 128 WriteData(fid,'object',self,'fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1) 129 WriteData(fid,'object',self,'fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1) 131 130 # }}} -
issm/trunk-jpl/src/m/classes/thermal.m
r15132 r15133 66 66 end % }}} 67 67 function marshall(obj,md,fid) % {{{ 68 WriteData(fid,'object',obj,'fieldname','spctemperature','format','DoubleMat','mattype',1,'forcing ',1);68 WriteData(fid,'object',obj,'fieldname','spctemperature','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+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
r15132 r15133 72 72 # }}} 73 73 def marshall(self,md,fid): # {{{ 74 WriteData(fid,'object',self,'fieldname','spctemperature','format','DoubleMat','mattype',1,'forcing ',1)74 WriteData(fid,'object',self,'fieldname','spctemperature','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+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
r15132 r15133 24 24 format = getfieldvalue(options,'format'); 25 25 mattype = getfieldvalue(options,'mattype',0); %only required for matrices 26 forcing = getfieldvalue(options,'forcing',1);26 forcinglength = getfieldvalue(options,'forcinglength',-1); 27 27 28 28 %Process sparse matrices … … 34 34 if exist(options,'scale'), 35 35 scale = getfieldvalue(options,'scale'); 36 if forcing,37 data(1:end-1,:) = scale.*data ;36 if size(data,1)==forcinglength, 37 data(1:end-1,:) = scale.*data(1:end-1,:); 38 38 else 39 39 data = scale.*data; -
issm/trunk-jpl/src/m/solve/WriteData.py
r15132 r15133 35 35 format = options.getfieldvalue('format') 36 36 mattype = options.getfieldvalue('mattype',0) #only required for matrices 37 forcing = options.getfieldvalue('forcing',0)37 forcinglength = options.getfieldvalue('forcinglength',-1) 38 38 39 39 #Process sparse matrices … … 45 45 if options.exist('scale'): 46 46 scale = options.getfieldvalue('scale') 47 if forcing: 48 data[0:-1] = scale*data[0:-1] 49 else: 50 data = scale*data 47 if numpy.size(data) > 1 : 48 if numpy.size(data,0)==forcinglength: 49 data=numpy.array(data) 50 data[0:-1,:] = scale*data[0:-1,:] 51 else: 52 data = scale*data 51 53 52 54 #Step 1: write the enum to identify this record uniquely
Note:
See TracChangeset
for help on using the changeset viewer.