|
1 | 1 | #!$FIREMODELS/fds/.github/fds_python_env/bin/python |
2 | 2 |
|
| 3 | +import subprocess |
3 | 4 | import fdsplotlib |
4 | 5 | import importlib |
5 | 6 | import runpy |
6 | 7 | importlib.reload(fdsplotlib) # use for development (while making changes to fdsplotlib.py) |
7 | 8 |
|
| 9 | +# If there is an error in one of the sub-scripts, print the message but do not stop the main script. |
| 10 | + |
| 11 | +def safe_run(script_path): |
| 12 | + try: |
| 13 | + runpy.run_path(script_path, run_name="__main__") |
| 14 | + except Exception as exc: |
| 15 | + print(f"Error in {script_path}: {exc}") |
| 16 | + |
8 | 17 | # Scripts to run prior to dataplot |
9 | 18 |
|
10 | | -print("NIST_deposition_gauge..."); runpy.run_path("./scripts/NIST_deposition_gauge.py", run_name="__main__") |
11 | | -print("flame_height..."); runpy.run_path("./scripts/flame_height.py", run_name="__main__") |
12 | | -print("NIST_RSE..."); runpy.run_path("./scripts/NIST_RSE.py", run_name="__main__") |
13 | | -print("sippola_aerosol_deposition..."); runpy.run_path("./scripts/sippola_aerosol_deposition.py", run_name="__main__") |
14 | | -print("layer_height..."); runpy.run_path("./scripts/layer_height.py", run_name="__main__") |
15 | | -print("NIST_NRC_Corner_Effects..."); runpy.run_path("./scripts/NIST_NRC_Corner_Effects.py", run_name="__main__") |
16 | | -print("LNG_Dispersion..."); runpy.run_path("./scripts/LNG_Dispersion.py", run_name="__main__") |
17 | | -print("LNG_wind_profiles..."); runpy.run_path("./scripts/LNG_wind_profiles.py", run_name="__main__") |
18 | | -print("FM_Vertical_Wall_Flames..."); runpy.run_path("./scripts/FM_Vertical_Wall_Flames.py", run_name="__main__") |
19 | | -print("umd_line_burner_process..."); runpy.run_path("./scripts/umd_line_burner_process.py", run_name="__main__") |
20 | | -# print("Askervein_Hill..."); runpy.run_path("./scripts/Askervein_Hill.py", run_name="__main__") |
21 | | -print("UWO_Wind_Tunnel..."); runpy.run_path("./scripts/UWO_Wind_Tunnel.py", run_name="__main__") |
22 | | -print("FM_Burner..."); runpy.run_path("./scripts/FM_Burner.py", run_name="__main__") |
23 | | -print("Crown_Fires..."); runpy.run_path("./scripts/Crown_Fires.py", run_name="__main__") |
24 | | -print("Ranz_Marshall..."); runpy.run_path("./scripts/Ranz_Marshall.py", run_name="__main__") |
25 | | -print("Phoenix_LNG_Fires..."); runpy.run_path("./scripts/Phoenix_LNG_Fires.py", run_name="__main__") |
26 | | -print("Sandia_Plumes_TKE..."); runpy.run_path("./scripts/Sandia_Plumes_TKE.py", run_name="__main__") |
| 19 | +print("NIST_deposition_gauge..."); safe_run("./scripts/NIST_deposition_gauge.py") |
| 20 | +print("flame_height..."); safe_run("./scripts/flame_height.py") |
| 21 | +print("NIST_RSE..."); safe_run("./scripts/NIST_RSE.py") |
| 22 | +print("sippola_aerosol_deposition..."); safe_run("./scripts/sippola_aerosol_deposition.py") |
| 23 | +print("layer_height..."); safe_run("./scripts/layer_height.py") |
| 24 | +print("NIST_NRC_Corner_Effects..."); safe_run("./scripts/NIST_NRC_Corner_Effects.py") |
| 25 | +print("LNG_Dispersion..."); safe_run("./scripts/LNG_Dispersion.py") |
| 26 | +print("LNG_wind_profiles..."); safe_run("./scripts/LNG_wind_profiles.py") |
| 27 | +print("FM_Vertical_Wall_Flames..."); safe_run("./scripts/FM_Vertical_Wall_Flames.py") |
| 28 | +print("umd_line_burner_process..."); safe_run("./scripts/umd_line_burner_process.py") |
| 29 | +# print("Askervein_Hill..."); safe_run("./scripts/Askervein_Hill.py") |
| 30 | +print("UWO_Wind_Tunnel..."); safe_run("./scripts/UWO_Wind_Tunnel.py") |
| 31 | +print("FM_Burner..."); safe_run("./scripts/FM_Burner.py") |
| 32 | +print("Crown_Fires..."); safe_run("./scripts/Crown_Fires.py") |
| 33 | +print("Ranz_Marshall..."); safe_run("./scripts/Ranz_Marshall.py") |
| 34 | +print("Phoenix_LNG_Fires..."); safe_run("./scripts/Phoenix_LNG_Fires.py") |
| 35 | +print("Sandia_Plumes_TKE..."); safe_run("./scripts/Sandia_Plumes_TKE.py") |
27 | 36 |
|
28 | 37 | # Dataplot and scatplot options |
29 | 38 |
|
|
71 | 80 |
|
72 | 81 | # Create table of git statistics for FDS Validation Guide |
73 | 82 |
|
74 | | -print("validation_git_stats..."); runpy.run_path("./scripts/validation_git_stats.py", run_name="__main__") |
| 83 | +print("validation_git_stats..."); safe_run("./scripts/validation_git_stats.py") |
75 | 84 |
|
76 | 85 | # Special cases |
77 | 86 |
|
78 | | -print("Backward_Facing_Step..."); runpy.run_path("./scripts/Backward_Facing_Step.py", run_name="__main__") |
79 | | -print("Beyler_Hood..."); runpy.run_path("./scripts/Beyler_Hood.py", run_name="__main__") |
80 | | -print("BRE_LEMTA_Sprays..."); runpy.run_path("./scripts/BRE_LEMTA_Sprays.py", run_name="__main__") |
81 | | -print("catchpole_spread_rates..."); runpy.run_path("./scripts/catchpole_spread_rates.py", run_name="__main__") |
82 | | -print("FHWA_Tunnel..."); runpy.run_path("./scripts/FHWA_Tunnel.py", run_name="__main__") |
83 | | -print("FM_FPRF_Datacenter..."); runpy.run_path("./scripts/FM_FPRF_Datacenter.py", run_name="__main__") |
84 | | -print("Heskestad_Flame_Height_2..."); runpy.run_path("./scripts/Heskestad_Flame_Height_2.py", run_name="__main__") |
85 | | -print("McCaffrey_Plume..."); runpy.run_path("./scripts/McCaffrey_Plume.py", run_name="__main__") |
86 | | -print("Memorial_Tunnel..."); runpy.run_path("./scripts/Memorial_Tunnel.py", run_name="__main__") |
87 | | -print("Memorial_Tunnel_2..."); runpy.run_path("./scripts/Memorial_Tunnel_2.py", run_name="__main__") |
88 | | -print("NIST_NRC_Parallel_Panels..."); runpy.run_path("./scripts/NIST_NRC_Parallel_Panels.py", run_name="__main__") |
89 | | -print("Sandia_Plumes..."); runpy.run_path("./scripts/Sandia_Plumes.py", run_name="__main__") |
90 | | -print("Sandia_Pools..."); runpy.run_path("./scripts/Sandia_Pools.py", run_name="__main__") |
91 | | -print("Theobald_Hose_Stream..."); runpy.run_path("./scripts/Theobald_Hose_Stream.py", run_name="__main__") |
92 | | -print("TUS_Facade..."); runpy.run_path("./scripts/TUS_Facade_contours.py", run_name="__main__") |
93 | | -print("USFS_Deep_Fuel_Beds..."); runpy.run_path("./scripts/USFS_Deep_Fuel_Beds.py", run_name="__main__") |
94 | | -print("Wu_Bakar_Tunnels..."); runpy.run_path("./scripts/Wu_Bakar_Tunnels.py", run_name="__main__") |
| 87 | +print("Backward_Facing_Step..."); safe_run("./scripts/Backward_Facing_Step.py") |
| 88 | +print("Beyler_Hood..."); safe_run("./scripts/Beyler_Hood.py") |
| 89 | +print("BRE_LEMTA_Sprays..."); safe_run("./scripts/BRE_LEMTA_Sprays.py") |
| 90 | +print("catchpole_spread_rates..."); safe_run("./scripts/catchpole_spread_rates.py") |
| 91 | +print("FHWA_Tunnel..."); safe_run("./scripts/FHWA_Tunnel.py") |
| 92 | +print("FM_FPRF_Datacenter..."); safe_run("./scripts/FM_FPRF_Datacenter.py") |
| 93 | +print("Heskestad_Flame_Height_2..."); safe_run("./scripts/Heskestad_Flame_Height_2.py") |
| 94 | +print("McCaffrey_Plume..."); safe_run("./scripts/McCaffrey_Plume.py") |
| 95 | +print("Memorial_Tunnel..."); safe_run("./scripts/Memorial_Tunnel.py") |
| 96 | +print("Memorial_Tunnel_2..."); safe_run("./scripts/Memorial_Tunnel_2.py") |
| 97 | +print("NIST_NRC_Parallel_Panels..."); safe_run("./scripts/NIST_NRC_Parallel_Panels.py") |
| 98 | +print("Sandia_Plumes..."); safe_run("./scripts/Sandia_Plumes.py") |
| 99 | +print("Sandia_Pools..."); safe_run("./scripts/Sandia_Pools.py") |
| 100 | +print("Theobald_Hose_Stream..."); safe_run("./scripts/Theobald_Hose_Stream.py") |
| 101 | +print("TUS_Facade..."); safe_run("./scripts/TUS_Facade_contours.py") |
| 102 | +print("USFS_Deep_Fuel_Beds..."); safe_run("./scripts/USFS_Deep_Fuel_Beds.py") |
| 103 | +print("Wu_Bakar_Tunnels..."); safe_run("./scripts/Wu_Bakar_Tunnels.py") |
95 | 104 |
|
96 | 105 | print("Python validation scripts completed successfully!") |
97 | 106 |
|
|
0 commit comments