Changeset 23365
- Timestamp:
- 10/02/18 03:56:24 (6 years ago)
- Location:
- issm/trunk-jpl/src/m
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/clusters/stallo.m
r23230 r23365 105 105 fprintf(fid,'#SBATCH --nodes=%i \n',cluster.numnodes); 106 106 fprintf(fid,'#SBATCH --ntasks-per-node=%i \n',cluster.cpuspernode); 107 fprintf(fid,'#SBATCH --time=%02i-%02i:%02i:00 \n',floor(cluster.time/(3600*24)),floor(cluster.time/3600),floor(mod(cluster.time,60))); 108 fprintf(fid,'#SBATCH --mem-per-cpu=%iMB\n',1000*cluster.mem); ... 109 % mem in MB 107 days=floor(cluster.time/(60*24)); 108 hours=floor((cluster.time-(days*60*24))/60); 109 minutes=floor(mod((cluster.time-(days*60*24)-(hours*60)),60)); 110 fprintf(fid,'#SBATCH --time=%02i-%02i:%02i:00 \n',days,hours,minutes); 111 fprintf(fid,'#SBATCH --mem-per-cpu=%iMB\n',1000*cluster.mem); % mem in MB 110 112 if (mod(cluster.np,16)+mod(cluster.np,20))==0, 111 113 fprintf(fid,'#SBATCH --ntask=%i\n',cluster.np); -
issm/trunk-jpl/src/m/classes/clusters/stallo.py
r23230 r23365 120 120 h,m=divmod(m, 60) 121 121 d,h=divmod(h, 60) 122 #timestring="%02d-%02d:%02d:%02d" % (d, h, m, s)122 timestring="%02d-%02d:%02d:%02d" % (d, h, m, s) 123 123 fid.write('#SBATCH --time={}\n'.format(timestring)) #walltime is minutes 124 fid.write('#SBATCH --mem-per-cpu={}MB\n'.format( 1000*self.mem))# mem is in MB (to keep it integral)124 fid.write('#SBATCH --mem-per-cpu={}MB\n'.format(int(1000*self.mem)))# mem is in MB (to keep it integral) 125 125 if (np.mod(self.np,16)+np.mod(self.np,20))==0: 126 126 fid.write('#SBATCH --ntask=%i\n' % self.np) -
issm/trunk-jpl/src/m/classes/taoinversion.py
r22267 r23365 97 97 else: 98 98 self.algorithm = 'tao_blmvm'; 99 99 100 100 #several responses can be used: 101 101 self.cost_functions=101; … … 110 110 if numel(self.cost_functions_coefficients) > 1: 111 111 self.cost_functions_coefficients=project3d(md,'vector',self.cost_functions_coefficients,'type','node') 112 112 113 113 if numel(self.min_parameters) > 1: 114 114 self.min_parameters=project3d(md,'vector',self.min_parameters,'type','node') 115 115 116 116 if numel(self.max_parameters)>1: 117 117 self.max_parameters=project3d(md,'vector',self.max_parameters,'type','node') … … 123 123 return md 124 124 if not IssmConfig('_HAVE_TAO_')[0]: 125 md = checkmessage(md,['TAO has not been installed, ISSM needs to be reconfigured and recompiled with TAO'])125 md = md.checkmessage('TAO has not been installed, ISSM needs to be reconfigured and recompiled with TAO') 126 126 127 127 -
issm/trunk-jpl/src/m/contrib/defleurian/paraview/enveloppeVTK.py
r23211 r23365 85 85 if (np.size(res_struct.__dict__[solution])>num_of_timesteps): 86 86 num_of_timesteps=np.size(res_struct.__dict__[solution]) 87 num_of_timesteps=int(num_of_timesteps) +187 num_of_timesteps=int(num_of_timesteps) 88 88 else: 89 89 num_of_timesteps=1 … … 125 125 #getting the fields in the solution 126 126 if(np.size(res_struct.__dict__[sol])>1): 127 fieldnames=dict.keys(res_struct.__dict__[sol].__getitem__(timestep -1).__dict__)127 fieldnames=dict.keys(res_struct.__dict__[sol].__getitem__(timestep).__dict__) 128 128 else: 129 129 fieldnames=dict.keys(res_struct.__dict__[sol].__dict__) … … 131 131 for field in fieldnames: 132 132 if(np.size(res_struct.__dict__[sol])>1): 133 fieldstruct=res_struct.__dict__[sol].__getitem__(timestep -1).__dict__[field]133 fieldstruct=res_struct.__dict__[sol].__getitem__(timestep).__dict__[field] 134 134 else: 135 135 fieldstruct=res_struct.__dict__[sol].__dict__[field] -
issm/trunk-jpl/src/m/solve/WriteData.py
r23095 r23365 7 7 """ 8 8 WRITEDATA - write model field in binary file 9 9 10 10 Usage: 11 11 WriteData(fid,varargin) … … 57 57 #Step 1: write the enum to identify this record uniquely 58 58 fid.write(struct.pack('i',len(name))) 59 fid.write(struct.pack('%ds' % len(name),name)) 59 fid.write(struct.pack('%ds' % len(name),name)) 60 60 61 61 #Step 2: write the data itself. … … 67 67 fid.write(struct.pack('i',4+4)) #1 bool (disguised as an int)+code 68 68 69 #write data code: 70 fid.write(struct.pack('i',FormatToCode(format))) 69 #write data code: 70 fid.write(struct.pack('i',FormatToCode(format))) 71 71 72 72 #now write integer … … 81 81 fid.write(struct.pack('i',4+4)) #1 integer + code 82 82 83 #write data code: 84 fid.write(struct.pack('i',FormatToCode(format))) 83 #write data code: 84 fid.write(struct.pack('i',FormatToCode(format))) 85 85 86 86 #now write integer 87 fid.write(struct.pack('i',data)) 87 fid.write(struct.pack('i',data)) 88 88 # }}} 89 89 … … 95 95 fid.write(struct.pack('i',8+4)) #1 double+code 96 96 97 #write data code: 98 fid.write(struct.pack('i',FormatToCode(format))) 97 #write data code: 98 fid.write(struct.pack('i',FormatToCode(format))) 99 99 100 100 #now write double 101 fid.write(struct.pack('d',data)) 101 fid.write(struct.pack('d',data)) 102 102 # }}} 103 103 … … 106 106 fid.write(struct.pack('i',len(data)+4+4)) #string + string size + code 107 107 108 #write data code: 109 fid.write(struct.pack('i',FormatToCode(format))) 108 #write data code: 109 fid.write(struct.pack('i',FormatToCode(format))) 110 110 111 111 #now write string 112 fid.write(struct.pack('i',len(data))) 113 fid.write(struct.pack('%ds' % len(data),data)) 112 fid.write(struct.pack('i',len(data))) 113 fid.write(struct.pack('%ds' % len(data),data)) 114 114 # }}} 115 115 … … 135 135 fid.write(struct.pack('i',4+4+8*np.product(s)+4+4)) #2 integers (32 bits) + the double matrix + code + matrix type 136 136 137 #write data code and matrix type: 138 fid.write(struct.pack('i',FormatToCode(format))) 137 #write data code and matrix type: 138 fid.write(struct.pack('i',FormatToCode(format))) 139 139 fid.write(struct.pack('i',mattype)) 140 140 141 141 #now write matrix 142 142 if np.ndim(data)==1: 143 fid.write(struct.pack('i',s[0])) 144 fid.write(struct.pack('i',1)) 143 fid.write(struct.pack('i',s[0])) 144 fid.write(struct.pack('i',1)) 145 145 for i in xrange(s[0]): 146 146 fid.write(struct.pack('d',float(data[i]))) #get to the "c" convention, hence the transpose 147 147 else: 148 fid.write(struct.pack('i',s[0])) 149 fid.write(struct.pack('i',s[1])) 148 fid.write(struct.pack('i',s[0])) 149 fid.write(struct.pack('i',s[1])) 150 150 for i in xrange(s[0]): 151 151 for j in xrange(s[1]): … … 174 174 fid.write(struct.pack('i',4+4+8*np.product(s)+4+4)) #2 integers (32 bits) + the double matrix + code + matrix type 175 175 176 #write data code and matrix type: 177 fid.write(struct.pack('i',FormatToCode(format))) 176 #write data code and matrix type: 177 fid.write(struct.pack('i',FormatToCode(format))) 178 178 fid.write(struct.pack('i',mattype)) 179 179 180 180 #now write matrix 181 181 if np.ndim(data) == 1: 182 fid.write(struct.pack('i',s[0])) 183 fid.write(struct.pack('i',1)) 182 fid.write(struct.pack('i',s[0])) 183 fid.write(struct.pack('i',1)) 184 184 for i in xrange(s[0]): 185 185 fid.write(struct.pack('d',float(data[i]))) #get to the "c" convention, hence the transpose 186 186 else: 187 fid.write(struct.pack('i',s[0])) 188 fid.write(struct.pack('i',s[1])) 187 fid.write(struct.pack('i',s[0])) 188 fid.write(struct.pack('i',s[1])) 189 189 for i in xrange(s[0]): 190 190 for j in xrange(s[1]): … … 217 217 fid.write(struct.pack('i',recordlength)) #2 integers (32 bits) + the double matrix + code + matrix type 218 218 219 #write data code and matrix type: 220 fid.write(struct.pack('i',FormatToCode(format))) 219 #write data code and matrix type: 220 fid.write(struct.pack('i',FormatToCode(format))) 221 221 fid.write(struct.pack('i',mattype)) 222 222 223 223 #now write matrix 224 224 if np.ndim(data) == 1: 225 fid.write(struct.pack('i',s[0])) 226 fid.write(struct.pack('i',1)) 225 fid.write(struct.pack('i',s[0])) 226 fid.write(struct.pack('i',1)) 227 227 for i in xrange(s[0]): 228 228 fid.write(struct.pack('d',float(data[i]))) #get to the "c" convention, hence the transpose 229 229 else: 230 fid.write(struct.pack('i',s[0])) 231 fid.write(struct.pack('i',s[1])) 230 fid.write(struct.pack('i',s[0])) 231 fid.write(struct.pack('i',s[1])) 232 232 for i in xrange(s[0]): 233 233 for j in xrange(s[1]): … … 266 266 fid.write(struct.pack('i',recordlength)) #2 integers (32 bits) + the matrix + code + matrix type 267 267 268 #write data code and matrix type: 269 fid.write(struct.pack('i',FormatToCode(format))) 268 #write data code and matrix type: 269 fid.write(struct.pack('i',FormatToCode(format))) 270 270 fid.write(struct.pack('i',mattype)) 271 271 … … 276 276 277 277 if rangeA == 0: 278 A = A*0 279 else: 280 A = (A-offsetA)/rangeA*255. 281 278 A = A*0 279 else: 280 A = (A-offsetA)/rangeA*255. 281 282 282 #now write matrix 283 283 if np.ndim(data) == 1: 284 fid.write(struct.pack('i',s[0])) 285 fid.write(struct.pack('i',1)) 284 fid.write(struct.pack('i',s[0])) 285 fid.write(struct.pack('i',1)) 286 286 fid.write(struct.pack('d',float(offsetA))) 287 287 fid.write(struct.pack('d',float(rangeA))) … … 292 292 293 293 elif np.product(s) > 0: 294 fid.write(struct.pack('i',s[0])) 295 fid.write(struct.pack('i',s[1])) 294 fid.write(struct.pack('i',s[0])) 295 fid.write(struct.pack('i',s[1])) 296 296 fid.write(struct.pack('d',float(offsetA))) 297 297 fid.write(struct.pack('d',float(rangeA))) … … 324 324 325 325 #write length of record 326 fid.write(struct.pack('i',recordlength)) 327 328 #write data code: 329 fid.write(struct.pack('i',FormatToCode(format))) 326 fid.write(struct.pack('i',recordlength)) 327 328 #write data code: 329 fid.write(struct.pack('i',FormatToCode(format))) 330 330 331 331 #write data, first number of records 332 fid.write(struct.pack('i',len(data))) 332 fid.write(struct.pack('i',len(data))) 333 333 334 334 for matrix in data: … … 343 343 344 344 if np.ndim(matrix) == 1: 345 fid.write(struct.pack('i',s[0])) 346 fid.write(struct.pack('i',1)) 345 fid.write(struct.pack('i',s[0])) 346 fid.write(struct.pack('i',1)) 347 347 for i in xrange(s[0]): 348 348 fid.write(struct.pack('d',float(matrix[i]))) #get to the "c" convention, hence the transpose 349 349 else: 350 fid.write(struct.pack('i',s[0])) 351 fid.write(struct.pack('i',s[1])) 350 fid.write(struct.pack('i',s[0])) 351 fid.write(struct.pack('i',s[1])) 352 352 for i in xrange(s[0]): 353 353 for j in xrange(s[1]): … … 363 363 364 364 #write length of record 365 fid.write(struct.pack('i',recordlength)) 366 367 #write data code: 368 fid.write(struct.pack('i',FormatToCode(format))) 365 fid.write(struct.pack('i',recordlength)) 366 367 #write data code: 368 fid.write(struct.pack('i',FormatToCode(format))) 369 369 370 370 #now write length of string array 371 fid.write(struct.pack('i',len(data))) 371 fid.write(struct.pack('i',len(data))) 372 372 373 373 #now write the strings 374 374 for string in data: 375 fid.write(struct.pack('i',len(string))) 376 fid.write(struct.pack('%ds' % len(string),string)) 375 fid.write(struct.pack('i',len(string))) 376 fid.write(struct.pack('%ds' % len(string),string)) 377 377 # }}} 378 378 … … 383 383 def FormatToCode(format): # {{{ 384 384 """ 385 This routine takes the format string, and hardcodes it into an integer, which 386 is passed along the record, in order to identify the nature of the dataset being 385 This routine takes the format string, and hardcodes it into an integer, which 386 is passed along the record, in order to identify the nature of the dataset being 387 387 sent. 388 388 """
Note:
See TracChangeset
for help on using the changeset viewer.