\(\require{physics}\)

地形の情報を可視化・修正するスクリプト

import numpy as np
import matplotlib.pyplot as plt
file_name      = "suwa_bathymetry.inp"
# file_name      = "modified_bottom.inp"
container_size = 32
data           = np.array([list(map(float, line.rstrip().split())) for line in open(file_name).readlines()])
ny, nx         = np.array(data.shape)//container_size
	
# create refinement data file common for x and y directions
np.savetxt("rfm.txt", np.ones((ny,nx),dtype="int32"),fmt='%i', delimiter='\t')
	
print("bathymetry matrix (y dir, x dir) =", data.shape)
print("container matrix (ny, nx)        =", ny, nx)
print("bottom height(min, max)          =", np.min(data),",",np.max(data))
	
np.savetxt("modified_bottom.inp", np.where(data <999 , data-752.7249, data), fmt='%5.3f', delimiter='\t')
	
plt.imshow(data)
plt.show()