Initial import of NavSea pbf project
This commit is contained in:
56
weather_pipeline.py
Normal file
56
weather_pipeline.py
Normal file
@@ -0,0 +1,56 @@
|
||||
import os
|
||||
import subprocess
|
||||
import time
|
||||
|
||||
DOWNLOADER = "gfs_downloader.py"
|
||||
GRID_BUILDER = "grid/grid_builder_v2.py"
|
||||
TILE_GENERATOR = "tiles/vector_tile_generator.py"
|
||||
|
||||
|
||||
def run_step(name, script):
|
||||
print("\n==========================")
|
||||
print("Running:", name)
|
||||
print("==========================\n")
|
||||
|
||||
start = time.time()
|
||||
|
||||
result = subprocess.run(
|
||||
["python", script],
|
||||
capture_output=True,
|
||||
text=True
|
||||
)
|
||||
|
||||
print(result.stdout)
|
||||
|
||||
if result.returncode != 0:
|
||||
print("ERROR:", result.stderr)
|
||||
raise RuntimeError(name + " failed")
|
||||
|
||||
end = time.time()
|
||||
|
||||
print("\nFinished:", name)
|
||||
print("Time:", round(end-start,2),"seconds")
|
||||
|
||||
|
||||
def main():
|
||||
print("Weather Pipeline Starting...")
|
||||
print("Date:", time.strftime("%Y-%m-%d %H:%M:%S"))
|
||||
|
||||
try:
|
||||
run_step("GFS Downloader", DOWNLOADER)
|
||||
run_step("Grid Builder v2", GRID_BUILDER)
|
||||
run_step("Vector Tile Generator", TILE_GENERATOR)
|
||||
|
||||
print("\n" + "="*50)
|
||||
print("Weather Pipeline Completed Successfully!")
|
||||
print("="*50)
|
||||
|
||||
except RuntimeError as e:
|
||||
print("\n" + "!"*50)
|
||||
print("Pipeline Failed:", str(e))
|
||||
print("!"*50)
|
||||
exit(1)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user