Changeset 20900
- Timestamp:
- 07/13/16 14:25:48 (9 years ago)
- Location:
- issm/trunk-jpl/src/m/solve
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/solve/loadresultsfrombuffer.js
r20299 r20900 14 14 15 15 //load results: 16 structure=parseresultsfrombuffer( buffer,buffersize);16 structure=parseresultsfrombuffer(md,buffer,buffersize); 17 17 18 18 //load structure onto results: -
issm/trunk-jpl/src/m/solve/loadresultsfromdisk.m
r20821 r20900 31 31 32 32 %load results onto model 33 structure=parseresultsfromdisk( filename,~md.settings.io_gather);33 structure=parseresultsfromdisk(md,filename,~md.settings.io_gather); 34 34 if isempty(fieldnames(structure)), 35 35 error(['No result found in binary file ' filename '. Check for solution crash.']); -
issm/trunk-jpl/src/m/solve/loadresultsfromdisk.py
r17480 r20900 28 28 29 29 #load results onto model 30 structure=parseresultsfromdisk( filename,not md.settings.io_gather)30 structure=parseresultsfromdisk(md,filename,not md.settings.io_gather) 31 31 if not len(structure): 32 32 raise RuntimeError("No result found in binary file '%s'. Check for solution crash." % filename) -
issm/trunk-jpl/src/m/solve/parseresultsfrombuffer.js
r19831 r20900 1 function parseresultsfrombuffer(buffer,buffersize){ //{{{ 2 //PARSERESULTSFROMDISK - ... 3 // 4 // Usage: 5 // results=parseresultsfrombuffer(buffer,buffersize); 1 function parseresultsfrombuffer(md,buffer,buffersize){ //{{{ 6 2 7 3 //Open file … … 11 7 12 8 //Read fields until the end of the file. 13 result = ReadData(fid );9 result = ReadData(fid,md); 14 10 15 11 if (MapIsEmpty(result))throw Error('no results found in binary memory buffer'); … … 57 53 58 54 //read next result 59 result = ReadData(fid );55 result = ReadData(fid,md); 60 56 } 61 57 return results; 62 58 } // }}} 63 function ReadData(fid ){ //{{{59 function ReadData(fid,md){ //{{{ 64 60 //READDATA - ... 65 61 // 66 62 // Usage: 67 // field=ReadData(fid )63 // field=ReadData(fid,md) 68 64 69 65 //read field … … 88 84 89 85 //Process units here FIXME: this should not be done here! 90 var yts= 365.0*24.0*3600.0;86 var yts=md.constants.yts; 91 87 if (fieldname == 'BalancethicknessThickeningRate') for (var i=0;i<field.length;i++)field[i]= field[i]*yts; 92 88 else if (fieldname == 'HydrologyWaterVx') for (var i=0;i<field.length;i++)field[i]= field[i]*yts; -
issm/trunk-jpl/src/m/solve/parseresultsfromdisk.m
r20212 r20900 1 function results=parseresultsfromdisk(filename,iosplit) 2 %PARSERESULTSFROMDISK - ... 3 % 4 % Usage: 5 % results=parseresultsfromdisk(filename,iosplit) 1 function results=parseresultsfromdisk(md,filename,iosplit) 6 2 7 3 if iosplit, 8 results=parseresultsfromdiskiosplit( filename);4 results=parseresultsfromdiskiosplit(md,filename); 9 5 else 10 results=parseresultsfromdiskioserial(filename); 11 end 12 13 14 function results=parseresultsfromdiskioserial(filename) % {{{ 15 %PARSERESULTSFROMDISK - ... 16 % 17 % Usage: 18 % results=parseresultsfromdiskioserial(filename) 6 results=parseresultsfromdiskioserial(md,filename); 7 end 8 9 10 function results=parseresultsfromdiskioserial(md,filename) % {{{ 19 11 20 12 %Open file … … 26 18 27 19 %Read fields until the end of the file. 28 result = ReadData(fid );20 result = ReadData(fid,md); 29 21 if isempty(result), error(['no results found in binary file ' filename]); end 30 22 check_nomoresteps=0; … … 66 58 %read next result 67 59 try, 68 result = ReadData(fid );60 result = ReadData(fid,md); 69 61 catch me, 70 62 disp('WARNING: file corrupted, trying partial recovery'); … … 76 68 fclose(fid); 77 69 % }}} 78 function results=parseresultsfromdiskiosplit(filename) % {{{ 79 %PARSERESULTSFROMDISKIOSPLIT - ... 80 % 81 % Usage: 82 % results=parseresultsfromdiskiosplit(filename) 70 function results=parseresultsfromdiskiosplit(md,filename) % {{{ 83 71 84 72 %Open file … … 117 105 %third pass, this time to read the real information 118 106 fseek(fid,0,-1); %rewind 119 result=ReadData(fid );107 result=ReadData(fid,md); 120 108 while ~isempty(result), 121 109 … … 131 119 %read next result 132 120 try, 133 result=ReadData(fid );121 result=ReadData(fid,md); 134 122 catch me, 135 123 disp('WARNING: file corrupted, results partial recovery'); … … 142 130 fclose(fid); 143 131 % }}} 144 function result=ReadData(fid) % {{{ 145 %READDATA - ... 146 % 147 % Usage: 148 % field=ReadData(fid) 132 function result=ReadData(fid,md) % {{{ 149 133 150 134 %read field … … 175 159 176 160 %Process units here FIXME: this should not be done here! 177 yts= 365.0*24.0*3600.0;161 yts=md.constants.yts; 178 162 if strcmp(fieldname,'BalancethicknessThickeningRate'), 179 163 field = field*yts; -
issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py
r20222 r20900 5 5 import MatlabFuncs as m 6 6 7 def parseresultsfromdisk(filename,iosplit): 8 """ 9 PARSERESULTSFROMDISK - ... 10 11 Usage: 12 results=parseresultsfromdisk(filename,iosplit) 13 """ 14 7 def parseresultsfromdisk(md,filename,iosplit): 15 8 if iosplit: 16 results=parseresultsfromdiskiosplit( filename)9 results=parseresultsfromdiskiosplit(md,filename) 17 10 else: 18 results=parseresultsfromdiskioserial( filename)11 results=parseresultsfromdiskioserial(md,filename) 19 12 20 13 return results 21 14 22 def parseresultsfromdiskioserial(filename): # {{{ 23 """ 24 PARSERESULTSFROMDISK - ... 25 26 Usage: 27 results=parseresultsfromdiskioserial(filename) 28 """ 15 def parseresultsfromdiskioserial(md,filename): # {{{ 29 16 30 17 #Open file … … 39 26 40 27 #Read fields until the end of the file. 41 result=ReadData(fid )28 result=ReadData(fid,md) 42 29 43 30 counter=0 … … 90 77 91 78 #read next result 92 result=ReadData(fid )79 result=ReadData(fid,md) 93 80 94 81 fid.close() … … 96 83 return results 97 84 # }}} 98 def parseresultsfromdiskiosplit(filename): # {{{ 99 """ 100 PARSERESULTSFROMDISKIOSPLIT - ... 101 102 Usage: 103 results=parseresultsfromdiskiosplit(filename) 104 """ 85 def parseresultsfromdiskiosplit(md,filename): # {{{ 105 86 106 87 #Open file … … 141 122 #third pass, this time to read the real information 142 123 fid.seek(0) #rewind 143 result=ReadData(fid )124 result=ReadData(fid,md) 144 125 while result: 145 126 … … 156 137 157 138 #read next result 158 result=ReadData(fid )139 result=ReadData(fid,md) 159 140 160 141 #close file … … 163 144 return results 164 145 # }}} 165 def ReadData(fid ): # {{{146 def ReadData(fid,md): # {{{ 166 147 """ 167 148 READDATA - ... 168 149 169 150 Usage: 170 field=ReadData(fid )151 field=ReadData(fid,md) 171 152 """ 172 153 … … 195 176 196 177 #Process units here FIXME: this should not be done here! 197 yts= 365.0*24.0*3600.0178 yts=md.constants.yts 198 179 if m.strcmp(fieldname,'BalancethicknessThickeningRate'): 199 180 field = field*yts … … 224 205 elif m.strcmp(fieldname,'CalvingCalvingrate'): 225 206 field = field*yts 226 227 207 228 208 result=OrderedDict()
Note:
See TracChangeset
for help on using the changeset viewer.