mirror of
https://github.com/HongjianFang/DSurfTomo.git
synced 2025-05-05 22:31:14 +08:00
incorporating random projections based inversion using Poisson Voronoi cells
This commit is contained in:
parent
82ebf4283d
commit
9aead30bf2
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
*.o
|
||||
*.mod
|
||||
|
@ -1,7 +1,11 @@
|
||||
DSurfTomo is a surface wave inversion program which can directly invert surface wave dispersion data to 3D shear wave speed without the intermediate step of constructing the phase or group velocity maps.
|
||||
DSurfTomo is a surface wave inversion program which can irectly invert surface wave dispersion data directly to 3D shear wavespeed models, without the intermediate step of constructing the phase or group velocity maps.
|
||||
The fast marching method (FMM) (Rawlinson et al., 2004) is used to compute, at each period, surface wave travel times and ray paths between sources and receivers. This avoids the assumption of great-circle propagation that is used in most surface wave tomographic studies, but which is not appropriate in complex media.
|
||||
Please refer to Fang et al. (2015 , GJI) for the detail description of the method.
|
||||
|
||||
Fang, H., Yao, H., Zhang, H., Huang, Y. C., & van der Hilst, R. D. (2015). Direct inversion of surface wave dispersion for three-dimensional shallow crustal structure based on ray tracing: methodology and application. Geophysical Journal International, 201(3), 1251-1263.
|
||||
|
||||
Rawlinson, N. & Sambridge, M., 2004. Wave front evolution in strongly heterogeneous layered media using the fast marching method, Geophys. J. Int., 156(3), 631–647
|
||||
|
||||
For V2.0, I incorporated the random projections based inversion using Poisson Voronoi cells. However, it has not been fully tested, so any feedbacks will be helpful. For more information about the inversion method, please refer to:
|
||||
|
||||
Fang, H., van der Hilst, R. D., de Hoop, M. V., Kothari, K., Gupta, S., & Dokmanić, I. (2020). Parsimonious Seismic Tomography with Poisson Voronoi Projections: Methodology and Validation. Seismological Research Letters, 91(1), 343-355.
|
||||
|
11
configure
vendored
11
configure
vendored
@ -1,16 +1,17 @@
|
||||
#!/usr/bin/env python
|
||||
# this is a script to install surf_tomo and surf_tomo_syn in your system
|
||||
# written by Hongjian Fang(fanghj@mail.ustc.edu.cn)
|
||||
|
||||
import os
|
||||
if 'bin' in os.listdir('.'):
|
||||
print 'installation beginning'
|
||||
print ('Installation beginning')
|
||||
else:
|
||||
print 'installation beginning'
|
||||
print ('Installation beginning')
|
||||
os.mkdir('bin')
|
||||
os.chdir('src')
|
||||
os.system('make clean')
|
||||
os.system('make')
|
||||
os.system('cp DSurfTomo ../bin')
|
||||
print '--------------------------------------'
|
||||
print 'Finishing DSurfTomo compiling'
|
||||
print '--------------------------------------'
|
||||
print ('--------------------------------------')
|
||||
print ('DSurfTomo compiling Finished')
|
||||
print ('--------------------------------------')
|
||||
|
@ -6,7 +6,7 @@ surfdataTB.dat c: data file
|
||||
25.2 121.35 c: goxd gozd (upper left point,[lat,lon])
|
||||
0.015 0.017 c: dvxd dvzd (grid interval in lat and lon direction)
|
||||
20 c: max(sources, receivers)
|
||||
4.0 0.1 c: weight damp
|
||||
4.0 1.0 c: weight damp
|
||||
3 c: sablayers (for computing depth kernel, 2~5)
|
||||
0.5 2.8 c: minimum velocity, maximum velocity (a priori information)
|
||||
10 c: maximum iteration
|
||||
@ -18,4 +18,5 @@ surfdataTB.dat c: data file
|
||||
0 c: kmaxLg
|
||||
0 c: synthetic flag(0:real data,1:synthetic)
|
||||
0.02 c: noiselevel
|
||||
0.5 c: threshold
|
||||
0.05 c: threshold
|
||||
1 100 50 c: vorotomo,ncells,nrelizations
|
22
example_smoothing_clean/DSurfTomo.in
Normal file
22
example_smoothing_clean/DSurfTomo.in
Normal file
@ -0,0 +1,22 @@
|
||||
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
|
||||
c INPUT PARAMETERS
|
||||
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
|
||||
surfdataTB.dat c: data file
|
||||
18 18 9 c: nx ny nz (grid number in lat lon and depth direction)
|
||||
25.2 121.35 c: goxd gozd (upper left point,[lat,lon])
|
||||
0.015 0.017 c: dvxd dvzd (grid interval in lat and lon direction)
|
||||
20 c: max(sources, receivers)
|
||||
4.0 1.0 c: weight damp
|
||||
3 c: sablayers (for computing depth kernel, 2~5)
|
||||
0.5 2.8 c: minimum velocity, maximum velocity (a priori information)
|
||||
10 c: maximum iteration
|
||||
0.2 c: sparsity fraction
|
||||
26 c: kmaxRc (followed by periods)
|
||||
0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0
|
||||
0 c: kmaxRg
|
||||
0 c: kmaxLc
|
||||
0 c: kmaxLg
|
||||
0 c: synthetic flag(0:real data,1:synthetic)
|
||||
0.02 c: noiselevel
|
||||
0.05 c: threshold
|
||||
0 100 50 c: vorotomo,ncells,nrelizations
|
163
example_smoothing_clean/MOD
Normal file
163
example_smoothing_clean/MOD
Normal file
@ -0,0 +1,163 @@
|
||||
0.0 0.2 0.4 0.6 0.8 1.1 1.4 1.8 2.5
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140 1.140
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260 1.260
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380 1.380
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560 1.560
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740 1.740
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
||||
2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400 2.400
|
162
example_smoothing_clean/MOD.true
Normal file
162
example_smoothing_clean/MOD.true
Normal file
@ -0,0 +1,162 @@
|
||||
1.2068 1.2814 1.0674 0.7267 0.5171 0.5973 0.9066 1.2109 1.2799 1.0614 0.7208 0.5158 0.6016 0.9132 1.2148 1.2782 1.0554 0.7150
|
||||
1.2814 1.3742 1.1081 0.6845 0.4240 0.5237 0.9082 1.2865 1.3723 1.1007 0.6772 0.4224 0.5290 0.9164 1.2914 1.3702 1.0932 0.6700
|
||||
1.0674 1.1081 0.9913 0.8054 0.6911 0.7349 0.9036 1.0696 1.1073 0.9881 0.8022 0.6904 0.7372 0.9072 1.0718 1.1064 0.9848 0.7990
|
||||
0.7267 0.6845 0.8054 0.9979 1.1163 1.0710 0.8963 0.7244 0.6854 0.8088 1.0012 1.1170 1.0686 0.8926 0.7222 0.6863 0.8122 1.0045
|
||||
0.5171 0.4240 0.6911 1.1163 1.3778 1.2777 0.8918 0.5121 0.4260 0.6986 1.1236 1.3794 1.2724 0.8836 0.5071 0.4280 0.7061 1.1309
|
||||
0.5973 0.5237 0.7349 1.0710 1.2777 1.1986 0.8935 0.5933 0.5253 0.7408 1.0768 1.2790 1.1944 0.8870 0.5894 0.5269 0.7467 1.0825
|
||||
0.9066 0.9082 0.9036 0.8963 0.8918 0.8935 0.9001 0.9067 0.9082 0.9035 0.8962 0.8918 0.8936 0.9003 0.9068 0.9081 0.9033 0.8960
|
||||
1.2109 1.2865 1.0696 0.7244 0.5121 0.5933 0.9067 1.2150 1.2849 1.0635 0.7184 0.5107 0.5976 0.9133 1.2190 1.2832 1.0574 0.7125
|
||||
1.2799 1.3723 1.1073 0.6854 0.4260 0.5253 0.9082 1.2849 1.3703 1.0999 0.6781 0.4243 0.5305 0.9163 1.2898 1.3683 1.0924 0.6709
|
||||
1.0614 1.1007 0.9881 0.8088 0.6986 0.7408 0.9035 1.0635 1.0999 0.9849 0.8057 0.6979 0.7430 0.9069 1.0656 1.0990 0.9818 0.8027
|
||||
0.7208 0.6772 0.8022 1.0012 1.1236 1.0768 0.8962 0.7184 0.6781 0.8057 1.0047 1.1244 1.0743 0.8923 0.7161 0.6791 0.8092 1.0081
|
||||
0.5158 0.4224 0.6904 1.1170 1.3794 1.2790 0.8918 0.5107 0.4243 0.6979 1.1244 1.3811 1.2737 0.8835 0.5058 0.4264 0.7054 1.1317
|
||||
0.6016 0.5290 0.7372 1.0686 1.2724 1.1944 0.8936 0.5976 0.5305 0.7430 1.0743 1.2737 1.1903 0.8872 0.5938 0.5321 0.7488 1.0800
|
||||
0.9132 0.9164 0.9072 0.8926 0.8836 0.8870 0.9003 0.9133 0.9163 0.9069 0.8923 0.8835 0.8872 0.9006 0.9135 0.9162 0.9067 0.8921
|
||||
1.2148 1.2914 1.0718 0.7222 0.5071 0.5894 0.9068 1.2190 1.2898 1.0656 0.7161 0.5058 0.5938 0.9135 1.2230 1.2881 1.0594 0.7101
|
||||
1.2782 1.3702 1.1064 0.6863 0.4280 0.5269 0.9081 1.2832 1.3683 1.0990 0.6791 0.4264 0.5321 0.9162 1.2881 1.3662 1.0916 0.6719
|
||||
1.0554 1.0932 0.9848 0.8122 0.7061 0.7467 0.9033 1.0574 1.0924 0.9818 0.8092 0.7054 0.7488 0.9067 1.0594 1.0916 0.9787 0.8063
|
||||
0.7150 0.6700 0.7990 1.0045 1.1309 1.0825 0.8960 0.7125 0.6709 0.8027 1.0081 1.1317 1.0800 0.8921 0.7101 0.6719 0.8063 1.0116
|
||||
1.3268 1.4014 1.1874 0.8467 0.6371 0.7173 1.0266 1.3309 1.3999 1.1814 0.8408 0.6358 0.7216 1.0332 1.3348 1.3982 1.1754 0.8350
|
||||
1.4014 1.4942 1.2281 0.8045 0.5440 0.6437 1.0282 1.4065 1.4923 1.2207 0.7972 0.5424 0.6490 1.0364 1.4114 1.4902 1.2132 0.7900
|
||||
1.1874 1.2281 1.1113 0.9254 0.8111 0.8549 1.0236 1.1896 1.2273 1.1081 0.9222 0.8104 0.8572 1.0272 1.1918 1.2264 1.1048 0.9190
|
||||
0.8467 0.8045 0.9254 1.1179 1.2363 1.1910 1.0163 0.8444 0.8054 0.9288 1.1212 1.2370 1.1886 1.0126 0.8422 0.8063 0.9322 1.1245
|
||||
0.6371 0.5440 0.8111 1.2363 1.4978 1.3977 1.0118 0.6321 0.5460 0.8186 1.2436 1.4994 1.3924 1.0036 0.6271 0.5480 0.8261 1.2509
|
||||
0.7173 0.6437 0.8549 1.1910 1.3977 1.3186 1.0135 0.7133 0.6453 0.8608 1.1968 1.3990 1.3144 1.0070 0.7094 0.6469 0.8667 1.2025
|
||||
1.0266 1.0282 1.0236 1.0163 1.0118 1.0135 1.0201 1.0267 1.0282 1.0235 1.0162 1.0118 1.0136 1.0203 1.0268 1.0281 1.0233 1.0160
|
||||
1.3309 1.4065 1.1896 0.8444 0.6321 0.7133 1.0267 1.3350 1.4049 1.1835 0.8384 0.6307 0.7176 1.0333 1.3390 1.4032 1.1774 0.8325
|
||||
1.3999 1.4923 1.2273 0.8054 0.5460 0.6453 1.0282 1.4049 1.4903 1.2199 0.7981 0.5443 0.6505 1.0363 1.4098 1.4883 1.2124 0.7909
|
||||
1.1814 1.2207 1.1081 0.9288 0.8186 0.8608 1.0235 1.1835 1.2199 1.1049 0.9257 0.8179 0.8630 1.0269 1.1856 1.2190 1.1018 0.9227
|
||||
0.8408 0.7972 0.9222 1.1212 1.2436 1.1968 1.0162 0.8384 0.7981 0.9257 1.1247 1.2444 1.1943 1.0123 0.8361 0.7991 0.9292 1.1281
|
||||
0.6358 0.5424 0.8104 1.2370 1.4994 1.3990 1.0118 0.6307 0.5443 0.8179 1.2444 1.5011 1.3937 1.0035 0.6258 0.5464 0.8254 1.2517
|
||||
0.7216 0.6490 0.8572 1.1886 1.3924 1.3144 1.0136 0.7176 0.6505 0.8630 1.1943 1.3937 1.3103 1.0072 0.7138 0.6521 0.8688 1.2000
|
||||
1.0332 1.0364 1.0272 1.0126 1.0036 1.0070 1.0203 1.0333 1.0363 1.0269 1.0123 1.0035 1.0072 1.0206 1.0335 1.0362 1.0267 1.0121
|
||||
1.3348 1.4114 1.1918 0.8422 0.6271 0.7094 1.0268 1.3390 1.4098 1.1856 0.8361 0.6258 0.7138 1.0335 1.3430 1.4081 1.1794 0.8301
|
||||
1.3982 1.4902 1.2264 0.8063 0.5480 0.6469 1.0281 1.4032 1.4883 1.2190 0.7991 0.5464 0.6521 1.0362 1.4081 1.4862 1.2116 0.7919
|
||||
1.1754 1.2132 1.1048 0.9322 0.8261 0.8667 1.0233 1.1774 1.2124 1.1018 0.9292 0.8254 0.8688 1.0267 1.1794 1.2116 1.0987 0.9263
|
||||
0.8350 0.7900 0.9190 1.1245 1.2509 1.2025 1.0160 0.8325 0.7909 0.9227 1.1281 1.2517 1.2000 1.0121 0.8301 0.7919 0.9263 1.1316
|
||||
1.4468 1.5214 1.3074 0.9667 0.7571 0.8373 1.1466 1.4509 1.5199 1.3014 0.9608 0.7558 0.8416 1.1532 1.4548 1.5182 1.2954 0.9550
|
||||
1.5214 1.6142 1.3481 0.9245 0.6640 0.7637 1.1482 1.5265 1.6123 1.3407 0.9172 0.6624 0.7690 1.1564 1.5314 1.6102 1.3332 0.9100
|
||||
1.3074 1.3481 1.2313 1.0454 0.9311 0.9749 1.1436 1.3096 1.3473 1.2281 1.0422 0.9304 0.9772 1.1472 1.3118 1.3464 1.2248 1.0390
|
||||
0.9667 0.9245 1.0454 1.2379 1.3563 1.3110 1.1363 0.9644 0.9254 1.0488 1.2412 1.3570 1.3086 1.1326 0.9622 0.9263 1.0522 1.2445
|
||||
0.7571 0.6640 0.9311 1.3563 1.6178 1.5177 1.1318 0.7521 0.6660 0.9386 1.3636 1.6194 1.5124 1.1236 0.7471 0.6680 0.9461 1.3709
|
||||
0.8373 0.7637 0.9749 1.3110 1.5177 1.4386 1.1335 0.8333 0.7653 0.9808 1.3168 1.5190 1.4344 1.1270 0.8294 0.7669 0.9867 1.3225
|
||||
1.1466 1.1482 1.1436 1.1363 1.1318 1.1335 1.1401 1.1467 1.1482 1.1435 1.1362 1.1318 1.1336 1.1403 1.1468 1.1481 1.1433 1.1360
|
||||
1.4509 1.5265 1.3096 0.9644 0.7521 0.8333 1.1467 1.4550 1.5249 1.3035 0.9584 0.7507 0.8376 1.1533 1.4590 1.5232 1.2974 0.9525
|
||||
1.5199 1.6123 1.3473 0.9254 0.6660 0.7653 1.1482 1.5249 1.6103 1.3399 0.9181 0.6643 0.7705 1.1563 1.5298 1.6083 1.3324 0.9109
|
||||
1.3014 1.3407 1.2281 1.0488 0.9386 0.9808 1.1435 1.3035 1.3399 1.2249 1.0457 0.9379 0.9830 1.1469 1.3056 1.3390 1.2218 1.0427
|
||||
0.9608 0.9172 1.0422 1.2412 1.3636 1.3168 1.1362 0.9584 0.9181 1.0457 1.2447 1.3644 1.3143 1.1323 0.9561 0.9191 1.0492 1.2481
|
||||
0.7558 0.6624 0.9304 1.3570 1.6194 1.5190 1.1318 0.7507 0.6643 0.9379 1.3644 1.6211 1.5137 1.1235 0.7458 0.6664 0.9454 1.3717
|
||||
0.8416 0.7690 0.9772 1.3086 1.5124 1.4344 1.1336 0.8376 0.7705 0.9830 1.3143 1.5137 1.4303 1.1272 0.8338 0.7721 0.9888 1.3200
|
||||
1.1532 1.1564 1.1472 1.1326 1.1236 1.1270 1.1403 1.1533 1.1563 1.1469 1.1323 1.1235 1.1272 1.1406 1.1535 1.1562 1.1467 1.1321
|
||||
1.4548 1.5314 1.3118 0.9622 0.7471 0.8294 1.1468 1.4590 1.5298 1.3056 0.9561 0.7458 0.8338 1.1535 1.4630 1.5281 1.2994 0.9501
|
||||
1.5182 1.6102 1.3464 0.9263 0.6680 0.7669 1.1481 1.5232 1.6083 1.3390 0.9191 0.6664 0.7721 1.1562 1.5281 1.6062 1.3316 0.9119
|
||||
1.2954 1.3332 1.2248 1.0522 0.9461 0.9867 1.1433 1.2974 1.3324 1.2218 1.0492 0.9454 0.9888 1.1467 1.2994 1.3316 1.2187 1.0463
|
||||
0.9550 0.9100 1.0390 1.2445 1.3709 1.3225 1.1360 0.9525 0.9109 1.0427 1.2481 1.3717 1.3200 1.1321 0.9501 0.9119 1.0463 1.2516
|
||||
1.5668 1.6414 1.4274 1.0867 0.8771 0.9573 1.2666 1.5709 1.6399 1.4214 1.0808 0.8758 0.9616 1.2732 1.5748 1.6382 1.4154 1.0750
|
||||
1.6414 1.7342 1.4681 1.0445 0.7840 0.8837 1.2682 1.6465 1.7323 1.4607 1.0372 0.7824 0.8890 1.2764 1.6514 1.7302 1.4532 1.0300
|
||||
1.4274 1.4681 1.3513 1.1654 1.0511 1.0949 1.2636 1.4296 1.4673 1.3481 1.1622 1.0504 1.0972 1.2672 1.4318 1.4664 1.3448 1.1590
|
||||
1.0867 1.0445 1.1654 1.3579 1.4763 1.4310 1.2563 1.0844 1.0454 1.1688 1.3612 1.4770 1.4286 1.2526 1.0822 1.0463 1.1722 1.3645
|
||||
0.8771 0.7840 1.0511 1.4763 1.7378 1.6377 1.2518 0.8721 0.7860 1.0586 1.4836 1.7394 1.6324 1.2436 0.8671 0.7880 1.0661 1.4909
|
||||
0.9573 0.8837 1.0949 1.4310 1.6377 1.5586 1.2535 0.9533 0.8853 1.1008 1.4368 1.6390 1.5544 1.2470 0.9494 0.8869 1.1067 1.4425
|
||||
1.2666 1.2682 1.2636 1.2563 1.2518 1.2535 1.2601 1.2667 1.2682 1.2635 1.2562 1.2518 1.2536 1.2603 1.2668 1.2681 1.2633 1.2560
|
||||
1.5709 1.6465 1.4296 1.0844 0.8721 0.9533 1.2667 1.5750 1.6449 1.4235 1.0784 0.8707 0.9576 1.2733 1.5790 1.6432 1.4174 1.0725
|
||||
1.6399 1.7323 1.4673 1.0454 0.7860 0.8853 1.2682 1.6449 1.7303 1.4599 1.0381 0.7843 0.8905 1.2763 1.6498 1.7283 1.4524 1.0309
|
||||
1.4214 1.4607 1.3481 1.1688 1.0586 1.1008 1.2635 1.4235 1.4599 1.3449 1.1657 1.0579 1.1030 1.2669 1.4256 1.4590 1.3418 1.1627
|
||||
1.0808 1.0372 1.1622 1.3612 1.4836 1.4368 1.2562 1.0784 1.0381 1.1657 1.3647 1.4844 1.4343 1.2523 1.0761 1.0391 1.1692 1.3681
|
||||
0.8758 0.7824 1.0504 1.4770 1.7394 1.6390 1.2518 0.8707 0.7843 1.0579 1.4844 1.7411 1.6337 1.2435 0.8658 0.7864 1.0654 1.4917
|
||||
0.9616 0.8890 1.0972 1.4286 1.6324 1.5544 1.2536 0.9576 0.8905 1.1030 1.4343 1.6337 1.5503 1.2472 0.9538 0.8921 1.1088 1.4400
|
||||
1.2732 1.2764 1.2672 1.2526 1.2436 1.2470 1.2603 1.2733 1.2763 1.2669 1.2523 1.2435 1.2472 1.2606 1.2735 1.2762 1.2667 1.2521
|
||||
1.5748 1.6514 1.4318 1.0822 0.8671 0.9494 1.2668 1.5790 1.6498 1.4256 1.0761 0.8658 0.9538 1.2735 1.5830 1.6481 1.4194 1.0701
|
||||
1.6382 1.7302 1.4664 1.0463 0.7880 0.8869 1.2681 1.6432 1.7283 1.4590 1.0391 0.7864 0.8921 1.2762 1.6481 1.7262 1.4516 1.0319
|
||||
1.4154 1.4532 1.3448 1.1722 1.0661 1.1067 1.2633 1.4174 1.4524 1.3418 1.1692 1.0654 1.1088 1.2667 1.4194 1.4516 1.3387 1.1663
|
||||
1.0750 1.0300 1.1590 1.3645 1.4909 1.4425 1.2560 1.0725 1.0309 1.1627 1.3681 1.4917 1.4400 1.2521 1.0701 1.0319 1.1663 1.3716
|
||||
1.6868 1.7614 1.5474 1.2067 0.9971 1.0773 1.3866 1.6909 1.7599 1.5414 1.2008 0.9958 1.0816 1.3932 1.6948 1.7582 1.5354 1.1950
|
||||
1.7614 1.8542 1.5881 1.1645 0.9040 1.0037 1.3882 1.7665 1.8523 1.5807 1.1572 0.9024 1.0090 1.3964 1.7714 1.8502 1.5732 1.1500
|
||||
1.5474 1.5881 1.4713 1.2854 1.1711 1.2149 1.3836 1.5496 1.5873 1.4681 1.2822 1.1704 1.2172 1.3872 1.5518 1.5864 1.4648 1.2790
|
||||
1.2067 1.1645 1.2854 1.4779 1.5963 1.5510 1.3763 1.2044 1.1654 1.2888 1.4812 1.5970 1.5486 1.3726 1.2022 1.1663 1.2922 1.4845
|
||||
0.9971 0.9040 1.1711 1.5963 1.8578 1.7577 1.3718 0.9921 0.9060 1.1786 1.6036 1.8594 1.7524 1.3636 0.9871 0.9080 1.1861 1.6109
|
||||
1.0773 1.0037 1.2149 1.5510 1.7577 1.6786 1.3735 1.0733 1.0053 1.2208 1.5568 1.7590 1.6744 1.3670 1.0694 1.0069 1.2267 1.5625
|
||||
1.3866 1.3882 1.3836 1.3763 1.3718 1.3735 1.3801 1.3867 1.3882 1.3835 1.3762 1.3718 1.3736 1.3803 1.3868 1.3881 1.3833 1.3760
|
||||
1.6909 1.7665 1.5496 1.2044 0.9921 1.0733 1.3867 1.6950 1.7649 1.5435 1.1984 0.9907 1.0776 1.3933 1.6990 1.7632 1.5374 1.1925
|
||||
1.7599 1.8523 1.5873 1.1654 0.9060 1.0053 1.3882 1.7649 1.8503 1.5799 1.1581 0.9043 1.0105 1.3963 1.7698 1.8483 1.5724 1.1509
|
||||
1.5414 1.5807 1.4681 1.2888 1.1786 1.2208 1.3835 1.5435 1.5799 1.4649 1.2857 1.1779 1.2230 1.3869 1.5456 1.5790 1.4618 1.2827
|
||||
1.2008 1.1572 1.2822 1.4812 1.6036 1.5568 1.3762 1.1984 1.1581 1.2857 1.4847 1.6044 1.5543 1.3723 1.1961 1.1591 1.2892 1.4881
|
||||
0.9958 0.9024 1.1704 1.5970 1.8594 1.7590 1.3718 0.9907 0.9043 1.1779 1.6044 1.8611 1.7537 1.3635 0.9858 0.9064 1.1854 1.6117
|
||||
1.0816 1.0090 1.2172 1.5486 1.7524 1.6744 1.3736 1.0776 1.0105 1.2230 1.5543 1.7537 1.6703 1.3672 1.0738 1.0121 1.2288 1.5600
|
||||
1.3932 1.3964 1.3872 1.3726 1.3636 1.3670 1.3803 1.3933 1.3963 1.3869 1.3723 1.3635 1.3672 1.3806 1.3935 1.3962 1.3867 1.3721
|
||||
1.6948 1.7714 1.5518 1.2022 0.9871 1.0694 1.3868 1.6990 1.7698 1.5456 1.1961 0.9858 1.0738 1.3935 1.7030 1.7681 1.5394 1.1901
|
||||
1.7582 1.8502 1.5864 1.1663 0.9080 1.0069 1.3881 1.7632 1.8483 1.5790 1.1591 0.9064 1.0121 1.3962 1.7681 1.8462 1.5716 1.1519
|
||||
1.5354 1.5732 1.4648 1.2922 1.1861 1.2267 1.3833 1.5374 1.5724 1.4618 1.2892 1.1854 1.2288 1.3867 1.5394 1.5716 1.4587 1.2863
|
||||
1.1950 1.1500 1.2790 1.4845 1.6109 1.5625 1.3760 1.1925 1.1509 1.2827 1.4881 1.6117 1.5600 1.3721 1.1901 1.1519 1.2863 1.4916
|
||||
1.8668 1.9414 1.7274 1.3867 1.1771 1.2573 1.5666 1.8709 1.9399 1.7214 1.3808 1.1758 1.2616 1.5732 1.8748 1.9382 1.7154 1.3750
|
||||
1.9414 2.0342 1.7681 1.3445 1.0840 1.1837 1.5682 1.9465 2.0323 1.7607 1.3372 1.0824 1.1890 1.5764 1.9514 2.0302 1.7532 1.3300
|
||||
1.7274 1.7681 1.6513 1.4654 1.3511 1.3949 1.5636 1.7296 1.7673 1.6481 1.4622 1.3504 1.3972 1.5672 1.7318 1.7664 1.6448 1.4590
|
||||
1.3867 1.3445 1.4654 1.6579 1.7763 1.7310 1.5563 1.3844 1.3454 1.4688 1.6612 1.7770 1.7286 1.5526 1.3822 1.3463 1.4722 1.6645
|
||||
1.1771 1.0840 1.3511 1.7763 2.0378 1.9377 1.5518 1.1721 1.0860 1.3586 1.7836 2.0394 1.9324 1.5436 1.1671 1.0880 1.3661 1.7909
|
||||
1.2573 1.1837 1.3949 1.7310 1.9377 1.8586 1.5535 1.2533 1.1853 1.4008 1.7368 1.9390 1.8544 1.5470 1.2494 1.1869 1.4067 1.7425
|
||||
1.5666 1.5682 1.5636 1.5563 1.5518 1.5535 1.5601 1.5667 1.5682 1.5635 1.5562 1.5518 1.5536 1.5603 1.5668 1.5681 1.5633 1.5560
|
||||
1.8709 1.9465 1.7296 1.3844 1.1721 1.2533 1.5667 1.8750 1.9449 1.7235 1.3784 1.1707 1.2576 1.5733 1.8790 1.9432 1.7174 1.3725
|
||||
1.9399 2.0323 1.7673 1.3454 1.0860 1.1853 1.5682 1.9449 2.0303 1.7599 1.3381 1.0843 1.1905 1.5763 1.9498 2.0283 1.7524 1.3309
|
||||
1.7214 1.7607 1.6481 1.4688 1.3586 1.4008 1.5635 1.7235 1.7599 1.6449 1.4657 1.3579 1.4030 1.5669 1.7256 1.7590 1.6418 1.4627
|
||||
1.3808 1.3372 1.4622 1.6612 1.7836 1.7368 1.5562 1.3784 1.3381 1.4657 1.6647 1.7844 1.7343 1.5523 1.3761 1.3391 1.4692 1.6681
|
||||
1.1758 1.0824 1.3504 1.7770 2.0394 1.9390 1.5518 1.1707 1.0843 1.3579 1.7844 2.0411 1.9337 1.5435 1.1658 1.0864 1.3654 1.7917
|
||||
1.2616 1.1890 1.3972 1.7286 1.9324 1.8544 1.5536 1.2576 1.1905 1.4030 1.7343 1.9337 1.8503 1.5472 1.2538 1.1921 1.4088 1.7400
|
||||
1.5732 1.5764 1.5672 1.5526 1.5436 1.5470 1.5603 1.5733 1.5763 1.5669 1.5523 1.5435 1.5472 1.5606 1.5735 1.5762 1.5667 1.5521
|
||||
1.8748 1.9514 1.7318 1.3822 1.1671 1.2494 1.5668 1.8790 1.9498 1.7256 1.3761 1.1658 1.2538 1.5735 1.8830 1.9481 1.7194 1.3701
|
||||
1.9382 2.0302 1.7664 1.3463 1.0880 1.1869 1.5681 1.9432 2.0283 1.7590 1.3391 1.0864 1.1921 1.5762 1.9481 2.0262 1.7516 1.3319
|
||||
1.7154 1.7532 1.6448 1.4722 1.3661 1.4067 1.5633 1.7174 1.7524 1.6418 1.4692 1.3654 1.4088 1.5667 1.7194 1.7516 1.6387 1.4663
|
||||
1.3750 1.3300 1.4590 1.6645 1.7909 1.7425 1.5560 1.3725 1.3309 1.4627 1.6681 1.7917 1.7400 1.5521 1.3701 1.3319 1.4663 1.6716
|
||||
2.0468 2.1214 1.9074 1.5667 1.3571 1.4373 1.7466 2.0509 2.1199 1.9014 1.5608 1.3558 1.4416 1.7532 2.0548 2.1182 1.8954 1.5550
|
||||
2.1214 2.2142 1.9481 1.5245 1.2640 1.3637 1.7482 2.1265 2.2123 1.9407 1.5172 1.2624 1.3690 1.7564 2.1314 2.2102 1.9332 1.5100
|
||||
1.9074 1.9481 1.8313 1.6454 1.5311 1.5749 1.7436 1.9096 1.9473 1.8281 1.6422 1.5304 1.5772 1.7472 1.9118 1.9464 1.8248 1.6390
|
||||
1.5667 1.5245 1.6454 1.8379 1.9563 1.9110 1.7363 1.5644 1.5254 1.6488 1.8412 1.9570 1.9086 1.7326 1.5622 1.5263 1.6522 1.8445
|
||||
1.3571 1.2640 1.5311 1.9563 2.2178 2.1177 1.7318 1.3521 1.2660 1.5386 1.9636 2.2194 2.1124 1.7236 1.3471 1.2680 1.5461 1.9709
|
||||
1.4373 1.3637 1.5749 1.9110 2.1177 2.0386 1.7335 1.4333 1.3653 1.5808 1.9168 2.1190 2.0344 1.7270 1.4294 1.3669 1.5867 1.9225
|
||||
1.7466 1.7482 1.7436 1.7363 1.7318 1.7335 1.7401 1.7467 1.7482 1.7435 1.7362 1.7318 1.7336 1.7403 1.7468 1.7481 1.7433 1.7360
|
||||
2.0509 2.1265 1.9096 1.5644 1.3521 1.4333 1.7467 2.0550 2.1249 1.9035 1.5584 1.3507 1.4376 1.7533 2.0590 2.1232 1.8974 1.5525
|
||||
2.1199 2.2123 1.9473 1.5254 1.2660 1.3653 1.7482 2.1249 2.2103 1.9399 1.5181 1.2643 1.3705 1.7563 2.1298 2.2083 1.9324 1.5109
|
||||
1.9014 1.9407 1.8281 1.6488 1.5386 1.5808 1.7435 1.9035 1.9399 1.8249 1.6457 1.5379 1.5830 1.7469 1.9056 1.9390 1.8218 1.6427
|
||||
1.5608 1.5172 1.6422 1.8412 1.9636 1.9168 1.7362 1.5584 1.5181 1.6457 1.8447 1.9644 1.9143 1.7323 1.5561 1.5191 1.6492 1.8481
|
||||
1.3558 1.2624 1.5304 1.9570 2.2194 2.1190 1.7318 1.3507 1.2643 1.5379 1.9644 2.2211 2.1137 1.7235 1.3458 1.2664 1.5454 1.9717
|
||||
1.4416 1.3690 1.5772 1.9086 2.1124 2.0344 1.7336 1.4376 1.3705 1.5830 1.9143 2.1137 2.0303 1.7272 1.4338 1.3721 1.5888 1.9200
|
||||
1.7532 1.7564 1.7472 1.7326 1.7236 1.7270 1.7403 1.7533 1.7563 1.7469 1.7323 1.7235 1.7272 1.7406 1.7535 1.7562 1.7467 1.7321
|
||||
2.0548 2.1314 1.9118 1.5622 1.3471 1.4294 1.7468 2.0590 2.1298 1.9056 1.5561 1.3458 1.4338 1.7535 2.0630 2.1281 1.8994 1.5501
|
||||
2.1182 2.2102 1.9464 1.5263 1.2680 1.3669 1.7481 2.1232 2.2083 1.9390 1.5191 1.2664 1.3721 1.7562 2.1281 2.2062 1.9316 1.5119
|
||||
1.8954 1.9332 1.8248 1.6522 1.5461 1.5867 1.7433 1.8974 1.9324 1.8218 1.6492 1.5454 1.5888 1.7467 1.8994 1.9316 1.8187 1.6463
|
||||
1.5550 1.5100 1.6390 1.8445 1.9709 1.9225 1.7360 1.5525 1.5109 1.6427 1.8481 1.9717 1.9200 1.7321 1.5501 1.5119 1.6463 1.8516
|
||||
2.2868 2.3614 2.1474 1.8067 1.5971 1.6773 1.9866 2.2909 2.3599 2.1414 1.8008 1.5958 1.6816 1.9932 2.2948 2.3582 2.1354 1.7950
|
||||
2.3614 2.4542 2.1881 1.7645 1.5040 1.6037 1.9882 2.3665 2.4523 2.1807 1.7572 1.5024 1.6090 1.9964 2.3714 2.4502 2.1732 1.7500
|
||||
2.1474 2.1881 2.0713 1.8854 1.7711 1.8149 1.9836 2.1496 2.1873 2.0681 1.8822 1.7704 1.8172 1.9872 2.1518 2.1864 2.0648 1.8790
|
||||
1.8067 1.7645 1.8854 2.0779 2.1963 2.1510 1.9763 1.8044 1.7654 1.8888 2.0812 2.1970 2.1486 1.9726 1.8022 1.7663 1.8922 2.0845
|
||||
1.5971 1.5040 1.7711 2.1963 2.4578 2.3577 1.9718 1.5921 1.5060 1.7786 2.2036 2.4594 2.3524 1.9636 1.5871 1.5080 1.7861 2.2109
|
||||
1.6773 1.6037 1.8149 2.1510 2.3577 2.2786 1.9735 1.6733 1.6053 1.8208 2.1568 2.3590 2.2744 1.9670 1.6694 1.6069 1.8267 2.1625
|
||||
1.9866 1.9882 1.9836 1.9763 1.9718 1.9735 1.9801 1.9867 1.9882 1.9835 1.9762 1.9718 1.9736 1.9803 1.9868 1.9881 1.9833 1.9760
|
||||
2.2909 2.3665 2.1496 1.8044 1.5921 1.6733 1.9867 2.2950 2.3649 2.1435 1.7984 1.5907 1.6776 1.9933 2.2990 2.3632 2.1374 1.7925
|
||||
2.3599 2.4523 2.1873 1.7654 1.5060 1.6053 1.9882 2.3649 2.4503 2.1799 1.7581 1.5043 1.6105 1.9963 2.3698 2.4483 2.1724 1.7509
|
||||
2.1414 2.1807 2.0681 1.8888 1.7786 1.8208 1.9835 2.1435 2.1799 2.0649 1.8857 1.7779 1.8230 1.9869 2.1456 2.1790 2.0618 1.8827
|
||||
1.8008 1.7572 1.8822 2.0812 2.2036 2.1568 1.9762 1.7984 1.7581 1.8857 2.0847 2.2044 2.1543 1.9723 1.7961 1.7591 1.8892 2.0881
|
||||
1.5958 1.5024 1.7704 2.1970 2.4594 2.3590 1.9718 1.5907 1.5043 1.7779 2.2044 2.4611 2.3537 1.9635 1.5858 1.5064 1.7854 2.2117
|
||||
1.6816 1.6090 1.8172 2.1486 2.3524 2.2744 1.9736 1.6776 1.6105 1.8230 2.1543 2.3537 2.2703 1.9672 1.6738 1.6121 1.8288 2.1600
|
||||
1.9932 1.9964 1.9872 1.9726 1.9636 1.9670 1.9803 1.9933 1.9963 1.9869 1.9723 1.9635 1.9672 1.9806 1.9935 1.9962 1.9867 1.9721
|
||||
2.2948 2.3714 2.1518 1.8022 1.5871 1.6694 1.9868 2.2990 2.3698 2.1456 1.7961 1.5858 1.6738 1.9935 2.3030 2.3681 2.1394 1.7901
|
||||
2.3582 2.4502 2.1864 1.7663 1.5080 1.6069 1.9881 2.3632 2.4483 2.1790 1.7591 1.5064 1.6121 1.9962 2.3681 2.4462 2.1716 1.7519
|
||||
2.1354 2.1732 2.0648 1.8922 1.7861 1.8267 1.9833 2.1374 2.1724 2.0618 1.8892 1.7854 1.8288 1.9867 2.1394 2.1716 2.0587 1.8863
|
||||
1.7950 1.7500 1.8790 2.0845 2.2109 2.1625 1.9760 1.7925 1.7509 1.8827 2.0881 2.2117 2.1600 1.9721 1.7901 1.7519 1.8863 2.0916
|
||||
2.7068 2.7814 2.5674 2.2267 2.0171 2.0973 2.4066 2.7109 2.7799 2.5614 2.2208 2.0158 2.1016 2.4132 2.7148 2.7782 2.5554 2.2150
|
||||
2.7814 2.8742 2.6081 2.1845 1.9240 2.0237 2.4082 2.7865 2.8723 2.6007 2.1772 1.9224 2.0290 2.4164 2.7914 2.8702 2.5932 2.1700
|
||||
2.5674 2.6081 2.4913 2.3054 2.1911 2.2349 2.4036 2.5696 2.6073 2.4881 2.3022 2.1904 2.2372 2.4072 2.5718 2.6064 2.4848 2.2990
|
||||
2.2267 2.1845 2.3054 2.4979 2.6163 2.5710 2.3963 2.2244 2.1854 2.3088 2.5012 2.6170 2.5686 2.3926 2.2222 2.1863 2.3122 2.5045
|
||||
2.0171 1.9240 2.1911 2.6163 2.8778 2.7777 2.3918 2.0121 1.9260 2.1986 2.6236 2.8794 2.7724 2.3836 2.0071 1.9280 2.2061 2.6309
|
||||
2.0973 2.0237 2.2349 2.5710 2.7777 2.6986 2.3935 2.0933 2.0253 2.2408 2.5768 2.7790 2.6944 2.3870 2.0894 2.0269 2.2467 2.5825
|
||||
2.4066 2.4082 2.4036 2.3963 2.3918 2.3935 2.4001 2.4067 2.4082 2.4035 2.3962 2.3918 2.3936 2.4003 2.4068 2.4081 2.4033 2.3960
|
||||
2.7109 2.7865 2.5696 2.2244 2.0121 2.0933 2.4067 2.7150 2.7849 2.5635 2.2184 2.0107 2.0976 2.4133 2.7190 2.7832 2.5574 2.2125
|
||||
2.7799 2.8723 2.6073 2.1854 1.9260 2.0253 2.4082 2.7849 2.8703 2.5999 2.1781 1.9243 2.0305 2.4163 2.7898 2.8683 2.5924 2.1709
|
||||
2.5614 2.6007 2.4881 2.3088 2.1986 2.2408 2.4035 2.5635 2.5999 2.4849 2.3057 2.1979 2.2430 2.4069 2.5656 2.5990 2.4818 2.3027
|
||||
2.2208 2.1772 2.3022 2.5012 2.6236 2.5768 2.3962 2.2184 2.1781 2.3057 2.5047 2.6244 2.5743 2.3923 2.2161 2.1791 2.3092 2.5081
|
||||
2.0158 1.9224 2.1904 2.6170 2.8794 2.7790 2.3918 2.0107 1.9243 2.1979 2.6244 2.8811 2.7737 2.3835 2.0058 1.9264 2.2054 2.6317
|
||||
2.1016 2.0290 2.2372 2.5686 2.7724 2.6944 2.3936 2.0976 2.0305 2.2430 2.5743 2.7737 2.6903 2.3872 2.0938 2.0321 2.2488 2.5800
|
||||
2.4132 2.4164 2.4072 2.3926 2.3836 2.3870 2.4003 2.4133 2.4163 2.4069 2.3923 2.3835 2.3872 2.4006 2.4135 2.4162 2.4067 2.3921
|
||||
2.7148 2.7914 2.5718 2.2222 2.0071 2.0894 2.4068 2.7190 2.7898 2.5656 2.2161 2.0058 2.0938 2.4135 2.7230 2.7881 2.5594 2.2101
|
||||
2.7782 2.8702 2.6064 2.1863 1.9280 2.0269 2.4081 2.7832 2.8683 2.5990 2.1791 1.9264 2.0321 2.4162 2.7881 2.8662 2.5916 2.1719
|
||||
2.5554 2.5932 2.4848 2.3122 2.2061 2.2467 2.4033 2.5574 2.5924 2.4818 2.3092 2.2054 2.2488 2.4067 2.5594 2.5916 2.4787 2.3063
|
||||
2.2150 2.1700 2.2990 2.5045 2.6309 2.5825 2.3960 2.2125 2.1709 2.3027 2.5081 2.6317 2.5800 2.3921 2.2101 2.1719 2.3063 2.5116
|
2510
example_smoothing_clean/surfdataTB.dat
Normal file
2510
example_smoothing_clean/surfdataTB.dat
Normal file
File diff suppressed because it is too large
Load Diff
@ -8,10 +8,11 @@ import numpy as np
|
||||
#start
|
||||
nx=18
|
||||
ny=18
|
||||
nz=8
|
||||
minvel=0.8
|
||||
velgrad=0.5
|
||||
dep1=np.array([0,0.2,0.4,0.6,0.8,1.1,1.4,1.8,2.5])
|
||||
#dep1=np.array([0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,1.3,1.5,1.8,2.1,2.5])
|
||||
nz=len(dep1)
|
||||
#end
|
||||
vs1=np.zeros(nz)
|
||||
mod=np.zeros((nz*ny,nx))
|
||||
@ -29,4 +30,4 @@ with open('MOD','w') as fp:
|
||||
fp.write('%7.3f' % mod[k*ny+j,i])
|
||||
fp.write('\n')
|
||||
for i in range(nz):
|
||||
print dep1[i],
|
||||
print (dep1[i]),
|
||||
|
69
scripts/plotcross.gmt
Normal file
69
scripts/plotcross.gmt
Normal file
@ -0,0 +1,69 @@
|
||||
#!/bin/csh
|
||||
|
||||
#-----------------------------------------------------------
|
||||
# 2015-06-08 Hongjian Fang
|
||||
# step 1: get velicoty along the track from each depth-layer
|
||||
# step 2: combine tracks into 2D profile
|
||||
#-----------------------------------------------------------
|
||||
|
||||
# change the following parameters according to your case
|
||||
# start
|
||||
set inp3D = DSurfTomo.inMeasure.dat
|
||||
set pstart = 121.4/25.1 #start point for 2D profile
|
||||
set pend = 121.55/25.1 #end point for 2D profile
|
||||
set pstart2 = 121.5/25.0 #start point for 2D profile
|
||||
set pend2 = 121.5/25.14 #end point for 2D profile
|
||||
set ddint = 0.017/0.015 #grid interval
|
||||
# over
|
||||
set diInt = 0.5 #distance interval (km)
|
||||
set J = -JX6.0i/-1.5i #size for plot
|
||||
set cpt = slice.cpt
|
||||
set ps = figcross.ps
|
||||
gmt makecpt -Cjet -I -T0.5/2.5/0.1 > $cpt #velocity boundary
|
||||
|
||||
# start
|
||||
set pro2d = tmp.profile.xzv
|
||||
set RMAP = `gmt gmtinfo -C $inp3D | awk '{print "-R"$1"/"$2"/"$3"/"$4}'`
|
||||
rm -fr $pro2d
|
||||
|
||||
foreach layer(`awk '{print $3}' $inp3D| uniq`)
|
||||
set llayer = `echo $layer | awk '{printf "%04d",$1*1000}'`
|
||||
awk '{if($3==j) print $1,$2,$4}' j=$layer $inp3D |gmt surface -Gtmp.grd $RMAP -I$ddint -T0
|
||||
# be careful -I: grid spacing for x/y
|
||||
gmt project -C$pstart -E$pend -G$diInt -Q > track.dat
|
||||
gmt grdtrack track.dat -Gtmp.grd | awk '{print $3,j,$4}' j=$layer > tmp.D$llayer
|
||||
cat tmp.D$llayer >> $pro2d
|
||||
end
|
||||
#
|
||||
set RMAP = `gmt gmtinfo -C $pro2d | awk '{print "-R"$1"/"$2"/"$3"/"$4}'`
|
||||
gmt surface $pro2d -Gtmp.grd $RMAP -I$ddint -T0
|
||||
#gmt grdfilter tmp.grd -D0 -Fg4 -Gtmpf.grd
|
||||
gmt grdimage tmp.grd $J $RMAP -Bf2.5a5:'Distance (km)':/f0.5a1:'Depth (km)':SenW -C$cpt -K -Y5.2i> $ps
|
||||
#gmt psscale -Cslice.cpt -Ba0.5f0.25:'Vs': -D2.5i/-0.7i/6.00/0.2h -O -K -P >> $ps
|
||||
|
||||
rm -fr tmp.D* tmp.grd tmp.profile.xzv track.dat
|
||||
|
||||
# start
|
||||
set pro2d = tmp.profile.xzv
|
||||
set RMAP = `gmt gmtinfo -C $inp3D | awk '{print "-R"$1"/"$2"/"$3"/"$4}'`
|
||||
rm -fr $pro2d
|
||||
|
||||
foreach layer(`awk '{print $3}' $inp3D| uniq`)
|
||||
set llayer = `echo $layer | awk '{printf "%04d",$1*1000}'`
|
||||
awk '{if($3==j) print $1,$2,$4}' j=$layer $inp3D |gmt surface -Gtmp.grd $RMAP -I$ddint -T0
|
||||
# be careful -I: grid spacing for x/y
|
||||
gmt project -C$pstart2 -E$pend2 -G$diInt -Q > track.dat
|
||||
gmt grdtrack track.dat -Gtmp.grd | awk '{print $3,j,$4}' j=$layer > tmp.D$llayer
|
||||
cat tmp.D$llayer >> $pro2d
|
||||
end
|
||||
#
|
||||
set RMAP = `gmt gmtinfo -C $pro2d | awk '{print "-R"$1"/"$2"/"$3"/"$4}'`
|
||||
gmt surface $pro2d -Gtmp.grd $RMAP -I$ddint -T0
|
||||
#gmt grdfilter tmp.grd -D0 -Fg4 -Gtmpf.grd
|
||||
gmt grdimage tmp.grd $J $RMAP -Bf2.5a5:'Distance (km)':/f0.5a1:'Depth (km)':SenW -C$cpt -K -O -Y-2.0i>> $ps
|
||||
gmt psscale -Cslice.cpt -Ba0.5f0.25:'Vs': -D2.5i/-0.7i/6.00/0.2h -O -P >> $ps
|
||||
|
||||
rm -fr tmp.D* tmp.grd tmp.profile.xzv track.dat
|
||||
p
|
||||
ps2pdf $ps
|
||||
|
48
scripts/plotslice_std.gmt
Normal file
48
scripts/plotslice_std.gmt
Normal file
@ -0,0 +1,48 @@
|
||||
#!/bin/csh
|
||||
|
||||
#-----------------------------------------------------------
|
||||
# 2015-06-08 Hongjian Fang
|
||||
# how to run:
|
||||
# ./plotslice.gmt ModelFile depth1 depth2 depth3 depth4, e.g.
|
||||
# csh plotslice.gmt SurfTomo.in.tvMeasure.dat 0.2 0.4 0.8 1.4
|
||||
#-----------------------------------------------------------
|
||||
|
||||
gmt set FONT_ANNOT_PRIMARY 12
|
||||
gmt set FONT_LABEL 12
|
||||
#gmt set FRAME_WIDTH=0.1c
|
||||
#gmt set LABEL_OFFSET=0.1c
|
||||
#gmt set LABEL_FONT_SIZE=5p
|
||||
#gmt set TICK_LENGTH=0.1c
|
||||
#gmt set TICK_PEN=0.3p
|
||||
set inp3D = $1
|
||||
set ps = horizVsnew.inv_std.ps
|
||||
set J = -JM2i #size for plot
|
||||
set cpt = slice.cpt
|
||||
|
||||
# start
|
||||
gmt makecpt -Cgray -D -I -T0.0/0.5/0.05 > $cpt #velocity boundary
|
||||
set RMAP = `gmt gmtinfo -C $inp3D | awk '{print "-R"$1"/"$2"/"$3"/"$4}'`
|
||||
gmt psbasemap $RMAP $J -Ba0.1f0.05Wsen -P -K -Y5i >$ps
|
||||
awk '{if($3==depth1) print $1,$2,$4}' depth1=$2 $inp3D|gmt xyz2grd -R -I0.017/0.015 -Gtmp.grd
|
||||
gmt grdimage tmp.grd $J $RMAP -BSenW -E100 -C$cpt -O -K >> $ps
|
||||
rm -rf tmp.grd
|
||||
#gmt psscale -Cslice.cpt -Ba0.1f0.05:'S velocity (km/s)': -D1.0i/-0.15i/3.00/0.2h -O -K -P >> $ps
|
||||
|
||||
#gmt makecpt -Cseis -D -T0.8/1.8/0.1 > $cpt #velocity boundary
|
||||
gmt psbasemap $RMAP $J -Ba0.1f0.05nwse -P -K -O -X2.3i >>$ps
|
||||
awk '{if($3==depth2) print $1,$2,$4}' depth2=$3 $inp3D|gmt xyz2grd -R -I0.017/0.015 -Gtmp.grd
|
||||
gmt grdimage tmp.grd $J $RMAP -BSenW -E100 -C$cpt -O -K >> $ps
|
||||
#gmt psscale -Cslice.cpt -Ba0.2f0.1:'S velocity (km/s)': -D1.0i/-0.15i/3.00/0.2h -O -K -P >> $ps
|
||||
|
||||
#gmt makecpt -Cseis -D -T1.1/2.0/0.1 > $cpt #velocity boundary
|
||||
gmt psbasemap $RMAP $J -Ba0.1f0.05WneS -P -K -O -Y-2.3i -X-2.3i >>$ps
|
||||
awk '{if($3==depth2) print $1,$2,$4}' depth2=$4 $inp3D|gmt xyz2grd -R -I0.017/0.015 -Gtmp.grd
|
||||
gmt grdimage tmp.grd $J $RMAP -BSenW -E100 -C$cpt -O -K >> $ps
|
||||
#gmt psscale -Cslice.cpt -Ba0.2f0.1:'S velocity (km/s)': -D1.0i/-0.25i/3.00/0.2h -O -K -P >> $ps
|
||||
|
||||
#gmt makecpt -Cseis -D -T1.3/2.4/0.1 > $cpt #velocity boundary
|
||||
gmt psbasemap $RMAP $J -Ba0.1f0.05Swne -P -K -O -X2.3i >>$ps
|
||||
awk '{if($3==depth2) print $1,$2,$4}' depth2=$5 $inp3D|gmt xyz2grd -R -I0.017/0.015 -Gtmp.grd
|
||||
gmt grdimage tmp.grd $J $RMAP -BSenW -E100 -C$cpt -O -K >> $ps
|
||||
gmt psscale -Cslice.cpt -Ba0.2f0.1:'Vs std (km/s)': -D1.0i/-0.35i/3.00/0.2h -O -P >> $ps
|
||||
|
10
src/Makefile
10
src/Makefile
@ -1,17 +1,19 @@
|
||||
CMD = DSurfTomo
|
||||
FC = gfortran
|
||||
FFLAGS = -O3 -ffixed-line-length-none -ffloat-store\
|
||||
-W -fbounds-check -m64 -mcmodel=medium
|
||||
-fbounds-check -m64 -mcmodel=medium
|
||||
F90SRCS = lsmrDataModule.f90 lsmrblasInterface.f90\
|
||||
lsmrblas.f90 lsmrModule.f90 delsph.f90\
|
||||
aprod.f90 gaussian.f90 main.f90
|
||||
FSRCS = surfdisp96.f
|
||||
OBJS = $(F90SRCS:%.f90=%.o) $(FSRCS:%.f=%.o) CalSurfG.o
|
||||
aprod.f90 gaussian.f90 voronoiproj.f90
|
||||
FSRCS = surfdisp96.f slarnv.f slaruv.f
|
||||
OBJS = $(F90SRCS:%.f90=%.o) $(FSRCS:%.f=%.o) CalSurfG.o main.o
|
||||
all:$(CMD)
|
||||
$(CMD):$(OBJS)
|
||||
$(FC) -fopenmp $^ -o $@
|
||||
CalSurfG.o:CalSurfG.f90
|
||||
$(FC) -fopenmp $(FFLAGS) -c $< -o $@
|
||||
main.o:main.f90
|
||||
$(FC) -fopenmp $(FFLAGS) -c $< -o $@
|
||||
%.o: %.f90
|
||||
$(FC) $(FFLAGS) -c $(@F:.o=.f90) -o $@
|
||||
%.o: %.f
|
||||
|
107
src/main.f90
107
src/main.f90
@ -20,6 +20,7 @@
|
||||
program SurfTomo
|
||||
use lsmrModule, only:lsmr
|
||||
use lsmrblasInterface, only : dnrm2
|
||||
use omp_lib
|
||||
implicit none
|
||||
|
||||
! VARIABLE DEFINE
|
||||
@ -63,7 +64,8 @@ program SurfTomo
|
||||
integer,dimension(:,:),allocatable::periods
|
||||
real,dimension(:),allocatable::rw
|
||||
integer,dimension(:),allocatable::iw,col
|
||||
real,dimension(:),allocatable::dv,norm
|
||||
real,dimension(:),allocatable::dv,norm,dvsub,dvstd,dvall
|
||||
! real,dimension(:),allocatable::dvall
|
||||
real,dimension(:,:,:),allocatable::vsf
|
||||
real,dimension(:,:,:),allocatable::vsftrue
|
||||
character strf
|
||||
@ -100,6 +102,9 @@ program SurfTomo
|
||||
real maxnorm
|
||||
real threshold0
|
||||
|
||||
!For Poisson Voronoi inverison
|
||||
integer iproj,vorotomo,ncells,nrealizations,idx
|
||||
real hvratio
|
||||
|
||||
! OPEN FILES FIRST TO OUTPUT THE PROCESS
|
||||
nout=36
|
||||
@ -107,9 +112,11 @@ program SurfTomo
|
||||
|
||||
! OUTPUT PROGRAM INFOMATION
|
||||
write(*,*)
|
||||
write(*,*),' DSurfTomo (v1.3)'
|
||||
write(*,*),'PLEASE contact Hongjain Fang &
|
||||
(fanghj@mail.ustc.edu.cn) if you find any bug'
|
||||
write(*,*) ' DSurfTomo (v2.0)'
|
||||
!write(*,*) 'PLEASE contact Hongjain Fang &
|
||||
! (fanghj@mail.ustc.edu.cn) if you find any bug'
|
||||
write(*,*) 'For bug report, PLEASE contact Hongjain Fang &
|
||||
(fanghj1990@gmail.com)'
|
||||
write(*,*)
|
||||
|
||||
! READ INPUT FILE
|
||||
@ -151,8 +158,8 @@ program SurfTomo
|
||||
write(logfile,'(a,a)')trim(inputfile),'.log'
|
||||
open(66,file=logfile)
|
||||
write(66,*)
|
||||
write(66,*),' S U R F T O M O'
|
||||
write(66,*),'PLEASE contact Hongjain Fang &
|
||||
write(66,*)' S U R F T O M O'
|
||||
write(66,*)'PLEASE contact Hongjain Fang &
|
||||
(fanghj@mail.ustc.edu.cn) if you find any bug'
|
||||
write(66,*)
|
||||
write(66,*) 'model origin:latitude,longitue'
|
||||
@ -204,6 +211,8 @@ program SurfTomo
|
||||
read(10,*)ifsyn
|
||||
read(10,*)noiselevel
|
||||
read(10,*) threshold0
|
||||
|
||||
read(10,*) vorotomo,ncells,nrealizations!,hvratio
|
||||
close(10)
|
||||
nrc=nsrc
|
||||
kmax=kmaxRc+kmaxRg+kmaxLc+kmaxLg
|
||||
@ -281,7 +290,8 @@ program SurfTomo
|
||||
allocate(depz(nz), stat=checkstat)
|
||||
maxnar = spfra*dall*nx*ny*nz!sparsity fraction
|
||||
maxvp = (nx-2)*(ny-2)*(nz-1)
|
||||
allocate(dv(maxvp), stat=checkstat)
|
||||
allocate(dv(maxvp),dvsub(maxvp),dvstd(maxvp),dvall(maxvp*nrealizations), stat=checkstat)
|
||||
! allocate(dvall(maxvp*nrealizations),stats=checkstat)
|
||||
allocate(norm(maxvp), stat=checkstat)
|
||||
allocate(vsf(nx,ny,nz), stat=checkstat)
|
||||
allocate(vsftrue(nx,ny,nz), stat=checkstat)
|
||||
@ -317,7 +327,7 @@ program SurfTomo
|
||||
|
||||
! CHECKERBOARD TEST
|
||||
if (ifsyn == 1) then
|
||||
write(*,*) 'Checkerboard Resolution Test Begin'
|
||||
write(*,*) 'Synthetic Test Begin'
|
||||
vsftrue = vsf
|
||||
|
||||
open(11,file='MOD.true',status='old')
|
||||
@ -397,6 +407,36 @@ program SurfTomo
|
||||
|
||||
|
||||
! ADDING REGULARIZATION TERM
|
||||
if (vorotomo /= 0) then
|
||||
|
||||
hvratio = dvxd*(nx-3)*111.19/depz(nz-1)
|
||||
dv = 0
|
||||
dvstd = 0
|
||||
leniw = 2*nar+1
|
||||
lenrw = nar
|
||||
iw(1)=nar
|
||||
iw(nar+2:2*nar+1) = col(1:nar)
|
||||
!$omp parallel &
|
||||
!$omp default(private) &
|
||||
!$omp shared(leniw,lenrw,iw,rw,cbst,goxd,gozd,dvxd,dvzd,depz,maxvp) &
|
||||
!$omp shared(nx,ny,nz,dall,ncells,hvratio,damp,nrealizations,dvall)
|
||||
!$omp do
|
||||
do iproj = 1,nrealizations
|
||||
call voronoiproj(leniw,lenrw,iw,rw,cbst,goxd,dvxd,gozd,dvzd,depz,&
|
||||
nx,ny,nz,dall,ncells,hvratio,damp,iproj,dvsub)
|
||||
dvall((iproj-1)*maxvp+1:iproj*maxvp) = dvsub(1:maxvp)
|
||||
enddo
|
||||
!$omp end do
|
||||
!$omp end parallel
|
||||
do iproj = 1,nrealizations
|
||||
dvsub = dvall((iproj-1)*maxvp+1:iproj*maxvp)!:,iproj)
|
||||
dv = dv+dvsub
|
||||
dvstd = dvstd+dvsub**2
|
||||
enddo
|
||||
dv = dv/nrealizations
|
||||
dvstd = sqrt(dvstd/nrealizations-dv**2)
|
||||
else
|
||||
|
||||
weight=weight0
|
||||
nar_tmp=nar
|
||||
nars=0
|
||||
@ -472,11 +512,13 @@ program SurfTomo
|
||||
atol, btol, conlim, itnlim, localSize, nout,&
|
||||
dv, istop, itn, anorm, acond, rnorm, arnorm, xnorm)
|
||||
|
||||
endif ! end vorotomo
|
||||
|
||||
mean = sum(cbst(1:dall))/dall
|
||||
std_devs = sqrt(sum(cbst(1:dall)**2)/dall - mean**2)
|
||||
write(*,'(i2,a)'),iter,'th iteration...'
|
||||
write(*,'(a,f7.3)'),'weight is:',weight
|
||||
write(*,'(a,f8.1,a,f8.2,a,f8.3)'),'mean,std_devs and rms of &
|
||||
write(*,'(i2,a)')iter,'th iteration...'
|
||||
! write(*,'(a,f7.3)')'weight is:',weight
|
||||
write(*,'(a,f8.1,a,f8.2,a,f8.3)')' mean,std_devs and rms of &
|
||||
residual after weighting: ',mean*1000,'ms ',1000*std_devs,'ms ',&
|
||||
dnrm2(dall,cbst,1)/sqrt(real(dall))
|
||||
|
||||
@ -486,17 +528,17 @@ program SurfTomo
|
||||
|
||||
mean = sum(cbst(1:dall))/dall
|
||||
std_devs = sqrt(sum(cbst(1:dall)**2)/dall - mean**2)
|
||||
write(*,'(a,f8.1,a,f8.2,a,f8.3)'),'residual before weighting: ',mean*1000,'ms ',1000*std_devs,'ms ',&
|
||||
write(*,'(a,f8.1,a,f8.2,a,f8.3)')' residual before weighting: ',mean*1000,'ms ',1000*std_devs,'ms ',&
|
||||
dnrm2(dall,cbst,1)/sqrt(real(dall))
|
||||
write(66,'(i2,a)'),iter,'th iteration...'
|
||||
write(66,'(a,f7.3)'),'weight is:',weight
|
||||
write(66,'(a,f8.1,a,f8.2,a,f8.3)'),'mean,std_devs and rms of &
|
||||
write(66,'(i2,a)')iter,'th iteration...'
|
||||
! write(66,'(a,f7.3)')'weight is:',weight
|
||||
write(66,'(a,f8.1,a,f8.2,a,f8.3)')'mean,std_devs and rms of &
|
||||
residual: ',mean*1000,'ms ',1000*std_devs,'ms ',&
|
||||
dnrm2(dall,cbst,1)/sqrt(real(dall))
|
||||
|
||||
write(*,'(a,2f7.4)'),'min and max velocity variation ',&
|
||||
write(*,'(a,2f7.4)')' min and max velocity variation ',&
|
||||
minval(dv),maxval(dv)
|
||||
write(66,'(a,2f7.4)'),'min and max velocity variation ',&
|
||||
write(66,'(a,2f7.4)')'min and max velocity variation ',&
|
||||
minval(dv),maxval(dv)
|
||||
|
||||
do k=1,nz-1
|
||||
@ -531,8 +573,8 @@ program SurfTomo
|
||||
|
||||
! OUTPUT THE VELOCITY MODEL
|
||||
|
||||
write(*,*),'Program finishes successfully'
|
||||
write(66,*),'Program finishes successfully'
|
||||
write(*,*)'Program finishes successfully'
|
||||
write(66,*)'Program finishes successfully'
|
||||
|
||||
if(ifsyn == 1) then
|
||||
open(65,file='Vs_model.real')
|
||||
@ -548,13 +590,13 @@ program SurfTomo
|
||||
enddo
|
||||
close(65)
|
||||
close(63)
|
||||
write(*,*),'Output True velocity model &
|
||||
write(*,*)'Output True velocity model &
|
||||
to Vs_model.real'
|
||||
write(*,*),'Output inverted shear velocity model &
|
||||
write(*,*)'Output inverted shear velocity model &
|
||||
to ',outsyn
|
||||
write(66,*),'Output True velocity model &
|
||||
write(66,*)'Output True velocity model &
|
||||
to Vs_model.real'
|
||||
write(66,*),'Output inverted shear velocity model &
|
||||
write(66,*)'Output inverted shear velocity model &
|
||||
to ',outsyn
|
||||
else
|
||||
write(outmodel,'(a,a)') trim(inputfile),'Measure.dat'
|
||||
@ -567,10 +609,23 @@ program SurfTomo
|
||||
enddo
|
||||
enddo
|
||||
close(64)
|
||||
write(*,*),'Output inverted shear velocity model &
|
||||
write(*,*)'Output inverted shear velocity model &
|
||||
to ',outmodel
|
||||
write(66,*),'Output inverted shear velocity model &
|
||||
write(66,*)'Output inverted shear velocity model &
|
||||
to ',outmodel
|
||||
|
||||
write(outmodel,'(a,a)') trim(inputfile),'Measure_std.dat'
|
||||
open(64,file=outmodel)
|
||||
do k=1,nz-1
|
||||
do j=1,ny-2
|
||||
do i=1,nx-2
|
||||
idx = (k-1)*(nx-2)*(ny-2)+(j-1)*(nx-2)+i
|
||||
write(64,'(5f9.3)') gozd+(j-1)*dvzd,goxd-(i-1)*dvxd,depz(k),dvstd(idx)
|
||||
enddo
|
||||
enddo
|
||||
enddo
|
||||
close(64)
|
||||
|
||||
endif
|
||||
|
||||
close(40)
|
||||
@ -588,7 +643,7 @@ program SurfTomo
|
||||
deallocate(rw)
|
||||
deallocate(iw,col)
|
||||
deallocate(cbst,wt,dtres,datweight)
|
||||
deallocate(dv)
|
||||
deallocate(dv,dvsub,dvstd,dvall)
|
||||
deallocate(norm)
|
||||
deallocate(vsf)
|
||||
deallocate(vsftrue)
|
||||
|
178
src/slarnv.f
Normal file
178
src/slarnv.f
Normal file
@ -0,0 +1,178 @@
|
||||
*> \brief \b SLARNV returns a vector of random numbers from a uniform or normal distribution.
|
||||
*
|
||||
* =========== DOCUMENTATION ===========
|
||||
*
|
||||
* Online html documentation available at
|
||||
* http://www.netlib.org/lapack/explore-html/
|
||||
*
|
||||
*> \htmlonly
|
||||
*> Download SLARNV + dependencies
|
||||
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/slarnv.f">
|
||||
*> [TGZ]</a>
|
||||
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/slarnv.f">
|
||||
*> [ZIP]</a>
|
||||
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slarnv.f">
|
||||
*> [TXT]</a>
|
||||
*> \endhtmlonly
|
||||
*
|
||||
* Definition:
|
||||
* ===========
|
||||
*
|
||||
* SUBROUTINE SLARNV( IDIST, ISEED, N, X )
|
||||
*
|
||||
* .. Scalar Arguments ..
|
||||
* INTEGER IDIST, N
|
||||
* ..
|
||||
* .. Array Arguments ..
|
||||
* INTEGER ISEED( 4 )
|
||||
* REAL X( * )
|
||||
* ..
|
||||
*
|
||||
*
|
||||
*> \par Purpose:
|
||||
* =============
|
||||
*>
|
||||
*> \verbatim
|
||||
*>
|
||||
*> SLARNV returns a vector of n random real numbers from a uniform or
|
||||
*> normal distribution.
|
||||
*> \endverbatim
|
||||
*
|
||||
* Arguments:
|
||||
* ==========
|
||||
*
|
||||
*> \param[in] IDIST
|
||||
*> \verbatim
|
||||
*> IDIST is INTEGER
|
||||
*> Specifies the distribution of the random numbers:
|
||||
*> = 1: uniform (0,1)
|
||||
*> = 2: uniform (-1,1)
|
||||
*> = 3: normal (0,1)
|
||||
*> \endverbatim
|
||||
*>
|
||||
*> \param[in,out] ISEED
|
||||
*> \verbatim
|
||||
*> ISEED is INTEGER array, dimension (4)
|
||||
*> On entry, the seed of the random number generator; the array
|
||||
*> elements must be between 0 and 4095, and ISEED(4) must be
|
||||
*> odd.
|
||||
*> On exit, the seed is updated.
|
||||
*> \endverbatim
|
||||
*>
|
||||
*> \param[in] N
|
||||
*> \verbatim
|
||||
*> N is INTEGER
|
||||
*> The number of random numbers to be generated.
|
||||
*> \endverbatim
|
||||
*>
|
||||
*> \param[out] X
|
||||
*> \verbatim
|
||||
*> X is REAL array, dimension (N)
|
||||
*> The generated random numbers.
|
||||
*> \endverbatim
|
||||
*
|
||||
* Authors:
|
||||
* ========
|
||||
*
|
||||
*> \author Univ. of Tennessee
|
||||
*> \author Univ. of California Berkeley
|
||||
*> \author Univ. of Colorado Denver
|
||||
*> \author NAG Ltd.
|
||||
*
|
||||
*> \date December 2016
|
||||
*
|
||||
*> \ingroup OTHERauxiliary
|
||||
*
|
||||
*> \par Further Details:
|
||||
* =====================
|
||||
*>
|
||||
*> \verbatim
|
||||
*>
|
||||
*> This routine calls the auxiliary routine SLARUV to generate random
|
||||
*> real numbers from a uniform (0,1) distribution, in batches of up to
|
||||
*> 128 using vectorisable code. The Box-Muller method is used to
|
||||
*> transform numbers from a uniform to a normal distribution.
|
||||
*> \endverbatim
|
||||
*>
|
||||
* =====================================================================
|
||||
SUBROUTINE SLARNV( IDIST, ISEED, N, X )
|
||||
*
|
||||
* -- LAPACK auxiliary routine (version 3.7.0) --
|
||||
* -- LAPACK is a software package provided by Univ. of Tennessee, --
|
||||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
|
||||
* December 2016
|
||||
*
|
||||
* .. Scalar Arguments ..
|
||||
INTEGER IDIST, N
|
||||
* ..
|
||||
* .. Array Arguments ..
|
||||
INTEGER ISEED( 4 )
|
||||
REAL X( * )
|
||||
* ..
|
||||
*
|
||||
* =====================================================================
|
||||
*
|
||||
* .. Parameters ..
|
||||
REAL ONE, TWO
|
||||
PARAMETER ( ONE = 1.0E+0, TWO = 2.0E+0 )
|
||||
INTEGER LV
|
||||
PARAMETER ( LV = 128 )
|
||||
REAL TWOPI
|
||||
PARAMETER ( TWOPI = 6.2831853071795864769252867663E+0 )
|
||||
* ..
|
||||
* .. Local Scalars ..
|
||||
INTEGER I, IL, IL2, IV
|
||||
* ..
|
||||
* .. Local Arrays ..
|
||||
REAL U( LV )
|
||||
* ..
|
||||
* .. Intrinsic Functions ..
|
||||
INTRINSIC COS, LOG, MIN, SQRT
|
||||
* ..
|
||||
* .. External Subroutines ..
|
||||
EXTERNAL SLARUV
|
||||
* ..
|
||||
* .. Executable Statements ..
|
||||
*
|
||||
DO 40 IV = 1, N, LV / 2
|
||||
IL = MIN( LV / 2, N-IV+1 )
|
||||
IF( IDIST.EQ.3 ) THEN
|
||||
IL2 = 2*IL
|
||||
ELSE
|
||||
IL2 = IL
|
||||
END IF
|
||||
*
|
||||
* Call SLARUV to generate IL2 numbers from a uniform (0,1)
|
||||
* distribution (IL2 <= LV)
|
||||
*
|
||||
CALL SLARUV( ISEED, IL2, U )
|
||||
*
|
||||
IF( IDIST.EQ.1 ) THEN
|
||||
*
|
||||
* Copy generated numbers
|
||||
*
|
||||
DO 10 I = 1, IL
|
||||
X( IV+I-1 ) = U( I )
|
||||
10 CONTINUE
|
||||
ELSE IF( IDIST.EQ.2 ) THEN
|
||||
*
|
||||
* Convert generated numbers to uniform (-1,1) distribution
|
||||
*
|
||||
DO 20 I = 1, IL
|
||||
X( IV+I-1 ) = TWO*U( I ) - ONE
|
||||
20 CONTINUE
|
||||
ELSE IF( IDIST.EQ.3 ) THEN
|
||||
*
|
||||
* Convert generated numbers to normal (0,1) distribution
|
||||
*
|
||||
DO 30 I = 1, IL
|
||||
X( IV+I-1 ) = SQRT( -TWO*LOG( U( 2*I-1 ) ) )*
|
||||
$ COS( TWOPI*U( 2*I ) )
|
||||
30 CONTINUE
|
||||
END IF
|
||||
40 CONTINUE
|
||||
RETURN
|
||||
*
|
||||
* End of SLARNV
|
||||
*
|
||||
END
|
447
src/slaruv.f
Normal file
447
src/slaruv.f
Normal file
@ -0,0 +1,447 @@
|
||||
*> \brief \b SLARUV returns a vector of n random real numbers from a uniform distribution.
|
||||
*
|
||||
* =========== DOCUMENTATION ===========
|
||||
*
|
||||
* Online html documentation available at
|
||||
* http://www.netlib.org/lapack/explore-html/
|
||||
*
|
||||
*> \htmlonly
|
||||
*> Download SLARUV + dependencies
|
||||
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/slaruv.f">
|
||||
*> [TGZ]</a>
|
||||
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/slaruv.f">
|
||||
*> [ZIP]</a>
|
||||
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slaruv.f">
|
||||
*> [TXT]</a>
|
||||
*> \endhtmlonly
|
||||
*
|
||||
* Definition:
|
||||
* ===========
|
||||
*
|
||||
* SUBROUTINE SLARUV( ISEED, N, X )
|
||||
*
|
||||
* .. Scalar Arguments ..
|
||||
* INTEGER N
|
||||
* ..
|
||||
* .. Array Arguments ..
|
||||
* INTEGER ISEED( 4 )
|
||||
* REAL X( N )
|
||||
* ..
|
||||
*
|
||||
*
|
||||
*> \par Purpose:
|
||||
* =============
|
||||
*>
|
||||
*> \verbatim
|
||||
*>
|
||||
*> SLARUV returns a vector of n random real numbers from a uniform (0,1)
|
||||
*> distribution (n <= 128).
|
||||
*>
|
||||
*> This is an auxiliary routine called by SLARNV and CLARNV.
|
||||
*> \endverbatim
|
||||
*
|
||||
* Arguments:
|
||||
* ==========
|
||||
*
|
||||
*> \param[in,out] ISEED
|
||||
*> \verbatim
|
||||
*> ISEED is INTEGER array, dimension (4)
|
||||
*> On entry, the seed of the random number generator; the array
|
||||
*> elements must be between 0 and 4095, and ISEED(4) must be
|
||||
*> odd.
|
||||
*> On exit, the seed is updated.
|
||||
*> \endverbatim
|
||||
*>
|
||||
*> \param[in] N
|
||||
*> \verbatim
|
||||
*> N is INTEGER
|
||||
*> The number of random numbers to be generated. N <= 128.
|
||||
*> \endverbatim
|
||||
*>
|
||||
*> \param[out] X
|
||||
*> \verbatim
|
||||
*> X is REAL array, dimension (N)
|
||||
*> The generated random numbers.
|
||||
*> \endverbatim
|
||||
*
|
||||
* Authors:
|
||||
* ========
|
||||
*
|
||||
*> \author Univ. of Tennessee
|
||||
*> \author Univ. of California Berkeley
|
||||
*> \author Univ. of Colorado Denver
|
||||
*> \author NAG Ltd.
|
||||
*
|
||||
*> \date December 2016
|
||||
*
|
||||
*> \ingroup OTHERauxiliary
|
||||
*
|
||||
*> \par Further Details:
|
||||
* =====================
|
||||
*>
|
||||
*> \verbatim
|
||||
*>
|
||||
*> This routine uses a multiplicative congruential method with modulus
|
||||
*> 2**48 and multiplier 33952834046453 (see G.S.Fishman,
|
||||
*> 'Multiplicative congruential random number generators with modulus
|
||||
*> 2**b: an exhaustive analysis for b = 32 and a partial analysis for
|
||||
*> b = 48', Math. Comp. 189, pp 331-344, 1990).
|
||||
*>
|
||||
*> 48-bit integers are stored in 4 integer array elements with 12 bits
|
||||
*> per element. Hence the routine is portable across machines with
|
||||
*> integers of 32 bits or more.
|
||||
*> \endverbatim
|
||||
*>
|
||||
* =====================================================================
|
||||
SUBROUTINE SLARUV( ISEED, N, X )
|
||||
*
|
||||
* -- LAPACK auxiliary routine (version 3.7.0) --
|
||||
* -- LAPACK is a software package provided by Univ. of Tennessee, --
|
||||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
|
||||
* December 2016
|
||||
*
|
||||
* .. Scalar Arguments ..
|
||||
INTEGER N
|
||||
* ..
|
||||
* .. Array Arguments ..
|
||||
INTEGER ISEED( 4 )
|
||||
REAL X( N )
|
||||
* ..
|
||||
*
|
||||
* =====================================================================
|
||||
*
|
||||
* .. Parameters ..
|
||||
REAL ONE
|
||||
PARAMETER ( ONE = 1.0E0 )
|
||||
INTEGER LV, IPW2
|
||||
REAL R
|
||||
PARAMETER ( LV = 128, IPW2 = 4096, R = ONE / IPW2 )
|
||||
* ..
|
||||
* .. Local Scalars ..
|
||||
INTEGER I, I1, I2, I3, I4, IT1, IT2, IT3, IT4, J
|
||||
* ..
|
||||
* .. Local Arrays ..
|
||||
INTEGER MM( LV, 4 )
|
||||
* ..
|
||||
* .. Intrinsic Functions ..
|
||||
INTRINSIC MIN, MOD, REAL
|
||||
* ..
|
||||
* .. Data statements ..
|
||||
DATA ( MM( 1, J ), J = 1, 4 ) / 494, 322, 2508,
|
||||
$ 2549 /
|
||||
DATA ( MM( 2, J ), J = 1, 4 ) / 2637, 789, 3754,
|
||||
$ 1145 /
|
||||
DATA ( MM( 3, J ), J = 1, 4 ) / 255, 1440, 1766,
|
||||
$ 2253 /
|
||||
DATA ( MM( 4, J ), J = 1, 4 ) / 2008, 752, 3572,
|
||||
$ 305 /
|
||||
DATA ( MM( 5, J ), J = 1, 4 ) / 1253, 2859, 2893,
|
||||
$ 3301 /
|
||||
DATA ( MM( 6, J ), J = 1, 4 ) / 3344, 123, 307,
|
||||
$ 1065 /
|
||||
DATA ( MM( 7, J ), J = 1, 4 ) / 4084, 1848, 1297,
|
||||
$ 3133 /
|
||||
DATA ( MM( 8, J ), J = 1, 4 ) / 1739, 643, 3966,
|
||||
$ 2913 /
|
||||
DATA ( MM( 9, J ), J = 1, 4 ) / 3143, 2405, 758,
|
||||
$ 3285 /
|
||||
DATA ( MM( 10, J ), J = 1, 4 ) / 3468, 2638, 2598,
|
||||
$ 1241 /
|
||||
DATA ( MM( 11, J ), J = 1, 4 ) / 688, 2344, 3406,
|
||||
$ 1197 /
|
||||
DATA ( MM( 12, J ), J = 1, 4 ) / 1657, 46, 2922,
|
||||
$ 3729 /
|
||||
DATA ( MM( 13, J ), J = 1, 4 ) / 1238, 3814, 1038,
|
||||
$ 2501 /
|
||||
DATA ( MM( 14, J ), J = 1, 4 ) / 3166, 913, 2934,
|
||||
$ 1673 /
|
||||
DATA ( MM( 15, J ), J = 1, 4 ) / 1292, 3649, 2091,
|
||||
$ 541 /
|
||||
DATA ( MM( 16, J ), J = 1, 4 ) / 3422, 339, 2451,
|
||||
$ 2753 /
|
||||
DATA ( MM( 17, J ), J = 1, 4 ) / 1270, 3808, 1580,
|
||||
$ 949 /
|
||||
DATA ( MM( 18, J ), J = 1, 4 ) / 2016, 822, 1958,
|
||||
$ 2361 /
|
||||
DATA ( MM( 19, J ), J = 1, 4 ) / 154, 2832, 2055,
|
||||
$ 1165 /
|
||||
DATA ( MM( 20, J ), J = 1, 4 ) / 2862, 3078, 1507,
|
||||
$ 4081 /
|
||||
DATA ( MM( 21, J ), J = 1, 4 ) / 697, 3633, 1078,
|
||||
$ 2725 /
|
||||
DATA ( MM( 22, J ), J = 1, 4 ) / 1706, 2970, 3273,
|
||||
$ 3305 /
|
||||
DATA ( MM( 23, J ), J = 1, 4 ) / 491, 637, 17,
|
||||
$ 3069 /
|
||||
DATA ( MM( 24, J ), J = 1, 4 ) / 931, 2249, 854,
|
||||
$ 3617 /
|
||||
DATA ( MM( 25, J ), J = 1, 4 ) / 1444, 2081, 2916,
|
||||
$ 3733 /
|
||||
DATA ( MM( 26, J ), J = 1, 4 ) / 444, 4019, 3971,
|
||||
$ 409 /
|
||||
DATA ( MM( 27, J ), J = 1, 4 ) / 3577, 1478, 2889,
|
||||
$ 2157 /
|
||||
DATA ( MM( 28, J ), J = 1, 4 ) / 3944, 242, 3831,
|
||||
$ 1361 /
|
||||
DATA ( MM( 29, J ), J = 1, 4 ) / 2184, 481, 2621,
|
||||
$ 3973 /
|
||||
DATA ( MM( 30, J ), J = 1, 4 ) / 1661, 2075, 1541,
|
||||
$ 1865 /
|
||||
DATA ( MM( 31, J ), J = 1, 4 ) / 3482, 4058, 893,
|
||||
$ 2525 /
|
||||
DATA ( MM( 32, J ), J = 1, 4 ) / 657, 622, 736,
|
||||
$ 1409 /
|
||||
DATA ( MM( 33, J ), J = 1, 4 ) / 3023, 3376, 3992,
|
||||
$ 3445 /
|
||||
DATA ( MM( 34, J ), J = 1, 4 ) / 3618, 812, 787,
|
||||
$ 3577 /
|
||||
DATA ( MM( 35, J ), J = 1, 4 ) / 1267, 234, 2125,
|
||||
$ 77 /
|
||||
DATA ( MM( 36, J ), J = 1, 4 ) / 1828, 641, 2364,
|
||||
$ 3761 /
|
||||
DATA ( MM( 37, J ), J = 1, 4 ) / 164, 4005, 2460,
|
||||
$ 2149 /
|
||||
DATA ( MM( 38, J ), J = 1, 4 ) / 3798, 1122, 257,
|
||||
$ 1449 /
|
||||
DATA ( MM( 39, J ), J = 1, 4 ) / 3087, 3135, 1574,
|
||||
$ 3005 /
|
||||
DATA ( MM( 40, J ), J = 1, 4 ) / 2400, 2640, 3912,
|
||||
$ 225 /
|
||||
DATA ( MM( 41, J ), J = 1, 4 ) / 2870, 2302, 1216,
|
||||
$ 85 /
|
||||
DATA ( MM( 42, J ), J = 1, 4 ) / 3876, 40, 3248,
|
||||
$ 3673 /
|
||||
DATA ( MM( 43, J ), J = 1, 4 ) / 1905, 1832, 3401,
|
||||
$ 3117 /
|
||||
DATA ( MM( 44, J ), J = 1, 4 ) / 1593, 2247, 2124,
|
||||
$ 3089 /
|
||||
DATA ( MM( 45, J ), J = 1, 4 ) / 1797, 2034, 2762,
|
||||
$ 1349 /
|
||||
DATA ( MM( 46, J ), J = 1, 4 ) / 1234, 2637, 149,
|
||||
$ 2057 /
|
||||
DATA ( MM( 47, J ), J = 1, 4 ) / 3460, 1287, 2245,
|
||||
$ 413 /
|
||||
DATA ( MM( 48, J ), J = 1, 4 ) / 328, 1691, 166,
|
||||
$ 65 /
|
||||
DATA ( MM( 49, J ), J = 1, 4 ) / 2861, 496, 466,
|
||||
$ 1845 /
|
||||
DATA ( MM( 50, J ), J = 1, 4 ) / 1950, 1597, 4018,
|
||||
$ 697 /
|
||||
DATA ( MM( 51, J ), J = 1, 4 ) / 617, 2394, 1399,
|
||||
$ 3085 /
|
||||
DATA ( MM( 52, J ), J = 1, 4 ) / 2070, 2584, 190,
|
||||
$ 3441 /
|
||||
DATA ( MM( 53, J ), J = 1, 4 ) / 3331, 1843, 2879,
|
||||
$ 1573 /
|
||||
DATA ( MM( 54, J ), J = 1, 4 ) / 769, 336, 153,
|
||||
$ 3689 /
|
||||
DATA ( MM( 55, J ), J = 1, 4 ) / 1558, 1472, 2320,
|
||||
$ 2941 /
|
||||
DATA ( MM( 56, J ), J = 1, 4 ) / 2412, 2407, 18,
|
||||
$ 929 /
|
||||
DATA ( MM( 57, J ), J = 1, 4 ) / 2800, 433, 712,
|
||||
$ 533 /
|
||||
DATA ( MM( 58, J ), J = 1, 4 ) / 189, 2096, 2159,
|
||||
$ 2841 /
|
||||
DATA ( MM( 59, J ), J = 1, 4 ) / 287, 1761, 2318,
|
||||
$ 4077 /
|
||||
DATA ( MM( 60, J ), J = 1, 4 ) / 2045, 2810, 2091,
|
||||
$ 721 /
|
||||
DATA ( MM( 61, J ), J = 1, 4 ) / 1227, 566, 3443,
|
||||
$ 2821 /
|
||||
DATA ( MM( 62, J ), J = 1, 4 ) / 2838, 442, 1510,
|
||||
$ 2249 /
|
||||
DATA ( MM( 63, J ), J = 1, 4 ) / 209, 41, 449,
|
||||
$ 2397 /
|
||||
DATA ( MM( 64, J ), J = 1, 4 ) / 2770, 1238, 1956,
|
||||
$ 2817 /
|
||||
DATA ( MM( 65, J ), J = 1, 4 ) / 3654, 1086, 2201,
|
||||
$ 245 /
|
||||
DATA ( MM( 66, J ), J = 1, 4 ) / 3993, 603, 3137,
|
||||
$ 1913 /
|
||||
DATA ( MM( 67, J ), J = 1, 4 ) / 192, 840, 3399,
|
||||
$ 1997 /
|
||||
DATA ( MM( 68, J ), J = 1, 4 ) / 2253, 3168, 1321,
|
||||
$ 3121 /
|
||||
DATA ( MM( 69, J ), J = 1, 4 ) / 3491, 1499, 2271,
|
||||
$ 997 /
|
||||
DATA ( MM( 70, J ), J = 1, 4 ) / 2889, 1084, 3667,
|
||||
$ 1833 /
|
||||
DATA ( MM( 71, J ), J = 1, 4 ) / 2857, 3438, 2703,
|
||||
$ 2877 /
|
||||
DATA ( MM( 72, J ), J = 1, 4 ) / 2094, 2408, 629,
|
||||
$ 1633 /
|
||||
DATA ( MM( 73, J ), J = 1, 4 ) / 1818, 1589, 2365,
|
||||
$ 981 /
|
||||
DATA ( MM( 74, J ), J = 1, 4 ) / 688, 2391, 2431,
|
||||
$ 2009 /
|
||||
DATA ( MM( 75, J ), J = 1, 4 ) / 1407, 288, 1113,
|
||||
$ 941 /
|
||||
DATA ( MM( 76, J ), J = 1, 4 ) / 634, 26, 3922,
|
||||
$ 2449 /
|
||||
DATA ( MM( 77, J ), J = 1, 4 ) / 3231, 512, 2554,
|
||||
$ 197 /
|
||||
DATA ( MM( 78, J ), J = 1, 4 ) / 815, 1456, 184,
|
||||
$ 2441 /
|
||||
DATA ( MM( 79, J ), J = 1, 4 ) / 3524, 171, 2099,
|
||||
$ 285 /
|
||||
DATA ( MM( 80, J ), J = 1, 4 ) / 1914, 1677, 3228,
|
||||
$ 1473 /
|
||||
DATA ( MM( 81, J ), J = 1, 4 ) / 516, 2657, 4012,
|
||||
$ 2741 /
|
||||
DATA ( MM( 82, J ), J = 1, 4 ) / 164, 2270, 1921,
|
||||
$ 3129 /
|
||||
DATA ( MM( 83, J ), J = 1, 4 ) / 303, 2587, 3452,
|
||||
$ 909 /
|
||||
DATA ( MM( 84, J ), J = 1, 4 ) / 2144, 2961, 3901,
|
||||
$ 2801 /
|
||||
DATA ( MM( 85, J ), J = 1, 4 ) / 3480, 1970, 572,
|
||||
$ 421 /
|
||||
DATA ( MM( 86, J ), J = 1, 4 ) / 119, 1817, 3309,
|
||||
$ 4073 /
|
||||
DATA ( MM( 87, J ), J = 1, 4 ) / 3357, 676, 3171,
|
||||
$ 2813 /
|
||||
DATA ( MM( 88, J ), J = 1, 4 ) / 837, 1410, 817,
|
||||
$ 2337 /
|
||||
DATA ( MM( 89, J ), J = 1, 4 ) / 2826, 3723, 3039,
|
||||
$ 1429 /
|
||||
DATA ( MM( 90, J ), J = 1, 4 ) / 2332, 2803, 1696,
|
||||
$ 1177 /
|
||||
DATA ( MM( 91, J ), J = 1, 4 ) / 2089, 3185, 1256,
|
||||
$ 1901 /
|
||||
DATA ( MM( 92, J ), J = 1, 4 ) / 3780, 184, 3715,
|
||||
$ 81 /
|
||||
DATA ( MM( 93, J ), J = 1, 4 ) / 1700, 663, 2077,
|
||||
$ 1669 /
|
||||
DATA ( MM( 94, J ), J = 1, 4 ) / 3712, 499, 3019,
|
||||
$ 2633 /
|
||||
DATA ( MM( 95, J ), J = 1, 4 ) / 150, 3784, 1497,
|
||||
$ 2269 /
|
||||
DATA ( MM( 96, J ), J = 1, 4 ) / 2000, 1631, 1101,
|
||||
$ 129 /
|
||||
DATA ( MM( 97, J ), J = 1, 4 ) / 3375, 1925, 717,
|
||||
$ 1141 /
|
||||
DATA ( MM( 98, J ), J = 1, 4 ) / 1621, 3912, 51,
|
||||
$ 249 /
|
||||
DATA ( MM( 99, J ), J = 1, 4 ) / 3090, 1398, 981,
|
||||
$ 3917 /
|
||||
DATA ( MM( 100, J ), J = 1, 4 ) / 3765, 1349, 1978,
|
||||
$ 2481 /
|
||||
DATA ( MM( 101, J ), J = 1, 4 ) / 1149, 1441, 1813,
|
||||
$ 3941 /
|
||||
DATA ( MM( 102, J ), J = 1, 4 ) / 3146, 2224, 3881,
|
||||
$ 2217 /
|
||||
DATA ( MM( 103, J ), J = 1, 4 ) / 33, 2411, 76,
|
||||
$ 2749 /
|
||||
DATA ( MM( 104, J ), J = 1, 4 ) / 3082, 1907, 3846,
|
||||
$ 3041 /
|
||||
DATA ( MM( 105, J ), J = 1, 4 ) / 2741, 3192, 3694,
|
||||
$ 1877 /
|
||||
DATA ( MM( 106, J ), J = 1, 4 ) / 359, 2786, 1682,
|
||||
$ 345 /
|
||||
DATA ( MM( 107, J ), J = 1, 4 ) / 3316, 382, 124,
|
||||
$ 2861 /
|
||||
DATA ( MM( 108, J ), J = 1, 4 ) / 1749, 37, 1660,
|
||||
$ 1809 /
|
||||
DATA ( MM( 109, J ), J = 1, 4 ) / 185, 759, 3997,
|
||||
$ 3141 /
|
||||
DATA ( MM( 110, J ), J = 1, 4 ) / 2784, 2948, 479,
|
||||
$ 2825 /
|
||||
DATA ( MM( 111, J ), J = 1, 4 ) / 2202, 1862, 1141,
|
||||
$ 157 /
|
||||
DATA ( MM( 112, J ), J = 1, 4 ) / 2199, 3802, 886,
|
||||
$ 2881 /
|
||||
DATA ( MM( 113, J ), J = 1, 4 ) / 1364, 2423, 3514,
|
||||
$ 3637 /
|
||||
DATA ( MM( 114, J ), J = 1, 4 ) / 1244, 2051, 1301,
|
||||
$ 1465 /
|
||||
DATA ( MM( 115, J ), J = 1, 4 ) / 2020, 2295, 3604,
|
||||
$ 2829 /
|
||||
DATA ( MM( 116, J ), J = 1, 4 ) / 3160, 1332, 1888,
|
||||
$ 2161 /
|
||||
DATA ( MM( 117, J ), J = 1, 4 ) / 2785, 1832, 1836,
|
||||
$ 3365 /
|
||||
DATA ( MM( 118, J ), J = 1, 4 ) / 2772, 2405, 1990,
|
||||
$ 361 /
|
||||
DATA ( MM( 119, J ), J = 1, 4 ) / 1217, 3638, 2058,
|
||||
$ 2685 /
|
||||
DATA ( MM( 120, J ), J = 1, 4 ) / 1822, 3661, 692,
|
||||
$ 3745 /
|
||||
DATA ( MM( 121, J ), J = 1, 4 ) / 1245, 327, 1194,
|
||||
$ 2325 /
|
||||
DATA ( MM( 122, J ), J = 1, 4 ) / 2252, 3660, 20,
|
||||
$ 3609 /
|
||||
DATA ( MM( 123, J ), J = 1, 4 ) / 3904, 716, 3285,
|
||||
$ 3821 /
|
||||
DATA ( MM( 124, J ), J = 1, 4 ) / 2774, 1842, 2046,
|
||||
$ 3537 /
|
||||
DATA ( MM( 125, J ), J = 1, 4 ) / 997, 3987, 2107,
|
||||
$ 517 /
|
||||
DATA ( MM( 126, J ), J = 1, 4 ) / 2573, 1368, 3508,
|
||||
$ 3017 /
|
||||
DATA ( MM( 127, J ), J = 1, 4 ) / 1148, 1848, 3525,
|
||||
$ 2141 /
|
||||
DATA ( MM( 128, J ), J = 1, 4 ) / 545, 2366, 3801,
|
||||
$ 1537 /
|
||||
* ..
|
||||
* .. Executable Statements ..
|
||||
*
|
||||
I1 = ISEED( 1 )
|
||||
I2 = ISEED( 2 )
|
||||
I3 = ISEED( 3 )
|
||||
I4 = ISEED( 4 )
|
||||
*
|
||||
DO 10 I = 1, MIN( N, LV )
|
||||
*
|
||||
20 CONTINUE
|
||||
*
|
||||
* Multiply the seed by i-th power of the multiplier modulo 2**48
|
||||
*
|
||||
IT4 = I4*MM( I, 4 )
|
||||
IT3 = IT4 / IPW2
|
||||
IT4 = IT4 - IPW2*IT3
|
||||
IT3 = IT3 + I3*MM( I, 4 ) + I4*MM( I, 3 )
|
||||
IT2 = IT3 / IPW2
|
||||
IT3 = IT3 - IPW2*IT2
|
||||
IT2 = IT2 + I2*MM( I, 4 ) + I3*MM( I, 3 ) + I4*MM( I, 2 )
|
||||
IT1 = IT2 / IPW2
|
||||
IT2 = IT2 - IPW2*IT1
|
||||
IT1 = IT1 + I1*MM( I, 4 ) + I2*MM( I, 3 ) + I3*MM( I, 2 ) +
|
||||
$ I4*MM( I, 1 )
|
||||
IT1 = MOD( IT1, IPW2 )
|
||||
*
|
||||
* Convert 48-bit integer to a real number in the interval (0,1)
|
||||
*
|
||||
X( I ) = R*( REAL( IT1 )+R*( REAL( IT2 )+R*( REAL( IT3 )+R*
|
||||
$ REAL( IT4 ) ) ) )
|
||||
*
|
||||
IF (X( I ).EQ.1.0) THEN
|
||||
* If a real number has n bits of precision, and the first
|
||||
* n bits of the 48-bit integer above happen to be all 1 (which
|
||||
* will occur about once every 2**n calls), then X( I ) will
|
||||
* be rounded to exactly 1.0. In IEEE single precision arithmetic,
|
||||
* this will happen relatively often since n = 24.
|
||||
* Since X( I ) is not supposed to return exactly 0.0 or 1.0,
|
||||
* the statistically correct thing to do in this situation is
|
||||
* simply to iterate again.
|
||||
* N.B. the case X( I ) = 0.0 should not be possible.
|
||||
I1 = I1 + 2
|
||||
I2 = I2 + 2
|
||||
I3 = I3 + 2
|
||||
I4 = I4 + 2
|
||||
GOTO 20
|
||||
END IF
|
||||
*
|
||||
10 CONTINUE
|
||||
*
|
||||
* Return final value of seed
|
||||
*
|
||||
ISEED( 1 ) = IT1
|
||||
ISEED( 2 ) = IT2
|
||||
ISEED( 3 ) = IT3
|
||||
ISEED( 4 ) = IT4
|
||||
RETURN
|
||||
*
|
||||
* End of SLARUV
|
||||
*
|
||||
END
|
175
src/voronoiproj.f90
Normal file
175
src/voronoiproj.f90
Normal file
@ -0,0 +1,175 @@
|
||||
subroutine voronoiproj(leniw,lenrw,iw,rw,dres,goxd,dvxd,gozd,dvzd,depz,&
|
||||
nx,ny,nz,nd,ncells,hvratio,damp,iproj,dv)
|
||||
use lsmrModule, only:lsmr
|
||||
|
||||
implicit none
|
||||
integer leniw,lenrw
|
||||
integer nx,ny,nz
|
||||
integer iw(leniw)
|
||||
real depz(nz)
|
||||
real rw(lenrw)
|
||||
integer ncells
|
||||
real dv(*),dres(*)
|
||||
real goxd,gozd,dvxd,dvzd
|
||||
real damp
|
||||
real hvratio,cmb
|
||||
integer ndim,nd
|
||||
integer iproj
|
||||
|
||||
real,parameter:: radius = 6371.0,ftol = 0.1,pi = 3.141592654
|
||||
integer ii,ix,iy,iz
|
||||
real,dimension(:),allocatable:: grow,gcol,subrow,dis,dws,xunknown
|
||||
real,dimension(:),allocatable:: lat,lon,rad,theta,phi,rrad,xpts,ypts,zpts
|
||||
real,dimension(:),allocatable :: rw_p,rwgp,norm
|
||||
integer,dimension(:),allocatable:: iw_p,row,col,iwgp,colgp
|
||||
integer idx
|
||||
integer maxnar,nzid
|
||||
integer iseed(4)
|
||||
real xs,ys,zs
|
||||
|
||||
real atol,btol
|
||||
real conlim
|
||||
integer istop
|
||||
integer itnlim
|
||||
real acond
|
||||
real anorm
|
||||
real arnorm
|
||||
real rnorm
|
||||
real xnorm
|
||||
integer localSize,nout,itn
|
||||
integer leniw_p,lenrw_p,leniwgp,lenrwgp
|
||||
|
||||
allocate(lat(nx-2),lon(ny-2),rad(nz-1))
|
||||
ndim = (nx-2)*(ny-2)*(nz-1)
|
||||
|
||||
do ii = 1,nx-2
|
||||
lat(ii) = (goxd-(ii-1)*dvxd)*pi/180
|
||||
enddo
|
||||
|
||||
do ii = 1,ny-2
|
||||
lon(ii) = (gozd+(ii-1)*dvzd)*pi/180
|
||||
enddo
|
||||
|
||||
!cmb = radius - depz(nz-1)*hvratio
|
||||
do ii = 1,nz-1
|
||||
rad(ii) = radius-depz(ii)*hvratio
|
||||
!rad(ii) = cmb+depz(ii)*hvratio
|
||||
enddo
|
||||
|
||||
allocate(theta(ncells),phi(ncells),rrad(ncells),dws(ncells),norm(ncells))
|
||||
allocate(xpts(ncells),ypts(ncells),zpts(ncells),dis(ncells),xunknown(ncells))
|
||||
allocate(rw_p(ndim))
|
||||
allocate(iw_p(2*ndim+1),row(ndim),col(ndim))
|
||||
|
||||
iseed(1:3) = (/38,62,346/)
|
||||
iseed(4) = 2*iproj+1
|
||||
call slarnv(1,iseed,ncells,theta)
|
||||
theta = (gozd+theta*(ny-3)*dvzd)*pi/180
|
||||
call slarnv(1,iseed,ncells,phi)
|
||||
phi = pi/2-(goxd-phi*(nx-3)*dvxd)*pi/180
|
||||
call slarnv(1,iseed,ncells,rrad)
|
||||
rrad = radius-rrad*depz(nz-1)*hvratio
|
||||
|
||||
xpts = rrad*sin(phi)*cos(theta)
|
||||
ypts = rrad*sin(phi)*sin(theta)
|
||||
zpts = rrad*cos(phi)
|
||||
|
||||
idx = 0
|
||||
do iz = 1,nz-1
|
||||
do iy = 1,ny-2
|
||||
do ix = 1,nx-2
|
||||
xs = rrad(iz)*sin(pi/2-lat(ix))*cos(lon(iy))
|
||||
ys = rrad(iz)*sin(pi/2-lat(ix))*sin(lon(iy))
|
||||
zs = rrad(iz)*cos(pi/2-lat(ix))
|
||||
dis = (xpts-xs)**2+(ypts-ys)**2+(zpts-zs)**2
|
||||
idx = idx+1
|
||||
col(idx) = (iz-1)*(nx-2)*(ny-2)+(iy-1)*(nx-2)+ix
|
||||
row(idx) = minloc(dis,1)
|
||||
enddo
|
||||
enddo
|
||||
enddo
|
||||
rw_p = 1.0
|
||||
leniw_p = 2*ndim+1
|
||||
lenrw_p = ndim
|
||||
iw_p(1) = ndim
|
||||
iw_p(2:ndim+1) = row
|
||||
iw_p(ndim+2:2*ndim+1) = col
|
||||
|
||||
allocate(grow(ndim),gcol(nd),subrow(ncells))
|
||||
maxnar = int(0.6*nd*ncells)
|
||||
allocate(iwgp(maxnar*2+1),colgp(maxnar),rwgp(maxnar))
|
||||
|
||||
nzid = 0
|
||||
do ii = 1,nd
|
||||
grow = 0
|
||||
gcol = 0
|
||||
gcol(ii) = 1.0
|
||||
call aprod(2,nd,ndim,grow,gcol,leniw,lenrw,iw,rw)
|
||||
subrow = 0
|
||||
call aprod(1,ncells,ndim,grow,subrow,leniw_p,lenrw_p,iw_p,rw_p)
|
||||
do ix = 1,ncells
|
||||
if(abs(subrow(ix))>ftol) then
|
||||
nzid = nzid+1
|
||||
rwgp(nzid) = subrow(ix)
|
||||
iwgp(1+nzid) = ii
|
||||
colgp(nzid) = ix
|
||||
endif
|
||||
enddo
|
||||
enddo
|
||||
leniwgp = nzid*2+1
|
||||
lenrwgp = nzid
|
||||
iwgp(1) = lenrwgp
|
||||
iwgp(nzid+2:nzid*2+1) = colgp(1:nzid)
|
||||
|
||||
dws = 0
|
||||
!do ii=1,nzid
|
||||
!dws(iwgp(1+ii+nzid)) = dws(iwgp(1+ii+nzid))+abs(rwgp(ii))
|
||||
!enddo
|
||||
norm = 0
|
||||
do ii=1,nzid
|
||||
norm(iwgp(1+ii+nzid)) = norm(iwgp(1+ii+nzid))+rwgp(ii)**2
|
||||
enddo
|
||||
|
||||
do ii =1,ncells
|
||||
norm(ii) = sqrt(norm(ii)/nd+0.01)
|
||||
enddo
|
||||
|
||||
do ii =1,nzid
|
||||
rwgp(ii) = rwgp(ii)/norm(iwgp(1+ii+nzid))
|
||||
enddo
|
||||
|
||||
conlim = 50
|
||||
itnlim = 100
|
||||
atol = 1e-2
|
||||
btol = 1e-3
|
||||
istop = 0
|
||||
anorm = 0.0
|
||||
acond = 0.0
|
||||
arnorm = 0.0
|
||||
xnorm = 0.0
|
||||
localSize = int(ncells/4)
|
||||
!damp = dampvel
|
||||
! using lsmr to solve for the projection coefficients
|
||||
!print*, 'LSMR beginning ...'
|
||||
|
||||
nout = -1
|
||||
!nout = 36
|
||||
!open(nout,file='lsmrout_sub.txt')
|
||||
|
||||
call LSMR(nd, ncells, leniwgp, lenrwgp,iwgp,rwgp,dres,damp,&
|
||||
atol, btol, conlim, itnlim, localSize,nout,&
|
||||
xunknown, istop, itn, anorm, acond,rnorm, arnorm, xnorm)
|
||||
!close(nout)
|
||||
do ii = 1,ncells
|
||||
xunknown(ii) = xunknown(ii)/norm(ii)
|
||||
enddo
|
||||
dv(1:ndim) = 0
|
||||
call aprod(2,ncells,ndim,dv,xunknown,leniw_p,lenrw_p,iw_p,rw_p)
|
||||
deallocate(grow,gcol,subrow)
|
||||
deallocate(theta,phi,rrad,dws,norm)
|
||||
deallocate(xpts,ypts,zpts,dis,xunknown)
|
||||
deallocate(iw_p,rw_p,row,col)
|
||||
deallocate(lat,lon,rad)
|
||||
deallocate(iwgp,colgp,rwgp)
|
||||
|
||||
end subroutine
|
Loading…
Reference in New Issue
Block a user