From 0ba1cc505050ad2cd59b703fe1ff9a81de90fa3d Mon Sep 17 00:00:00 2001
From: lkugler <lukas.kugler@gmail.com>
Date: Tue, 16 Nov 2021 13:07:34 +0100
Subject: [PATCH] .

---
 scripts/cleanup_exp.py | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 scripts/cleanup_exp.py

diff --git a/scripts/cleanup_exp.py b/scripts/cleanup_exp.py
new file mode 100644
index 0000000..99b77d6
--- /dev/null
+++ b/scripts/cleanup_exp.py
@@ -0,0 +1,36 @@
+import os
+from config.cfg import exp, cluster
+from utils import try_remove
+
+"""Run this script after an experiment to reduce cluster disk usage.
+
+1) remove wrfrst
+2) remove run_DART folders from exp
+3) remove run_WRF files from exp
+"""
+expname = sys.argv[1]
+keep_last_init_wrfrst = True
+
+print('removing files for exp', exp)
+
+# 1) wrfrst
+inits = reversed(sorted(glob.glob(cluster.archive_base+'/'+expname+'/20??-??-??_??:??')))
+for k, init in enumerate(inits):
+    rst_files = glob.glob(init+'/*/wrfrst_*')
+
+    if k == 0:  # last init of exp
+        
+        if not keep_last_init_wrfrst:
+            for f in rst_files:
+                try_remove(f)
+    else:
+        for f in rst_files:
+            try_remove(f)
+
+# 2) run_DART/exp
+os.removedirs(cluster.tmpfiledir+'/run_DART/'+expname)
+
+# 3) run_WRF/exp
+for iens in range(1, exp.n_ens+1):
+    os.removedirs(cluster.wrf_rundir(iens))
+    print(cluster.wrf_rundir(iens), 'removed.')
\ No newline at end of file
-- 
GitLab