38 lines
1.1 KiB
Python
Executable File
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)
|