summaryrefslogtreecommitdiff
path: root/ep_run/redx_freezer2.py
diff options
context:
space:
mode:
Diffstat (limited to 'ep_run/redx_freezer2.py')
-rw-r--r--ep_run/redx_freezer2.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/ep_run/redx_freezer2.py b/ep_run/redx_freezer2.py
new file mode 100644
index 0000000..269d1e5
--- /dev/null
+++ b/ep_run/redx_freezer2.py
@@ -0,0 +1,21 @@
+import time, os, re, shutil
+os.chdir("/home/yurenh2/ept/ep_run")
+LOG, CK = "runs/ep_redx.log", "runs/ep_redx.pt"
+os.makedirs("runs/redx_traj", exist_ok=True)
+seen = set(); t0 = time.time()
+while time.time() - t0 < 8 * 3600:
+ time.sleep(15)
+ try: ls = [l for l in open(LOG) if l.startswith("step")]
+ except Exception: continue
+ if not ls: continue
+ m = re.search(r"step\s+(\d+)/.*res=([\d.eE+-]+)", ls[-1]) # \s+ : log right-aligns the step number
+ if not m: continue
+ step = int(m.group(1)); res = float(m.group(2))
+ if step not in seen and os.path.exists(CK) and os.path.getsize(CK) > 1e6:
+ try:
+ shutil.copy2(CK, f"runs/redx_traj/s{step}.pt"); seen.add(step)
+ print(f"froze s{step} res={res:.2e}", flush=True)
+ except Exception: pass
+ if res > 0.25:
+ print(f"DIVERGED step {step} res={res:.2e}; frozen={sorted(seen)}", flush=True); break
+print("freezer done; frozen:", sorted(seen))