function take_snapshot
openfile {snapshotname} w
str thiscompt
if ({exists {cellpath}})
if ({getfield {cellpath} chanmode} > 1)
call {cellpath} HSAVE
end
end
str thischan
str thisCaPool
str thisSynapse
echo taking snapshot {snapshotname}...
int first_time = 1
//save {cellpath} {snapshotname}
foreach thiscompt ({el {cellpath}/##[][OBJECT=compartment]})
echo {thiscompt}
// saving compartment states
if ( {first_time} == 1)
first_time = 0
save {thiscompt} {snapshotname}
else
save {thiscompt} {snapshotname} -append
end
// saving tabchannel states
foreach thischan ({el {thiscompt}/##[OBJECT=tabchannel]})
echo {thischan}
save {thischan} {snapshotname} -append
end
foreach thisSynapse ({el {thiscompt}/##[OBJECT=synchan]})
echo {thisSynapse}
save {thisSynapse} {snapshotname} -append
end
// saving Ca pool states
foreach thisCaPool ({el {thiscompt}/##[OBJECT=Ca_concen]})
echo {thisCaPool}
save {thisCaPool} {snapshotname} -append
end
end
closefile {snapshotname}
//closefile {allcompsfilename}
end
function restore_snapshot
echo restoring snapshot {snapshotname}...
restore {snapshotname}
call {cellpath} HRESTORE
echo restoring done...
end
|