gmt_dos-clients_windloads 3.0.2

GMT DOS Windloads Client
Documentation
import numpy as np
import matplotlib.pyplot as plt

cfd = np.load("cfd2025_windloads.pkl", allow_pickle=True)


ax = plt.figure().add_subplot(projection="3d")
ax1 = plt.figure().add_subplot(projection="3d")

cats = [
    "Topend",
    "Tup",
    "Tbot",
    "M1Baffle",
    "M1cov",
    "M1covin",
    "crane",
    "arm",
    "cabletruss",
    "Cring",
    "GIR",
    "LGSS",
    "M1c_",
    "M1p",
    "M1s",
    "plat",
    "M2seg",
]

for c in cats:
    print(c)
    n = [x[1]["OSS"] for x in cfd["nodes"] if "OSS" in x[1] and c in x[0]]
    if n == []:
        continue
    xyz = np.vstack(n)
    if c.startswith("M1") or c.startswith("LGSS"):
        ax1.plot(xyz[:, 0], xyz[:, 1], xyz[:, 2], "o", label=c)
    else:
        ax.plot(xyz[:, 0], xyz[:, 1], xyz[:, 2], "o", label=c)

ax.legend()
ax1.legend()