aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xfullswof-utils/boundary_profile.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/fullswof-utils/boundary_profile.py b/fullswof-utils/boundary_profile.py
new file mode 100755
index 0000000..091db8a
--- /dev/null
+++ b/fullswof-utils/boundary_profile.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+
+import matplotlib.pyplot as plt
+import numpy as np
+import os
+import argparse
+from matplotlib.ticker import MultipleLocator
+
+# read command line argument:
+parser = argparse.ArgumentParser(
+ description="plot elevation versus distance at boundaries")
+parser.add_argument("location", help="boundary location")
+args = parser.parse_args()
+
+if args.location == 'top':
+ inputFilename = "top_boundary.txt"
+elif args.location == 'bottom':
+ inputFilename = "bottom_boundary.txt"
+elif args.location == 'left':
+ inputFilename = "left_boundary.txt"
+elif args.location == 'right':
+ inputFilename = "right_boundary.txt"
+
+def detach_display():
+ x, y, z = np.loadtxt(inputFilename, delimiter=' ', unpack=True)
+ fig, ax = plt.subplots()
+ plt.plot(x,z, label='elevation')
+ plt.xlabel('x / m')
+ plt.ylabel('z / m')
+ ax.yaxis.set_minor_locator(MultipleLocator(0.2))
+ plt.grid(True, which='minor')
+ plt.show()
+
+if os.fork():
+ # parent
+ pass
+else:
+ # child
+ detach_display()