DAzimSurfTomo/example/test4_Yunnan/plot_script/Resample_period.py
2025-01-14 12:00:06 +08:00

38 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python
import numpy as np
import pdb
input = 'period_Azm_tomo.inv'
output = 'Period_Azm_reSmp.inv'
data = np.loadtxt(input, dtype=np.float64)
nx = 38 -2
ny = 42 - 2
nt = 36
# add percentage column
newdata = np.zeros((data.shape[0], data.shape[1]+1));
newdata[:, 0:4] = data[:, 0:4]
newdata[:, 5:] = data[:, 4:]
num = nx * ny
for zz in np.arange(nt):
rows = np.arange(num*zz, num*(zz+1))
meanp = np.mean(data[rows, 3])
newdata[rows, 3] = (data[rows, 3]-meanp)/meanp*100
newdata[rows, 4] = meanp
lineArr = []
for zz in np.arange(0, nt):
for yy in np.arange(0, ny, 2):
for xx in np.arange(0, nx, 2):
index = xx + yy * nx + zz * nx * ny
lineArr.append(index)
dataRe = newdata[lineArr, :]
fmt = '%9.4f %9.4f %9.4f %9.4f %9.4f %9.4f %9.4f %9.4f %9.4f %9.4f'
np.savetxt(output, dataRe, delimiter=" ", fmt=fmt)