From 7d0b6f65c8b68dc6e5d003fa2ce42e7103ac8345 Mon Sep 17 00:00:00 2001 From: Kiandra WM Date: Thu, 18 Jun 2026 12:14:19 -0700 Subject: [PATCH 1/5] Update ICAR visualization script to include a env variable with the path to the directory containing the data to-do: replace hardcoded file name --- scripts/icar_visualization.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/icar_visualization.py b/scripts/icar_visualization.py index 59051886..499f9371 100644 --- a/scripts/icar_visualization.py +++ b/scripts/icar_visualization.py @@ -1,9 +1,11 @@ # IPython log file +import os import xarray as xr import matplotlib.pyplot as plt -ds=xr.open_dataset("output_simple/icar_out_000001_2000-10-01_00-00-00.nc") # image 000001 domain partition +data_dir_path=os.environ.get("TRAINING_DATA") +ds=xr.open_dataset(data_dir_path + "/training_input-image-_100.nc") # temporarily hardcoded file print(ds) ds["precipitation"][-1].plot() # -1 refers to last time step ds["precipitation"][-1].plot(vmax=2) # set max of color scale (for a longer time, try vmax ~ 2000) From 373a0b96d5666e6d4b3d653089742af4ffc3af5f Mon Sep 17 00:00:00 2001 From: Kiandra WM Date: Mon, 29 Jun 2026 13:55:23 -0700 Subject: [PATCH 2/5] Update icar_visualization.py: matplotlib image creation changed to create individual images for each loop iteration. --- scripts/icar_visualization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/icar_visualization.py b/scripts/icar_visualization.py index 499f9371..32eb424c 100644 --- a/scripts/icar_visualization.py +++ b/scripts/icar_visualization.py @@ -15,4 +15,4 @@ plt.clf() ds["precipitation"][i].plot(vmax=2) plt.pause(0.1) # 0.1 sec pause between frames - plt.savefig("file_name.png") # edit this to insert frame number into file name to prevent overwrites + plt.savefig("file_name" + str(i) + ".png") From 22149e9beb93cb75bd146466278428d793fdeb82 Mon Sep 17 00:00:00 2001 From: Kiandra WM Date: Mon, 20 Jul 2026 17:30:47 -0700 Subject: [PATCH 3/5] Update icar vis python script to open multiple data sets --- scripts/icar_visualization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/icar_visualization.py b/scripts/icar_visualization.py index 32eb424c..67cc1064 100644 --- a/scripts/icar_visualization.py +++ b/scripts/icar_visualization.py @@ -5,7 +5,7 @@ import matplotlib.pyplot as plt data_dir_path=os.environ.get("TRAINING_DATA") -ds=xr.open_dataset(data_dir_path + "/training_input-image-_100.nc") # temporarily hardcoded file +ds=xr.open_mfdataset(data_dir_path + "/training_input-image-_*.nc") # temporarily hardcoded file print(ds) ds["precipitation"][-1].plot() # -1 refers to last time step ds["precipitation"][-1].plot(vmax=2) # set max of color scale (for a longer time, try vmax ~ 2000) From 2172a2dedfe2d2d14353c668c0380b4794862068 Mon Sep 17 00:00:00 2001 From: Kiandra WM Date: Mon, 31 Aug 2026 13:56:25 -0700 Subject: [PATCH 4/5] Modify icar_visualization.py to create a mp4 animation. --- scripts/icar_visualization.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/scripts/icar_visualization.py b/scripts/icar_visualization.py index 67cc1064..4a01e89e 100644 --- a/scripts/icar_visualization.py +++ b/scripts/icar_visualization.py @@ -1,18 +1,24 @@ # IPython log file import os -import xarray as xr +import xarray as xr import matplotlib.pyplot as plt - +import matplotlib.animation as animation + data_dir_path=os.environ.get("TRAINING_DATA") ds=xr.open_mfdataset(data_dir_path + "/training_input-image-_*.nc") # temporarily hardcoded file print(ds) -ds["precipitation"][-1].plot() # -1 refers to last time step -ds["precipitation"][-1].plot(vmax=2) # set max of color scale (for a longer time, try vmax ~ 2000) +ds["precipitation"][ -1].plot() # -1 refers to last time step +#ds["precipitation"][-1].plot(vmax=2) # set max of color scale (for a longer time, try vmax ~ 2000) + -# write an image to a file -for i in range(len(ds.time)): +fig, ax = plt.subplots() +def func(frame): plt.clf() - ds["precipitation"][i].plot(vmax=2) - plt.pause(0.1) # 0.1 sec pause between frames - plt.savefig("file_name" + str(i) + ".png") + ds["precipitation"][frame].plot(vmax=2) + # plt.pause(0.1) # 0.1 sec pause between frames + +#anim = animation.FuncAnimation(fig,func,len(ds.time)) +anim = animation.FuncAnimation(fig,func,60) + +anim.save('animation02 .mp4','ffmpeg',30) From ee837cce47eb5de5bcc0cd04d97bf232b510c92b Mon Sep 17 00:00:00 2001 From: Kiandra WM Date: Fri, 4 Sep 2026 11:11:05 -0700 Subject: [PATCH 5/5] Update icar_visualization.py to use an argument for animation file name. Remove redundant plt lines. --- scripts/icar_visualization.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/scripts/icar_visualization.py b/scripts/icar_visualization.py index 4a01e89e..e9f6b91c 100644 --- a/scripts/icar_visualization.py +++ b/scripts/icar_visualization.py @@ -1,24 +1,21 @@ # IPython log file import os +import sys import xarray as xr import matplotlib.pyplot as plt import matplotlib.animation as animation - + data_dir_path=os.environ.get("TRAINING_DATA") ds=xr.open_mfdataset(data_dir_path + "/training_input-image-_*.nc") # temporarily hardcoded file print(ds) -ds["precipitation"][ -1].plot() # -1 refers to last time step -#ds["precipitation"][-1].plot(vmax=2) # set max of color scale (for a longer time, try vmax ~ 2000) - fig, ax = plt.subplots() def func(frame): plt.clf() - ds["precipitation"][frame].plot(vmax=2) - # plt.pause(0.1) # 0.1 sec pause between frames + ds["precipitation"][frame].plot(vmax=2) #vmax sets max of color scale #anim = animation.FuncAnimation(fig,func,len(ds.time)) anim = animation.FuncAnimation(fig,func,60) -anim.save('animation02 .mp4','ffmpeg',30) +anim.save(sys.argv[1],'ffmpeg',30)