Trigger-Discipline: parallelize result plotting
This commit is contained in:
@@ -6,17 +6,22 @@
|
||||
## Author: Xiaoqu
|
||||
## Dates: 2024/10/01 --- 2025/09/14
|
||||
##
|
||||
#################################################
|
||||
|
||||
import numpy
|
||||
import scipy
|
||||
import matplotlib.pyplot as plt
|
||||
from matplotlib.colors import LogNorm
|
||||
from mpl_toolkits.mplot3d import Axes3D
|
||||
## import torch
|
||||
import AMSS_NCKU_Input as input_data
|
||||
|
||||
import os
|
||||
#################################################
|
||||
|
||||
## Restrict OpenMP to one thread per process so that parallel
|
||||
## subprocess plotting does not multiply BLAS thread counts.
|
||||
import os
|
||||
os.environ.setdefault("OMP_NUM_THREADS", "1")
|
||||
|
||||
import numpy
|
||||
import scipy
|
||||
import matplotlib
|
||||
matplotlib.use('Agg') ## use non-interactive backend for multiprocessing safety
|
||||
import matplotlib.pyplot as plt
|
||||
from matplotlib.colors import LogNorm
|
||||
from mpl_toolkits.mplot3d import Axes3D
|
||||
## import torch
|
||||
import AMSS_NCKU_Input as input_data
|
||||
|
||||
|
||||
#########################################################################################
|
||||
@@ -92,9 +97,9 @@ def plot_binary_data( filename, binary_outdir, figure_outdir ):
|
||||
|
||||
|
||||
|
||||
####################################################################################
|
||||
|
||||
# Plot a single binary dataset (2D slices and 3D surface)
|
||||
####################################################################################
|
||||
|
||||
# Plot a single binary dataset (2D slices and 3D surface)
|
||||
|
||||
def get_data_xy( Rmin, Rmax, n, data0, time, figure_title, figure_outdir ):
|
||||
|
||||
@@ -188,7 +193,15 @@ def get_data_xy( Rmin, Rmax, n, data0, time, figure_title, figure_outdir ):
|
||||
plt.savefig( os.path.join(figure_surfaceplot_outdir, figure_title + " time = " + str(time) + " surface_plot.pdf") ) # save figure
|
||||
plt.close()
|
||||
|
||||
return
|
||||
|
||||
####################################################################################
|
||||
return
|
||||
|
||||
####################################################################################
|
||||
|
||||
## Allow standalone subprocess execution for parallel binary-data plotting.
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
if len(sys.argv) != 4:
|
||||
print(f"Usage: {sys.argv[0]} <filename> <binary_outdir> <figure_outdir>")
|
||||
sys.exit(1)
|
||||
plot_binary_data(sys.argv[1], sys.argv[2], sys.argv[3])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user