function parseresultsfrombuffer(md,buffer,buffersize){ //{{{ //Open file results=[]; var fid = new fileptr('mode','r','buffer',buffer,'buffersize',buffersize); //Read fields until the end of the file. result = ReadData(fid,md); if (MapIsEmpty(result))throw Error('no results found in binary memory buffer'); var counter = 0; var check_nomoresteps=0; var step = result['step']; var index; while (!MapIsEmpty(result)){ if (check_nomoresteps){ //check that the new result does not add a step, which would be an error: if (result['step']>=1)throw Error('parsing results for a steady-state core, which incorporates transient results!'); } //Check step, increase counter if this is a new step if(step!=result['step'] & result['step']>1){ counter = counter + 1; step = result['step']; } //Add result if(result['step']==0){ //if we have a step = 0, this is a steady state solutoin, don't expect more steps. index = 0; check_nomoresteps=1; } else if(result['step']==1){ index = 0; } else index = counter; if(index>results.length-1)results.push({}); for(var i=results.length-1;i