mirror of
https://github.com/HongjianFang/DSurfTomo.git
synced 2025-05-05 22:31:14 +08:00
Initial commit
change 1e-2 to 'ftol' in CalSurfG.f90, which may cause problem with small study region (~2 km)
This commit is contained in:
parent
de0abdf3f1
commit
fb7b81711f
BIN
doc/ManualDSurfTomo.pdf
Normal file
BIN
doc/ManualDSurfTomo.pdf
Normal file
Binary file not shown.
10
example/.gmtcommands4
Normal file
10
example/.gmtcommands4
Normal file
@ -0,0 +1,10 @@
|
||||
# GMT common arguments shelf
|
||||
-Ba0.2f0.1:S velocity (km/s):
|
||||
-JM2i
|
||||
-R121.35/121.605/24.975/25.2
|
||||
-x2.3i
|
||||
-Y5i
|
||||
-y-2.7i
|
||||
-jM2i
|
||||
EOF
|
||||
|
107
example/.gmtdefaults4
Normal file
107
example/.gmtdefaults4
Normal file
@ -0,0 +1,107 @@
|
||||
#
|
||||
# GMT-SYSTEM 4.5.11 [64-bit] Defaults file
|
||||
#
|
||||
#-------- Plot Media Parameters -------------
|
||||
PAGE_COLOR = white
|
||||
PAGE_ORIENTATION = landscape
|
||||
PAPER_MEDIA = a4
|
||||
#-------- Basemap Annotation Parameters ------
|
||||
ANNOT_MIN_ANGLE = 20
|
||||
ANNOT_MIN_SPACING = 0
|
||||
ANNOT_FONT_PRIMARY = Helvetica
|
||||
ANNOT_FONT_SIZE_PRIMARY = 6p
|
||||
ANNOT_OFFSET_PRIMARY = 0.2c
|
||||
ANNOT_FONT_SECONDARY = Helvetica
|
||||
ANNOT_FONT_SIZE_SECONDARY = 16p
|
||||
ANNOT_OFFSET_SECONDARY = 0.2c
|
||||
DEGREE_SYMBOL = ring
|
||||
HEADER_FONT = Helvetica
|
||||
HEADER_FONT_SIZE = 36p
|
||||
HEADER_OFFSET = 0.5c
|
||||
LABEL_FONT = Helvetica
|
||||
LABEL_FONT_SIZE = 5p
|
||||
LABEL_OFFSET = 0.1c
|
||||
OBLIQUE_ANNOTATION = 1
|
||||
PLOT_CLOCK_FORMAT = hh:mm:ss
|
||||
PLOT_DATE_FORMAT = yyyy-mm-dd
|
||||
PLOT_DEGREE_FORMAT = ddd:mm:ss
|
||||
Y_AXIS_TYPE = hor_text
|
||||
#-------- Basemap Layout Parameters ---------
|
||||
BASEMAP_AXES = WESN
|
||||
BASEMAP_FRAME_RGB = black
|
||||
BASEMAP_TYPE = fancy
|
||||
FRAME_PEN = 1.25p
|
||||
FRAME_WIDTH = 0.1c
|
||||
GRID_CROSS_SIZE_PRIMARY = 0c
|
||||
GRID_PEN_PRIMARY = 0.25p
|
||||
GRID_CROSS_SIZE_SECONDARY = 0c
|
||||
GRID_PEN_SECONDARY = 0.5p
|
||||
MAP_SCALE_HEIGHT = 0.2c
|
||||
POLAR_CAP = 85/90
|
||||
TICK_LENGTH = 0.1c
|
||||
TICK_PEN = 0.3p
|
||||
X_AXIS_LENGTH = 25c
|
||||
Y_AXIS_LENGTH = 15c
|
||||
X_ORIGIN = 2.5c
|
||||
Y_ORIGIN = 2.5c
|
||||
UNIX_TIME = FALSE
|
||||
UNIX_TIME_POS = BL/-2c/-2c
|
||||
UNIX_TIME_FORMAT = %Y %b %d %H:%M:%S
|
||||
#-------- Color System Parameters -----------
|
||||
COLOR_BACKGROUND = black
|
||||
COLOR_FOREGROUND = white
|
||||
COLOR_NAN = 128
|
||||
COLOR_IMAGE = adobe
|
||||
COLOR_MODEL = rgb
|
||||
HSV_MIN_SATURATION = 1
|
||||
HSV_MAX_SATURATION = 0.1
|
||||
HSV_MIN_VALUE = 0.3
|
||||
HSV_MAX_VALUE = 1
|
||||
#-------- PostScript Parameters -------------
|
||||
CHAR_ENCODING = ISOLatin1+
|
||||
DOTS_PR_INCH = 300
|
||||
GLOBAL_X_SCALE = 1
|
||||
GLOBAL_Y_SCALE = 1
|
||||
N_COPIES = 1
|
||||
PS_COLOR = rgb
|
||||
PS_IMAGE_COMPRESS = lzw
|
||||
PS_IMAGE_FORMAT = ascii
|
||||
PS_LINE_CAP = butt
|
||||
PS_LINE_JOIN = miter
|
||||
PS_MITER_LIMIT = 35
|
||||
PS_VERBOSE = FALSE
|
||||
TRANSPARENCY = 0
|
||||
#-------- I/O Format Parameters -------------
|
||||
D_FORMAT = %.12lg
|
||||
FIELD_DELIMITER = tab
|
||||
GRIDFILE_FORMAT = nf
|
||||
GRIDFILE_SHORTHAND = FALSE
|
||||
INPUT_CLOCK_FORMAT = hh:mm:ss
|
||||
INPUT_DATE_FORMAT = yyyy-mm-dd
|
||||
IO_HEADER = FALSE
|
||||
N_HEADER_RECS = 1
|
||||
NAN_RECORDS = pass
|
||||
OUTPUT_CLOCK_FORMAT = hh:mm:ss
|
||||
OUTPUT_DATE_FORMAT = yyyy-mm-dd
|
||||
OUTPUT_DEGREE_FORMAT = D
|
||||
XY_TOGGLE = FALSE
|
||||
#-------- Projection Parameters -------------
|
||||
ELLIPSOID = WGS-84
|
||||
MAP_SCALE_FACTOR = default
|
||||
MEASURE_UNIT = cm
|
||||
#-------- Calendar/Time Parameters ----------
|
||||
TIME_FORMAT_PRIMARY = full
|
||||
TIME_FORMAT_SECONDARY = full
|
||||
TIME_EPOCH = 2000-01-01T12:00:00
|
||||
TIME_IS_INTERVAL = OFF
|
||||
TIME_INTERVAL_FRACTION = 0.5
|
||||
TIME_LANGUAGE = us
|
||||
TIME_UNIT = d
|
||||
TIME_WEEK_START = Sunday
|
||||
Y2K_OFFSET_YEAR = 1950
|
||||
#-------- Miscellaneous Parameters ----------
|
||||
HISTORY = TRUE
|
||||
INTERPOLANT = akima
|
||||
LINE_STEP = 0.025c
|
||||
VECTOR_SHAPE = 0
|
||||
VERBOSE = FALSE
|
21
example/DSurfTomo.in
Normal file
21
example/DSurfTomo.in
Normal file
@ -0,0 +1,21 @@
|
||||
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)
|
||||
449 c: nsrc*maxf
|
||||
4.0 0.0 c: weight damp
|
||||
0.1 c: minthk (about 1/3 of grid interval in vertical direction)
|
||||
0.5 2.8 c: minimum velocity, maximum velocity
|
||||
10 c: maxiter (iteration number)
|
||||
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
|
||||
2.5 c: threshold
|
1
example/DSurfTomo.in.log
Normal file
1
example/DSurfTomo.in.log
Normal file
@ -0,0 +1 @@
|
||||
|
2048
example/DSurfTomo.inMeasure.dat
Normal file
2048
example/DSurfTomo.inMeasure.dat
Normal file
File diff suppressed because it is too large
Load Diff
256
example/IterVel.out
Normal file
256
example/IterVel.out
Normal file
@ -0,0 +1,256 @@
|
||||
,OUTPUT S VELOCITY AT ITERATION 1
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.899 0.899 0.899 0.900 0.901 0.901 0.901 0.901 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.899 0.899 0.899 0.901 0.903 0.903 0.902 0.900 0.899 0.899 0.900 0.903 0.899 0.899 0.900 0.900
|
||||
0.900 0.900 0.899 0.899 0.901 0.904 0.907 0.907 0.903 0.899 0.896 0.897 0.903 0.903 0.892 0.896 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.903 0.911 0.923 0.921 0.911 0.901 0.892 0.895 0.905 0.897 0.887 0.893 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.904 0.914 0.918 0.918 0.909 0.883 0.867 0.882 0.895 0.890 0.887 0.892 0.900 0.900
|
||||
0.900 0.900 0.899 0.898 0.901 0.904 0.895 0.890 0.884 0.859 0.853 0.874 0.882 0.890 0.891 0.895 0.900 0.900
|
||||
0.900 0.900 0.898 0.895 0.882 0.873 0.872 0.871 0.880 0.872 0.873 0.898 0.893 0.885 0.891 0.899 0.900 0.900
|
||||
0.900 0.900 0.898 0.894 0.881 0.884 0.890 0.905 0.917 0.910 0.901 0.906 0.892 0.875 0.895 0.901 0.900 0.900
|
||||
0.900 0.900 0.899 0.899 0.901 0.919 0.921 0.932 0.952 0.942 0.927 0.914 0.902 0.891 0.902 0.905 0.900 0.900
|
||||
0.900 0.900 0.900 0.901 0.906 0.921 0.920 0.919 0.932 0.934 0.932 0.914 0.912 0.915 0.918 0.909 0.900 0.900
|
||||
0.900 0.900 0.899 0.900 0.903 0.909 0.914 0.916 0.918 0.923 0.906 0.898 0.908 0.917 0.926 0.913 0.900 0.900
|
||||
0.900 0.900 0.899 0.899 0.901 0.904 0.909 0.919 0.930 0.917 0.899 0.909 0.918 0.923 0.929 0.914 0.900 0.900
|
||||
0.900 0.900 0.898 0.897 0.898 0.900 0.903 0.911 0.915 0.908 0.905 0.909 0.915 0.920 0.923 0.910 0.900 0.900
|
||||
0.900 0.900 0.899 0.898 0.898 0.899 0.900 0.901 0.902 0.902 0.902 0.903 0.905 0.907 0.907 0.904 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
|
||||
0.900 0.900 0.900 0.900 0.900 0.900 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.019 1.019 1.019 1.020 1.021 1.021 1.021 1.021 1.020 1.020 1.020 1.020 1.020 1.020 1.020 1.020
|
||||
1.020 1.019 1.019 1.021 1.025 1.030 1.034 1.033 1.027 1.019 1.013 1.009 1.007 1.006 1.006 1.012 1.020 1.020
|
||||
1.020 1.019 1.021 1.025 1.034 1.045 1.051 1.048 1.035 1.017 1.003 0.996 0.994 0.993 0.992 1.002 1.019 1.020
|
||||
1.020 1.019 1.023 1.031 1.045 1.062 1.074 1.067 1.043 1.013 0.990 0.982 0.982 0.979 0.977 0.993 1.017 1.020
|
||||
1.020 1.020 1.024 1.034 1.052 1.077 1.093 1.081 1.044 0.999 0.968 0.963 0.969 0.966 0.966 0.987 1.015 1.020
|
||||
1.020 1.020 1.023 1.031 1.047 1.068 1.075 1.058 1.017 0.962 0.929 0.935 0.951 0.957 0.968 0.989 1.014 1.020
|
||||
1.020 1.019 1.019 1.021 1.028 1.035 1.028 1.010 0.979 0.935 0.916 0.933 0.950 0.965 0.981 1.000 1.016 1.020
|
||||
1.020 1.018 1.016 1.013 1.007 1.007 1.006 1.004 0.998 0.976 0.966 0.979 0.981 0.984 0.999 1.013 1.018 1.020
|
||||
1.020 1.018 1.019 1.021 1.023 1.040 1.059 1.079 1.090 1.074 1.050 1.038 1.020 1.011 1.026 1.030 1.020 1.020
|
||||
1.020 1.019 1.027 1.041 1.066 1.104 1.132 1.158 1.176 1.159 1.123 1.090 1.067 1.058 1.064 1.052 1.024 1.020
|
||||
1.020 1.020 1.031 1.051 1.084 1.125 1.152 1.170 1.184 1.173 1.144 1.113 1.105 1.109 1.107 1.076 1.028 1.020
|
||||
1.020 1.019 1.029 1.046 1.073 1.105 1.131 1.147 1.156 1.146 1.118 1.106 1.118 1.136 1.134 1.092 1.031 1.020
|
||||
1.020 1.019 1.024 1.034 1.053 1.076 1.099 1.119 1.130 1.116 1.096 1.103 1.125 1.144 1.140 1.095 1.032 1.020
|
||||
1.020 1.018 1.019 1.024 1.035 1.049 1.066 1.083 1.091 1.085 1.079 1.089 1.109 1.123 1.117 1.080 1.029 1.020
|
||||
1.020 1.019 1.018 1.019 1.024 1.031 1.039 1.048 1.052 1.052 1.052 1.059 1.069 1.076 1.072 1.052 1.024 1.020
|
||||
1.020 1.020 1.019 1.018 1.018 1.019 1.020 1.021 1.022 1.022 1.022 1.023 1.025 1.027 1.027 1.024 1.020 1.020
|
||||
1.020 1.020 1.020 1.020 1.020 1.020 1.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.139 1.138 1.139 1.140 1.142 1.143 1.142 1.141 1.140 1.140 1.140 1.140 1.139 1.139 1.140 1.140
|
||||
1.140 1.139 1.139 1.143 1.150 1.158 1.164 1.161 1.151 1.137 1.125 1.116 1.111 1.109 1.112 1.123 1.139 1.140
|
||||
1.140 1.138 1.142 1.150 1.165 1.183 1.194 1.187 1.163 1.133 1.107 1.092 1.084 1.080 1.084 1.106 1.137 1.140
|
||||
1.140 1.138 1.146 1.159 1.183 1.213 1.232 1.220 1.178 1.127 1.088 1.070 1.063 1.055 1.059 1.091 1.134 1.140
|
||||
1.140 1.139 1.147 1.164 1.195 1.237 1.264 1.243 1.181 1.109 1.060 1.046 1.044 1.037 1.048 1.086 1.132 1.140
|
||||
1.140 1.139 1.145 1.159 1.187 1.222 1.235 1.204 1.138 1.062 1.017 1.018 1.028 1.037 1.060 1.095 1.134 1.140
|
||||
1.140 1.138 1.139 1.145 1.158 1.171 1.161 1.127 1.080 1.028 1.007 1.022 1.040 1.061 1.089 1.116 1.137 1.140
|
||||
1.140 1.137 1.136 1.136 1.136 1.140 1.135 1.123 1.112 1.090 1.080 1.090 1.092 1.102 1.124 1.138 1.140 1.140
|
||||
1.140 1.137 1.143 1.153 1.169 1.200 1.224 1.244 1.254 1.230 1.198 1.177 1.156 1.152 1.168 1.166 1.143 1.140
|
||||
1.140 1.139 1.156 1.185 1.234 1.297 1.339 1.368 1.381 1.350 1.295 1.249 1.223 1.222 1.227 1.201 1.149 1.140
|
||||
1.140 1.140 1.162 1.198 1.256 1.324 1.365 1.383 1.391 1.368 1.318 1.277 1.275 1.291 1.289 1.236 1.155 1.140
|
||||
1.140 1.139 1.157 1.187 1.233 1.286 1.323 1.338 1.342 1.325 1.282 1.269 1.298 1.331 1.328 1.260 1.159 1.140
|
||||
1.140 1.138 1.147 1.166 1.197 1.234 1.265 1.285 1.295 1.280 1.254 1.267 1.309 1.343 1.336 1.263 1.161 1.140
|
||||
1.140 1.136 1.140 1.149 1.166 1.189 1.212 1.231 1.242 1.238 1.231 1.250 1.284 1.308 1.298 1.238 1.156 1.140
|
||||
1.140 1.137 1.137 1.139 1.147 1.158 1.171 1.182 1.189 1.190 1.191 1.203 1.221 1.233 1.226 1.193 1.146 1.140
|
||||
1.140 1.140 1.137 1.136 1.136 1.137 1.139 1.140 1.142 1.142 1.142 1.145 1.148 1.151 1.151 1.146 1.140 1.140
|
||||
1.140 1.140 1.140 1.140 1.140 1.140 1.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.259 1.258 1.258 1.260 1.262 1.263 1.263 1.261 1.260 1.259 1.258 1.257 1.257 1.258 1.260 1.260
|
||||
1.260 1.259 1.259 1.263 1.272 1.282 1.288 1.285 1.271 1.253 1.236 1.223 1.215 1.211 1.217 1.235 1.258 1.260
|
||||
1.260 1.258 1.262 1.272 1.289 1.311 1.324 1.315 1.284 1.245 1.211 1.187 1.172 1.165 1.176 1.211 1.255 1.260
|
||||
1.260 1.258 1.266 1.282 1.310 1.347 1.370 1.354 1.301 1.237 1.187 1.158 1.141 1.129 1.144 1.193 1.252 1.260
|
||||
1.260 1.259 1.268 1.288 1.324 1.375 1.409 1.383 1.306 1.220 1.162 1.140 1.126 1.115 1.137 1.191 1.251 1.260
|
||||
1.260 1.259 1.265 1.282 1.314 1.356 1.373 1.335 1.255 1.174 1.130 1.126 1.126 1.131 1.165 1.210 1.255 1.260
|
||||
1.260 1.258 1.260 1.267 1.282 1.298 1.285 1.241 1.187 1.145 1.134 1.148 1.157 1.178 1.212 1.239 1.260 1.260
|
||||
1.260 1.257 1.258 1.261 1.266 1.273 1.262 1.242 1.231 1.221 1.223 1.232 1.228 1.237 1.259 1.269 1.262 1.260
|
||||
1.260 1.257 1.268 1.285 1.313 1.353 1.377 1.392 1.399 1.377 1.348 1.326 1.303 1.302 1.314 1.303 1.266 1.260
|
||||
1.260 1.259 1.283 1.323 1.388 1.467 1.516 1.540 1.542 1.503 1.444 1.394 1.373 1.379 1.381 1.342 1.273 1.260
|
||||
1.260 1.260 1.289 1.336 1.409 1.492 1.539 1.551 1.548 1.515 1.454 1.412 1.421 1.449 1.446 1.380 1.279 1.260
|
||||
1.260 1.259 1.281 1.319 1.376 1.439 1.479 1.487 1.484 1.461 1.411 1.402 1.446 1.490 1.487 1.405 1.283 1.260
|
||||
1.260 1.257 1.269 1.292 1.329 1.371 1.403 1.417 1.424 1.410 1.382 1.403 1.460 1.502 1.494 1.408 1.284 1.260
|
||||
1.260 1.255 1.259 1.270 1.291 1.316 1.340 1.357 1.368 1.366 1.362 1.387 1.430 1.460 1.448 1.378 1.278 1.260
|
||||
1.260 1.256 1.256 1.259 1.267 1.280 1.293 1.304 1.312 1.315 1.318 1.334 1.356 1.371 1.362 1.323 1.267 1.260
|
||||
1.260 1.260 1.256 1.254 1.254 1.256 1.257 1.259 1.260 1.261 1.262 1.265 1.269 1.273 1.273 1.267 1.260 1.260
|
||||
1.260 1.260 1.260 1.260 1.260 1.260 1.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.379 1.378 1.378 1.380 1.382 1.383 1.382 1.381 1.379 1.377 1.376 1.375 1.375 1.377 1.380 1.380
|
||||
1.380 1.379 1.379 1.383 1.391 1.401 1.406 1.402 1.388 1.368 1.349 1.334 1.323 1.318 1.327 1.350 1.377 1.380
|
||||
1.380 1.378 1.381 1.390 1.407 1.428 1.439 1.429 1.397 1.355 1.318 1.290 1.269 1.259 1.277 1.322 1.373 1.380
|
||||
1.380 1.378 1.385 1.400 1.427 1.461 1.483 1.465 1.409 1.343 1.290 1.255 1.231 1.216 1.241 1.304 1.370 1.380
|
||||
1.380 1.379 1.387 1.405 1.439 1.487 1.519 1.491 1.412 1.326 1.268 1.242 1.222 1.209 1.242 1.305 1.370 1.380
|
||||
1.380 1.379 1.384 1.398 1.427 1.466 1.482 1.441 1.360 1.286 1.251 1.248 1.239 1.241 1.281 1.330 1.376 1.380
|
||||
1.380 1.378 1.379 1.385 1.398 1.410 1.395 1.347 1.295 1.268 1.274 1.289 1.289 1.303 1.338 1.364 1.382 1.380
|
||||
1.380 1.377 1.379 1.383 1.388 1.394 1.380 1.357 1.348 1.353 1.371 1.381 1.370 1.375 1.392 1.396 1.384 1.380
|
||||
1.380 1.378 1.390 1.410 1.442 1.482 1.504 1.516 1.521 1.506 1.488 1.468 1.444 1.443 1.449 1.431 1.388 1.380
|
||||
1.380 1.379 1.405 1.447 1.516 1.596 1.646 1.665 1.660 1.622 1.569 1.523 1.506 1.515 1.513 1.469 1.394 1.380
|
||||
1.380 1.380 1.410 1.458 1.533 1.617 1.665 1.673 1.662 1.627 1.569 1.530 1.544 1.575 1.571 1.503 1.400 1.380
|
||||
1.380 1.379 1.401 1.439 1.497 1.559 1.598 1.602 1.596 1.573 1.525 1.519 1.566 1.611 1.606 1.525 1.403 1.380
|
||||
1.380 1.377 1.388 1.411 1.448 1.489 1.518 1.527 1.532 1.521 1.496 1.519 1.578 1.621 1.612 1.526 1.403 1.380
|
||||
1.380 1.375 1.379 1.389 1.409 1.433 1.454 1.468 1.479 1.479 1.477 1.503 1.547 1.578 1.566 1.496 1.397 1.380
|
||||
1.380 1.376 1.375 1.378 1.386 1.398 1.410 1.419 1.427 1.431 1.435 1.451 1.475 1.490 1.481 1.442 1.387 1.380
|
||||
1.380 1.380 1.376 1.374 1.374 1.375 1.377 1.378 1.379 1.380 1.381 1.384 1.388 1.392 1.392 1.387 1.380 1.380
|
||||
1.380 1.380 1.380 1.380 1.380 1.380 1.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.559 1.558 1.559 1.560 1.561 1.562 1.561 1.560 1.558 1.556 1.555 1.553 1.554 1.557 1.560 1.560
|
||||
1.560 1.559 1.559 1.562 1.568 1.575 1.579 1.575 1.563 1.546 1.529 1.514 1.503 1.499 1.509 1.531 1.557 1.560
|
||||
1.560 1.559 1.561 1.567 1.580 1.595 1.604 1.594 1.566 1.531 1.497 1.470 1.449 1.439 1.460 1.505 1.553 1.560
|
||||
1.560 1.558 1.563 1.574 1.594 1.620 1.636 1.618 1.571 1.515 1.468 1.435 1.410 1.397 1.427 1.489 1.550 1.560
|
||||
1.560 1.559 1.564 1.577 1.602 1.638 1.662 1.635 1.568 1.497 1.449 1.426 1.406 1.395 1.431 1.492 1.551 1.560
|
||||
1.560 1.558 1.561 1.571 1.592 1.619 1.630 1.592 1.522 1.465 1.443 1.443 1.432 1.432 1.471 1.516 1.556 1.560
|
||||
1.560 1.558 1.558 1.561 1.568 1.574 1.559 1.515 1.472 1.459 1.476 1.493 1.488 1.496 1.525 1.548 1.562 1.560
|
||||
1.560 1.557 1.559 1.561 1.564 1.566 1.553 1.532 1.526 1.540 1.567 1.578 1.564 1.564 1.575 1.576 1.564 1.560
|
||||
1.560 1.558 1.569 1.586 1.612 1.644 1.663 1.674 1.678 1.670 1.663 1.648 1.626 1.622 1.624 1.606 1.568 1.560
|
||||
1.560 1.560 1.581 1.616 1.673 1.740 1.784 1.801 1.794 1.764 1.724 1.687 1.673 1.680 1.676 1.637 1.573 1.560
|
||||
1.560 1.560 1.584 1.624 1.686 1.756 1.799 1.807 1.796 1.767 1.720 1.687 1.699 1.724 1.719 1.663 1.577 1.560
|
||||
1.560 1.559 1.577 1.608 1.655 1.707 1.740 1.745 1.740 1.723 1.683 1.677 1.717 1.752 1.746 1.679 1.578 1.560
|
||||
1.560 1.557 1.566 1.584 1.614 1.647 1.671 1.680 1.685 1.678 1.658 1.677 1.725 1.760 1.750 1.679 1.579 1.560
|
||||
1.560 1.556 1.558 1.566 1.582 1.601 1.618 1.629 1.639 1.640 1.639 1.661 1.698 1.723 1.713 1.655 1.574 1.560
|
||||
1.560 1.557 1.556 1.557 1.563 1.573 1.582 1.590 1.597 1.600 1.604 1.618 1.637 1.649 1.642 1.611 1.566 1.560
|
||||
1.560 1.560 1.557 1.555 1.555 1.555 1.557 1.558 1.559 1.560 1.561 1.563 1.567 1.569 1.570 1.566 1.560 1.560
|
||||
1.560 1.560 1.560 1.560 1.560 1.560 1.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.739 1.739 1.739 1.740 1.740 1.741 1.740 1.740 1.739 1.737 1.736 1.735 1.736 1.738 1.740 1.740
|
||||
1.740 1.739 1.739 1.741 1.744 1.748 1.750 1.748 1.740 1.730 1.719 1.710 1.702 1.698 1.706 1.721 1.738 1.740
|
||||
1.740 1.739 1.740 1.743 1.750 1.759 1.763 1.757 1.740 1.718 1.697 1.679 1.663 1.654 1.671 1.704 1.735 1.740
|
||||
1.740 1.739 1.741 1.747 1.758 1.772 1.780 1.768 1.738 1.704 1.674 1.652 1.633 1.624 1.648 1.693 1.734 1.740
|
||||
1.740 1.739 1.741 1.748 1.762 1.781 1.795 1.776 1.733 1.689 1.659 1.645 1.633 1.625 1.653 1.696 1.734 1.740
|
||||
1.740 1.739 1.740 1.744 1.754 1.769 1.775 1.748 1.700 1.666 1.656 1.661 1.654 1.652 1.681 1.712 1.737 1.740
|
||||
1.740 1.739 1.738 1.738 1.739 1.739 1.728 1.696 1.666 1.664 1.685 1.700 1.694 1.697 1.719 1.733 1.741 1.740
|
||||
1.740 1.738 1.738 1.738 1.736 1.734 1.724 1.710 1.708 1.723 1.749 1.759 1.746 1.743 1.750 1.751 1.743 1.740
|
||||
1.740 1.739 1.745 1.754 1.768 1.787 1.800 1.809 1.814 1.809 1.808 1.799 1.783 1.779 1.780 1.769 1.745 1.740
|
||||
1.740 1.740 1.752 1.772 1.806 1.850 1.880 1.892 1.888 1.868 1.843 1.818 1.810 1.814 1.811 1.787 1.748 1.740
|
||||
1.740 1.740 1.754 1.777 1.814 1.859 1.887 1.893 1.886 1.870 1.839 1.815 1.823 1.839 1.836 1.802 1.750 1.740
|
||||
1.740 1.739 1.749 1.767 1.795 1.826 1.848 1.853 1.852 1.844 1.815 1.810 1.835 1.855 1.852 1.811 1.751 1.740
|
||||
1.740 1.738 1.743 1.753 1.770 1.790 1.805 1.811 1.816 1.813 1.799 1.811 1.842 1.862 1.856 1.811 1.751 1.740
|
||||
1.740 1.738 1.738 1.742 1.750 1.762 1.772 1.780 1.786 1.787 1.787 1.800 1.823 1.839 1.833 1.797 1.748 1.740
|
||||
1.740 1.738 1.737 1.737 1.740 1.746 1.751 1.756 1.760 1.763 1.765 1.774 1.785 1.793 1.789 1.770 1.743 1.740
|
||||
1.740 1.740 1.738 1.737 1.737 1.737 1.738 1.738 1.739 1.740 1.740 1.742 1.744 1.745 1.746 1.743 1.740 1.740
|
||||
1.740 1.740 1.740 1.740 1.740 1.740 1.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.979 1.979 1.979 1.980 1.980 1.981 1.980 1.980 1.979 1.977 1.976 1.975 1.976 1.978 1.980 1.980
|
||||
1.980 1.980 1.979 1.979 1.979 1.980 1.982 1.982 1.980 1.978 1.974 1.971 1.965 1.955 1.961 1.975 1.980 1.980
|
||||
1.980 1.980 1.979 1.979 1.980 1.983 1.984 1.982 1.977 1.971 1.965 1.958 1.952 1.939 1.953 1.974 1.980 1.980
|
||||
1.980 1.980 1.979 1.979 1.981 1.987 1.999 1.994 1.980 1.967 1.956 1.957 1.958 1.944 1.959 1.974 1.980 1.980
|
||||
1.980 1.980 1.979 1.979 1.980 1.986 1.997 1.990 1.964 1.949 1.951 1.968 1.962 1.950 1.971 1.977 1.980 1.980
|
||||
1.980 1.980 1.979 1.977 1.976 1.972 1.969 1.946 1.926 1.939 1.964 1.980 1.967 1.968 1.984 1.982 1.980 1.980
|
||||
1.980 1.980 1.978 1.976 1.966 1.958 1.950 1.939 1.948 1.966 1.993 2.002 1.983 1.981 1.983 1.984 1.980 1.980
|
||||
1.980 1.980 1.979 1.979 1.978 1.980 1.982 1.995 2.004 1.993 1.996 1.995 1.981 1.980 1.986 1.986 1.980 1.980
|
||||
1.980 1.980 1.980 1.981 1.989 2.008 2.022 2.026 2.021 2.010 2.001 1.986 1.986 1.991 1.993 1.989 1.980 1.980
|
||||
1.980 1.980 1.980 1.982 1.989 2.006 2.012 2.008 2.003 2.006 1.994 1.973 1.982 1.996 1.999 1.991 1.980 1.980
|
||||
1.980 1.980 1.979 1.980 1.983 1.988 1.993 1.991 1.993 2.004 1.979 1.976 1.991 1.995 2.000 1.992 1.980 1.980
|
||||
1.980 1.980 1.978 1.978 1.979 1.982 1.984 1.984 1.990 1.992 1.975 1.986 2.003 2.007 2.006 1.992 1.980 1.980
|
||||
1.980 1.980 1.978 1.976 1.977 1.978 1.979 1.981 1.985 1.983 1.982 1.985 1.992 2.000 2.002 1.989 1.980 1.980
|
||||
1.980 1.980 1.978 1.977 1.977 1.977 1.978 1.978 1.979 1.980 1.980 1.982 1.984 1.985 1.986 1.983 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980 1.980
|
||||
1.980 1.980 1.980 1.980 1.980 1.980 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
|
||||
,OUTPUT DWS AT ITERATION 1
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 1.9 1.3 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.1 0.1 0.6 2.5 5.4 2.9 0.2 0.0
|
||||
0.0 0.0 0.0 0.0 0.4 2.1 1.4 0.7 0.7 1.6 2.7 3.4 3.6 2.0 0.4 0.0
|
||||
0.0 0.0 0.0 0.1 1.0 2.7 2.4 3.1 5.7 7.6 6.7 5.7 4.0 3.6 0.8 0.0
|
||||
0.0 0.0 0.0 0.3 1.1 2.5 3.5 6.4 8.8 9.4 9.8 9.2 6.3 5.5 1.0 0.0
|
||||
0.0 0.0 0.1 2.3 3.7 5.0 7.4 7.6 8.9 11.7 10.3 10.1 8.4 2.8 0.3 0.0
|
||||
0.0 0.0 0.3 3.2 5.1 7.6 8.4 7.6 8.5 11.0 11.0 11.3 7.3 1.7 0.2 0.0
|
||||
0.0 0.0 0.1 1.5 5.8 8.4 8.3 9.2 7.9 8.5 11.1 9.6 6.6 2.0 0.2 0.0
|
||||
0.0 0.0 0.0 0.3 2.2 3.5 5.7 7.6 6.2 6.8 7.1 4.5 3.6 1.5 0.2 0.0
|
||||
0.0 0.0 0.0 0.0 0.2 1.1 2.7 4.9 6.1 6.0 3.8 2.1 2.4 2.1 0.3 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.5 2.9 4.1 3.3 3.7 1.7 1.8 3.1 3.8 0.5 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.7 0.9 0.3 0.3 0.3 0.5 1.1 2.3 0.2 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.9 6.4 5.3 0.1 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.3 0.2 0.1 0.2 0.4 1.9 7.4 15.9 9.5 0.6 0.0
|
||||
0.0 0.0 0.0 0.0 1.9 6.1 3.8 2.2 2.6 5.9 8.8 10.9 11.1 6.5 1.4 0.0
|
||||
0.0 0.0 0.0 0.4 3.5 8.2 6.3 9.8 17.9 24.0 22.4 19.2 12.5 11.4 3.8 0.0
|
||||
0.0 0.0 0.1 1.2 3.9 8.1 10.3 19.5 26.7 28.8 29.8 28.7 19.4 16.2 4.3 0.0
|
||||
0.0 0.0 1.0 7.7 11.3 16.4 21.8 22.8 26.6 37.0 32.1 31.0 27.1 9.4 1.2 0.0
|
||||
0.0 0.0 1.6 11.2 17.0 23.3 24.2 21.8 24.9 33.4 34.3 35.3 24.6 5.9 0.6 0.0
|
||||
0.0 0.0 0.4 6.6 19.2 25.6 26.4 28.2 23.9 25.9 34.1 30.3 21.0 6.8 0.5 0.0
|
||||
0.0 0.0 0.0 2.0 8.2 12.0 19.6 24.5 19.3 22.2 23.0 14.1 11.7 5.3 0.6 0.0
|
||||
0.0 0.0 0.0 0.0 0.9 4.1 8.8 15.3 18.9 17.9 11.0 6.5 7.1 6.0 1.1 0.0
|
||||
0.0 0.0 0.0 0.0 0.1 1.8 9.4 13.1 11.6 11.9 5.8 4.9 8.5 10.6 2.3 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.2 3.3 3.7 1.5 1.5 1.1 1.8 3.7 6.8 1.9 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.2 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.2 1.9 10.8 8.8 0.1 0.0
|
||||
0.0 0.0 0.0 0.0 0.1 1.1 0.8 0.5 0.4 0.9 3.7 11.6 24.4 14.7 0.8 0.0
|
||||
0.0 0.0 0.0 0.1 3.8 12.7 9.4 5.3 5.7 10.7 14.1 16.5 17.9 9.9 1.6 0.0
|
||||
0.0 0.0 0.0 0.6 5.9 15.0 14.5 19.0 30.9 40.0 36.5 30.5 21.9 19.3 5.9 0.0
|
||||
0.0 0.0 0.1 2.3 7.5 13.8 19.9 35.6 47.9 50.5 50.8 45.7 31.4 26.6 7.5 0.0
|
||||
0.0 0.0 1.8 14.2 20.9 28.7 40.4 46.4 52.8 63.0 55.5 50.4 39.1 15.1 2.6 0.0
|
||||
0.0 0.0 2.3 18.3 31.1 44.2 49.1 46.3 49.2 59.0 58.0 55.3 35.2 10.0 1.7 0.0
|
||||
0.0 0.0 0.4 10.4 34.6 47.4 47.4 49.6 44.4 47.8 55.4 47.6 32.1 11.9 1.6 0.0
|
||||
0.0 0.0 0.0 3.9 15.4 21.6 31.5 39.7 35.0 39.0 38.8 25.9 21.5 10.6 1.8 0.0
|
||||
0.0 0.0 0.0 0.1 1.9 7.5 15.2 25.5 31.3 32.1 22.2 14.8 15.5 12.7 2.7 0.0
|
||||
0.0 0.0 0.0 0.0 0.1 3.2 15.9 21.3 19.0 21.1 11.8 10.2 18.0 22.3 5.7 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.4 5.9 6.3 2.4 2.7 1.7 3.0 7.7 14.8 4.8 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.2 0.5 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.2 0.5 2.7 12.8 10.0 0.1 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 1.4 1.3 0.9 0.9 1.6 5.2 14.1 27.7 16.3 0.7 0.0
|
||||
0.0 0.0 0.0 0.0 3.9 15.1 12.4 7.1 7.3 12.8 15.9 18.0 20.2 10.6 1.2 0.0
|
||||
0.0 0.0 0.0 0.5 5.3 16.5 19.0 22.9 34.9 43.3 38.1 31.8 24.9 21.6 5.9 0.0
|
||||
0.0 0.0 0.1 2.1 7.8 15.1 24.7 42.3 55.3 56.7 55.6 48.9 34.9 29.6 8.1 0.0
|
||||
0.0 0.0 1.8 15.6 24.0 32.4 48.4 56.3 63.0 67.6 60.1 54.1 38.9 16.1 3.1 0.0
|
||||
0.0 0.0 2.0 18.1 33.7 50.5 59.1 56.3 59.4 65.5 62.7 57.8 34.2 10.9 2.3 0.0
|
||||
0.0 0.0 0.2 9.8 36.5 51.6 51.0 54.2 51.4 54.3 59.6 50.2 33.2 13.3 2.3 0.0
|
||||
0.0 0.0 0.0 4.2 16.0 21.7 30.8 40.7 39.1 41.8 41.4 29.6 24.3 12.3 2.6 0.0
|
||||
0.0 0.0 0.0 0.1 1.8 7.3 16.3 27.4 33.1 36.1 26.6 18.5 19.1 15.3 3.6 0.0
|
||||
0.0 0.0 0.0 0.0 0.1 3.0 16.8 22.2 18.5 22.8 13.9 12.7 22.5 27.4 7.2 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.4 6.1 6.4 2.2 2.8 1.7 3.4 9.4 18.3 6.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.2 0.4 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0.4 0.8 3.5 15.1 11.3 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 1.6 1.7 1.4 1.5 2.5 6.9 16.7 31.2 17.8 0.6 0.0
|
||||
0.0 0.0 0.0 0.0 3.7 15.8 13.7 7.9 8.4 14.6 17.6 19.8 22.2 11.2 0.9 0.0
|
||||
0.0 0.0 0.0 0.3 4.2 16.6 21.0 24.7 36.8 44.5 38.2 32.2 27.1 23.2 5.9 0.0
|
||||
0.0 0.0 0.0 1.7 7.3 15.6 28.0 46.7 59.2 59.2 57.3 50.7 37.6 31.5 8.4 0.0
|
||||
0.0 0.0 1.6 16.1 25.3 34.4 53.0 61.4 67.7 68.3 61.0 55.2 38.6 16.4 3.2 0.0
|
||||
0.0 0.0 1.7 17.6 34.0 53.0 63.1 60.6 64.4 67.5 63.7 57.6 33.0 11.3 2.7 0.0
|
||||
0.0 0.0 0.1 8.9 35.5 51.4 50.5 54.9 54.1 56.1 60.7 50.8 33.2 13.8 2.6 0.0
|
||||
0.0 0.0 0.0 4.0 15.3 20.2 28.8 40.0 40.6 42.2 41.5 31.0 25.0 12.9 3.0 0.0
|
||||
0.0 0.0 0.0 0.0 1.5 6.3 16.4 28.4 33.5 37.7 28.4 19.9 20.7 16.3 4.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.1 2.6 16.7 22.2 17.4 22.9 14.7 14.1 24.8 29.7 7.9 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.3 6.0 6.3 1.9 2.7 1.6 3.5 10.2 20.0 6.6 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.1 0.1 0.2 0.4 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.0 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.2 0.5 0.9 3.6 14.4 10.6 0.0 0.0
|
||||
0.0 0.0 0.0 0.0 0.0 1.2 1.7 1.6 1.8 2.9 7.0 16.1 29.0 16.1 0.4 0.0
|
||||
0.0 0.0 0.0 0.0 2.6 13.0 11.7 6.9 7.4 13.2 16.1 18.3 20.1 9.7 0.6 0.0
|
||||
0.0 0.0 0.0 0.1 2.6 13.3 17.9 20.9 31.1 37.3 31.6 27.2 23.9 20.1 5.0 0.0
|
||||
0.0 0.0 0.0 1.0 5.4 13.0 24.8 40.9 50.7 49.7 47.8 42.9 32.9 27.5 7.0 0.0
|
||||
0.0 0.0 1.0 13.6 21.5 29.5 46.5 53.1 57.6 56.3 50.3 45.7 31.6 13.3 2.6 0.0
|
||||
0.0 0.0 1.0 14.2 28.0 45.0 53.7 51.3 55.2 55.8 52.2 46.5 26.1 9.3 2.3 0.0
|
||||
0.0 0.0 0.0 6.7 28.2 41.6 40.5 44.7 45.4 46.3 49.8 41.4 26.6 11.2 2.3 0.0
|
||||
0.0 0.0 0.0 3.1 11.7 15.2 22.3 32.3 34.1 34.5 33.8 25.6 20.4 10.5 2.6 0.0
|
||||
0.0 0.0 0.0 0.0 1.0 4.3 13.3 24.0 28.0 31.8 23.9 17.0 17.8 13.7 3.4 0.0
|
163
example/MOD
Normal file
163
example/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/MOD.true
Normal file
162
example/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
|
2048
example/Vs_model.real
Normal file
2048
example/Vs_model.real
Normal file
File diff suppressed because it is too large
Load Diff
1620
example/horizVs.eps
Normal file
1620
example/horizVs.eps
Normal file
File diff suppressed because it is too large
Load Diff
BIN
example/horizVs.pdf
Normal file
BIN
example/horizVs.pdf
Normal file
Binary file not shown.
1626
example/horizVs.ps
Normal file
1626
example/horizVs.ps
Normal file
File diff suppressed because it is too large
Load Diff
1619
example/horizVsnewrerun.ps
Normal file
1619
example/horizVsnewrerun.ps
Normal file
File diff suppressed because it is too large
Load Diff
8
example/lsmr.txt
Normal file
8
example/lsmr.txt
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
|
||||
Enter LSMR. Least-squares solution of Ax = b
|
||||
The matrix A has 4109 rows and 2048 columns
|
||||
damp = 0.00000000000000E+00
|
||||
atol = 1.00E-03 conlim = 1.20E+03
|
||||
btol = 1.00E-03 itnlim = 1000
|
||||
localSize (no. of vectors for local reorthogonalization) = 512
|
49
example/plotslicenewVs.gmt
Normal file
49
example/plotslicenewVs.gmt
Normal file
@ -0,0 +1,49 @@
|
||||
#!/bin/csh
|
||||
|
||||
#-----------------------------------------------------------
|
||||
# 2015-06-08 Hongjian Fang
|
||||
# example:csh plotslicenewVs.gmt DSurfTomo.inMeasure.dat 0.2 0.4 0.8 1.1
|
||||
#-----------------------------------------------------------
|
||||
|
||||
gmtset ANOT_FONT_SIZE 6
|
||||
gmtset LABEL_FONT_SIZE 6
|
||||
gmtset FRAME_WIDTH=0.1c
|
||||
gmtset LABEL_OFFSET=0.1c
|
||||
gmtset LABEL_FONT_SIZE=5p
|
||||
gmtset TICK_LENGTH=0.1c
|
||||
gmtset TICK_PEN=0.3p
|
||||
set inp3D = $1
|
||||
set ps = horizVs.ps
|
||||
set J = -JM2i #size for plot
|
||||
set cpt = slice.cpt
|
||||
|
||||
# start
|
||||
makecpt -Cseis -T0.6/1.5/0.1 > $cpt #velocity boundary
|
||||
set RMAP = `minmax -C $inp3D | awk '{print "-R"$1"/"$2"/"$3"/"$4}'`
|
||||
psbasemap $RMAP $J -Ba0.1f0.05WseN -P -K -Y5i >$ps
|
||||
awk '{if($3==depth1) print $1,$2,$4}' depth1=$2 $inp3D|xyz2grd -R -I0.017/0.015 -Gtmp.grd
|
||||
grdimage tmp.grd $J $RMAP -BSenW -E100 -C$cpt -O -K >> $ps
|
||||
rm -rf tmp.grd
|
||||
psscale -Cslice.cpt -Ba0.1f0.05:'S velocity (km/s)': -D1.0i/-0.15i/3.00/0.2h -O -K -P >> $ps
|
||||
|
||||
makecpt -Cseis -T0.8/1.8/0.1 > $cpt #velocity boundary
|
||||
psbasemap $RMAP $J -Ba0.1f0.05NwsE -P -K -O -X2.3i >>$ps
|
||||
awk '{if($3==depth2) print $1,$2,$4}' depth2=$3 $inp3D|xyz2grd -R -I0.017/0.015 -Gtmp.grd
|
||||
grdimage tmp.grd $J $RMAP -BSenW -E100 -C$cpt -O -K >> $ps
|
||||
psscale -Cslice.cpt -Ba0.2f0.1:'S velocity (km/s)': -D1.0i/-0.15i/3.00/0.2h -O -K -P >> $ps
|
||||
|
||||
makecpt -Cseis -T1.1/2.0/0.1 > $cpt #velocity boundary
|
||||
psbasemap $RMAP $J -Ba0.1f0.05WneS -P -K -O -Y-2.7i -X-2.3i >>$ps
|
||||
awk '{if($3==depth2) print $1,$2,$4}' depth2=$4 $inp3D|xyz2grd -R -I0.017/0.015 -Gtmp.grd
|
||||
grdimage tmp.grd $J $RMAP -BSenW -E100 -C$cpt -O -K >> $ps
|
||||
psscale -Cslice.cpt -Ba0.2f0.1:'S velocity (km/s)': -D1.0i/-0.25i/3.00/0.2h -O -K -P >> $ps
|
||||
|
||||
makecpt -Cseis -T1.3/2.4/0.1 > $cpt #velocity boundary
|
||||
psbasemap $RMAP $J -Ba0.1f0.05SwnE -P -K -O -X2.3i >>$ps
|
||||
awk '{if($3==depth2) print $1,$2,$4}' depth2=$5 $inp3D|xyz2grd -R -I0.017/0.015 -Gtmp.grd
|
||||
grdimage tmp.grd $J $RMAP -BSenW -E100 -C$cpt -O -K >> $ps
|
||||
psscale -Cslice.cpt -Ba0.2f0.1:'S velocity (km/s)': -D1.0i/-0.25i/3.00/0.2h -O -P >> $ps
|
||||
|
||||
rm *cpt *grd
|
||||
ps2eps -f $ps
|
||||
evince *eps &
|
143212
example/raypath.out
Normal file
143212
example/raypath.out
Normal file
File diff suppressed because it is too large
Load Diff
2061
example/residualFirst.dat
Normal file
2061
example/residualFirst.dat
Normal file
File diff suppressed because it is too large
Load Diff
2061
example/residualLast.dat
Normal file
2061
example/residualLast.dat
Normal file
File diff suppressed because it is too large
Load Diff
2510
example/surfdataTB.dat
Normal file
2510
example/surfdataTB.dat
Normal file
File diff suppressed because it is too large
Load Diff
32
scripts/GenerateIniMOD.py
Normal file
32
scripts/GenerateIniMOD.py
Normal file
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env python
|
||||
# how to run:
|
||||
# ./GenerateIniMOD.py
|
||||
# remember to move MOD to the directory where you want to run DSurfTomo
|
||||
import numpy as np
|
||||
|
||||
#parameters need to be changed
|
||||
#start
|
||||
nx=18
|
||||
ny=18
|
||||
nz=9
|
||||
minvel=0.9
|
||||
velgrad=0.6
|
||||
dep1=np.array([0,0.2,0.4,0.6,0.8,1.1,1.4,1.8,2.5])
|
||||
#end
|
||||
vs1=np.zeros(nz)
|
||||
mod=np.zeros((nz*ny,nx))
|
||||
for k in range(nz):
|
||||
for j in range(ny):
|
||||
for i in range(nx):
|
||||
mod[k*ny+j,i]= minvel+dep1[k]*velgrad
|
||||
with open('MOD','w') as fp:
|
||||
for i in range(nz):
|
||||
fp.write('%5.1f' % dep1[i])
|
||||
fp.write('\n')
|
||||
for k in range(nz):
|
||||
for j in range(ny):
|
||||
for i in range(nx):
|
||||
fp.write('%7.3f' % mod[k*ny+j,i])
|
||||
fp.write('\n')
|
||||
for i in range(nz):
|
||||
print dep1[i],
|
42
scripts/GenerateTrueMOD.py
Normal file
42
scripts/GenerateTrueMOD.py
Normal file
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env python
|
||||
# the checkerboard should use the initial model as background model, then add
|
||||
# some pertubations
|
||||
# remember to move MOD.true to the directory where you want to run DSurfTomo
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
#parameters you need to change
|
||||
#start
|
||||
nx=18
|
||||
ny=18
|
||||
nz=9
|
||||
minvel=0.9
|
||||
velgrad=0.6
|
||||
dep1=[0,0.2,0.4,0.6,0.8,1.1,1.4,1.8,2.5]
|
||||
anosize=1.0
|
||||
amplitude=0.4
|
||||
#end
|
||||
x=range(1,nx+1)
|
||||
y=range(1,ny+1)
|
||||
z=range(1,nz+1)
|
||||
z=np.ones(nz)
|
||||
bg=np.zeros((nz,nx,ny))
|
||||
cross=np.zeros((nz,ny))
|
||||
vs1=np.zeros(nz)
|
||||
xy=np.kron(np.sin(anosize*np.array(y)),np.sin(anosize*np.array(x)))
|
||||
xyz=np.kron(z,xy)
|
||||
pxy=xyz.reshape(nz,nx,ny)
|
||||
for k in range(nz):
|
||||
for j in range(ny):
|
||||
for i in range(nx):
|
||||
bg[k,i,j]= minvel+dep1[k]*velgrad
|
||||
mod=np.zeros((nz*ny,nx))
|
||||
for k in range(nz):
|
||||
for j in range(ny):
|
||||
for i in range(nx):
|
||||
mod[(k)*ny+j,i]=bg[k,i,j]+pxy[k,i,j]*amplitude
|
||||
k=5
|
||||
plt.imshow(mod[k*ny:(k+1)*ny,:],cmap='jet_r',interpolation='bicubic')
|
||||
np.savetxt('MOD.true',mod,fmt='%4.4f')
|
||||
plt.colorbar()
|
||||
plt.show()
|
||||
|
93
scripts/extractnew.py
Normal file
93
scripts/extractnew.py
Normal file
@ -0,0 +1,93 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# a python script to extract data for the direct inversion of
|
||||
# surface wave dispersion measurements
|
||||
# By Hongjian Fang @ USTC(fanghj@mail.ustc.edu.cn) 2014/04/24
|
||||
# the data format is
|
||||
# # sta1_lat sta1_lon nt iwave igr
|
||||
# sta2_lat sta2_lon phase/group velocity
|
||||
# ......
|
||||
import os
|
||||
import numpy as np
|
||||
'''how to use it?
|
||||
python extractSurfTomo.py > surfdata.dat
|
||||
remember to read note.txt after this
|
||||
and move surfdata.dat to the directory where you want to run DSurfTomo
|
||||
'''
|
||||
|
||||
# parameters need to change according to your case
|
||||
# start
|
||||
nsrc=20
|
||||
nrc=20
|
||||
nf=26
|
||||
MinP=0.5
|
||||
MaxP=3.0
|
||||
interval=0.1
|
||||
wavetp=2
|
||||
veltp=0
|
||||
d = {}
|
||||
d['TB01']=1
|
||||
d['TB02']=2
|
||||
d['TB03']=3
|
||||
d['TB04']=4
|
||||
d['TB05']=5
|
||||
d['TB06']=6
|
||||
d['TB07']=7
|
||||
d['TB08']=8
|
||||
d['TB09']=9
|
||||
d['TB10']=10
|
||||
d['TB11']=11
|
||||
d['TB12']=12
|
||||
d['TB13']=13
|
||||
d['TB14']=14
|
||||
d['TB15']=15
|
||||
d['TB16']=16
|
||||
d['TB17']=17
|
||||
d['TB18']=18
|
||||
d['TB19']=19
|
||||
d['TB20']=20
|
||||
#end
|
||||
|
||||
phav=np.zeros((nrc,nsrc,nf))
|
||||
sta1la=np.zeros((nrc,nsrc,nf))
|
||||
sta1lo=np.zeros((nrc,nsrc,nf))
|
||||
sta2la=np.zeros((nrc,nsrc,nf))
|
||||
sta2lo=np.zeros((nrc,nsrc,nf))
|
||||
for file in os.listdir('.'):
|
||||
if 'CD' in file:
|
||||
data=np.loadtxt(file)
|
||||
shape=data.shape
|
||||
# you may need to change the following 2 lines depend on your file name
|
||||
source=file.split('-')[0].split('.')[1]
|
||||
receiver=file.split('-')[1].split('.')[0]
|
||||
for i in range(2,shape[0]):
|
||||
if data[i,0]>=MinP and data[i,0]<=MaxP:
|
||||
f=np.int(np.rint((data[i,0]-MinP)/interval+1))
|
||||
rc=d[receiver]-1
|
||||
src=d[source]-1
|
||||
phav[rc,src,f-1]=data[i,1]
|
||||
sta1la[rc,src,f-1]=data[0,1]
|
||||
sta1lo[rc,src,f-1]=data[0,0]
|
||||
sta2la[rc,src,f-1]=data[1,1]
|
||||
sta2lo[rc,src,f-1]=data[1,0]
|
||||
|
||||
srclat=-999.9
|
||||
per=-999
|
||||
nsrcout=0
|
||||
|
||||
for ifr in range(nf):
|
||||
for isrc in range(nsrc):
|
||||
for irc in range(nrc):
|
||||
if phav[irc,isrc,ifr]>0:
|
||||
if np.abs(sta1la[irc,isrc,ifr]-srclat)>1e-4 or abs(ifr+1-per)>1e-4:
|
||||
nsrcout=nsrcout+1
|
||||
print ('%s %10.6f %10.6f %d %d %d') % ('#',sta1la[irc,isrc,ifr],sta1lo[irc,isrc,ifr],ifr+1,wavetp,veltp)
|
||||
print ('%10.6f %10.6f %6.4f') % (sta2la[irc,isrc,ifr],sta2lo[irc,isrc,ifr],phav[irc,isrc,ifr])
|
||||
else:
|
||||
print ('%10.6f %10.6f %6.4f') % (sta2la[irc,isrc,ifr],sta2lo[irc,isrc,ifr],phav[irc,isrc,ifr])
|
||||
srclat=sta1la[irc,isrc,ifr]
|
||||
per=ifr+1
|
||||
note=open('note.txt','w+')
|
||||
note.write('write this number to the eighth line in DSurfTomo.in\n')
|
||||
note.write(str(nsrcout))
|
||||
note.close()
|
48
scripts/plotslice.gmt
Normal file
48
scripts/plotslice.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
|
||||
#-----------------------------------------------------------
|
||||
|
||||
gmtset ANOT_FONT_SIZE 6
|
||||
gmtset LABEL_FONT_SIZE 6
|
||||
gmtset FRAME_WIDTH=0.1c
|
||||
gmtset LABEL_OFFSET=0.1c
|
||||
gmtset LABEL_FONT_SIZE=5p
|
||||
gmtset TICK_LENGTH=0.1c
|
||||
gmtset TICK_PEN=0.3p
|
||||
set inp3D = $1
|
||||
set ps = horizVsnew.ps
|
||||
set J = -JM2i #size for plot
|
||||
set cpt = slice.cpt
|
||||
|
||||
# start
|
||||
makecpt -Cseis -T0.6/1.5/0.1 > $cpt #velocity boundary
|
||||
set RMAP = `minmax -C $inp3D | awk '{print "-R"$1"/"$2"/"$3"/"$4}'`
|
||||
psbasemap $RMAP $J -Ba0.1f0.05WseN -P -K -Y5i >$ps
|
||||
awk '{if($3==depth1) print $1,$2,$4}' depth1=$2 $inp3D|xyz2grd -R -I0.017/0.015 -Gtmp.grd
|
||||
grdimage tmp.grd $J $RMAP -BSenW -E100 -C$cpt -O -K >> $ps
|
||||
rm -rf tmp.grd
|
||||
psscale -Cslice.cpt -Ba0.1f0.05:'S velocity (km/s)': -D1.0i/-0.15i/3.00/0.2h -O -K -P >> $ps
|
||||
|
||||
makecpt -Cseis -T0.8/1.8/0.1 > $cpt #velocity boundary
|
||||
psbasemap $RMAP $J -Ba0.1f0.05NwsE -P -K -O -X2.3i >>$ps
|
||||
awk '{if($3==depth2) print $1,$2,$4}' depth2=$3 $inp3D|xyz2grd -R -I0.017/0.015 -Gtmp.grd
|
||||
grdimage tmp.grd $J $RMAP -BSenW -E100 -C$cpt -O -K >> $ps
|
||||
psscale -Cslice.cpt -Ba0.2f0.1:'S velocity (km/s)': -D1.0i/-0.15i/3.00/0.2h -O -K -P >> $ps
|
||||
|
||||
makecpt -Cseis -T1.1/2.0/0.1 > $cpt #velocity boundary
|
||||
psbasemap $RMAP $J -Ba0.1f0.05WneS -P -K -O -Y-2.7i -X-2.3i >>$ps
|
||||
awk '{if($3==depth2) print $1,$2,$4}' depth2=$4 $inp3D|xyz2grd -R -I0.017/0.015 -Gtmp.grd
|
||||
grdimage tmp.grd $J $RMAP -BSenW -E100 -C$cpt -O -K >> $ps
|
||||
psscale -Cslice.cpt -Ba0.2f0.1:'S velocity (km/s)': -D1.0i/-0.25i/3.00/0.2h -O -K -P >> $ps
|
||||
|
||||
makecpt -Cseis -T1.3/2.4/0.1 > $cpt #velocity boundary
|
||||
psbasemap $RMAP $J -Ba0.1f0.05SwnE -P -K -O -X2.3i >>$ps
|
||||
awk '{if($3==depth2) print $1,$2,$4}' depth2=$5 $inp3D|xyz2grd -R -I0.017/0.015 -Gtmp.grd
|
||||
grdimage tmp.grd $J $RMAP -BSenW -E100 -C$cpt -O -K >> $ps
|
||||
psscale -Cslice.cpt -Ba0.2f0.1:'S velocity (km/s)': -D1.0i/-0.25i/3.00/0.2h -O -P >> $ps
|
||||
|
2835
srcsmooth/CalSurfG.f90
Normal file
2835
srcsmooth/CalSurfG.f90
Normal file
File diff suppressed because it is too large
Load Diff
BIN
srcsmooth/DSurfTomo
Executable file
BIN
srcsmooth/DSurfTomo
Executable file
Binary file not shown.
20
srcsmooth/Makefile
Normal file
20
srcsmooth/Makefile
Normal file
@ -0,0 +1,20 @@
|
||||
CMD = DSurfTomo
|
||||
FC = gfortran
|
||||
FFLAGS = -O3 -ffixed-line-length-none -ffloat-store\
|
||||
-W -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
|
||||
all:$(CMD)
|
||||
$(CMD):$(OBJS)
|
||||
$(FC) -fopenmp $^ -o $@
|
||||
CalSurfG.o:CalSurfG.f90
|
||||
$(FC) -fopenmp $(FFLAGS) -c $< -o $@
|
||||
%.o: %.f90
|
||||
$(FC) $(FFLAGS) -c $(@F:.o=.f90) -o $@
|
||||
%.o: %.f
|
||||
$(FC) $(FFLAGS) -c $(@F:.o=.f) -o $@
|
||||
clean:
|
||||
rm *.o *.mod $(CMD)
|
@ -47,7 +47,6 @@
|
||||
integer localSize
|
||||
real mean,std_devs,balances,balanceb
|
||||
integer msurf
|
||||
integer maxlevel,maxleveld
|
||||
real,parameter:: tolr=1e-4
|
||||
real,dimension(:),allocatable:: obst,dsyn,cbst,wt,dtres,dist,datweight
|
||||
real,dimension(:),allocatable:: pvall,depRp,pvRp
|
||||
@ -78,7 +77,6 @@
|
||||
integer HorizonType,VerticalType
|
||||
character line*200
|
||||
integer iter,maxiter
|
||||
integer iiter,initer
|
||||
integer maxnar
|
||||
real acond
|
||||
real anorm
|
||||
@ -97,7 +95,6 @@
|
||||
integer i,j,k
|
||||
real Minvel,MaxVel
|
||||
real spfra
|
||||
integer domain,normt
|
||||
real noiselevel
|
||||
integer ifsyn
|
||||
integer writepath
|
||||
@ -140,14 +137,11 @@
|
||||
read(10,*) nx,ny,nz
|
||||
read(10,*) goxd,gozd
|
||||
read(10,*) dvxd,dvzd
|
||||
read(10,*) nsrc,nrc
|
||||
read(10,*) nsrc
|
||||
read(10,*) weight0,damp
|
||||
read(10,*) minthk
|
||||
read(10,*) Minvel,Maxvel
|
||||
read(10,*) domain,normt
|
||||
read(10,*) HorizonType,VerticalType
|
||||
read(10,*) maxlevel,maxleveld
|
||||
read(10,*) maxiter,initer
|
||||
read(10,*) maxiter
|
||||
read(10,*) spfra
|
||||
read(10,*) kmaxRc
|
||||
write(*,*) 'model origin:latitude,longitue'
|
||||
@ -213,6 +207,7 @@
|
||||
read(10,*)noiselevel
|
||||
read(10,*) threshold0
|
||||
close(10)
|
||||
nrc=nsrc
|
||||
kmax=kmaxRc+kmaxRg+kmaxLc+kmaxLg
|
||||
|
||||
! READ MEASUREMENTS
|
||||
@ -364,8 +359,7 @@
|
||||
goxd,gozd,dvxd,dvzd,kmaxRc,kmaxRg,kmaxLc,kmaxLg,&
|
||||
tRc,tRg,tLc,tLg,wavetype,igrt,periods,depz,minthk,&
|
||||
scxf,sczf,rcxf,rczf,nrc1,nsrc1,knum1,kmax,&
|
||||
nsrc,nrc,nar,domain,&
|
||||
maxlevel,maxleveld,HorizonType,VerticalType,writepath)
|
||||
nsrc,nrc,nar,writepath)
|
||||
|
||||
do i = 1,dall
|
||||
cbst(i) = obst(i) - dsyn(i)
|
||||
@ -421,27 +415,7 @@
|
||||
weight=dnrm2(dall,cbst,1)**2/dall*weight0
|
||||
nar_tmp=nar
|
||||
nars=0
|
||||
if (domain == 0 .and. normt==0) then
|
||||
do i=1,maxvp
|
||||
rw(nar+i)=weight
|
||||
iw(1+nar+i)=dall+i
|
||||
col(nar+i)=i
|
||||
cbst(dall+i)=0
|
||||
enddo
|
||||
nar = nar + maxvp
|
||||
m = dall + maxvp
|
||||
n = maxvp
|
||||
elseif(domain == 0 .and. normt/=0) then
|
||||
do i=1,maxvp
|
||||
rw(nar+i)=weight
|
||||
iw(1+nar+i)=dall+i
|
||||
col(nar+i)=i
|
||||
cbst(dall+i)=0
|
||||
enddo
|
||||
nar = nar + maxvp
|
||||
m = dall + maxvp
|
||||
n = maxvp
|
||||
else
|
||||
|
||||
count3=0
|
||||
nvz=ny-2
|
||||
nvx=nx-2
|
||||
@ -486,9 +460,6 @@
|
||||
enddo
|
||||
m = dall + count3
|
||||
n = maxvp
|
||||
nars = nar - nar_tmp
|
||||
rw(nar+1:nar+nars) = rw(nar_tmp+1:nar)
|
||||
endif
|
||||
|
||||
iw(1)=nar
|
||||
do i=1,nar
|
||||
@ -518,110 +489,6 @@
|
||||
if(istop==3) print*,'istop = 3, large condition number'
|
||||
|
||||
|
||||
if (domain == 0.and.normt==0) then
|
||||
do iiter = 1, initer
|
||||
dtres=-cbst
|
||||
call aprod(1,m,n,dv,dtres,leniw,lenrw,iw,rw)
|
||||
do i=1,m
|
||||
if(abs(dtres(i)).lt.tolr) then
|
||||
wt(i)= 1.0/sqrt(abs(tolr))
|
||||
else
|
||||
wt(i)=1.0/sqrt(abs(dtres(i)))
|
||||
endif
|
||||
enddo
|
||||
do i=1,nar
|
||||
rw(i)=rw(i)*wt(iw(i+1))
|
||||
enddo
|
||||
do i=1,m
|
||||
dtres(i)=cbst(i)*wt(i)
|
||||
enddo
|
||||
|
||||
dv = 0
|
||||
atol = 1e-3
|
||||
btol = 1e-3
|
||||
conlim = 1200
|
||||
itnlim = 1000
|
||||
istop = 0
|
||||
anorm = 0.0
|
||||
acond = 0.0
|
||||
arnorm = 0.0
|
||||
xnorm = 0.0
|
||||
|
||||
|
||||
call LSMR(m, n, leniw, lenrw,iw,rw,dtres, damp,&
|
||||
atol, btol, conlim, itnlim, localSize, nout,&
|
||||
dv, istop, itn, anorm, acond, rnorm, arnorm, xnorm)
|
||||
if(istop==3) print*,'istop = 3, large condition number'
|
||||
|
||||
do i=1,nar
|
||||
rw(i)=rw(i)/wt(iw(i+1))
|
||||
enddo
|
||||
|
||||
enddo ! finish inter interations for IRLS
|
||||
endif
|
||||
|
||||
|
||||
if(domain==0.and.normt/=0) then
|
||||
do iiter = 1, initer
|
||||
do i=1,n
|
||||
if (abs(dv(i)).lt.tolr) then
|
||||
rw(nar_tmp+i)=1.0/sqrt(tolr)*weight
|
||||
else
|
||||
rw(nar_tmp+i)=sqrt(1.0/abs(dv(i)))*weight
|
||||
endif
|
||||
enddo
|
||||
dv = 0
|
||||
atol = 1e-3
|
||||
btol = 1e-3
|
||||
conlim = 1200
|
||||
itnlim = 1000
|
||||
istop = 0
|
||||
anorm = 0.0
|
||||
acond = 0.0
|
||||
arnorm = 0.0
|
||||
xnorm = 0.0
|
||||
|
||||
call LSMR(m, n, leniw, lenrw,iw,rw,cbst, damp,&
|
||||
atol, btol, conlim, itnlim, localSize, nout,&
|
||||
dv, istop, itn, anorm, acond, rnorm, arnorm, xnorm)
|
||||
if(istop==3) print*,'istop = 3, large condition number'
|
||||
enddo
|
||||
endif
|
||||
|
||||
|
||||
|
||||
if (domain/=0)then
|
||||
do iiter = 1,initer
|
||||
|
||||
dtres = 0
|
||||
call aprod(1,m,n,dv,dtres,leniw,lenrw,iw,rw)
|
||||
do i = nar_tmp+1,nar
|
||||
if(abs(dtres(iw(1+i)))<tolr) then
|
||||
rw(i)=1/sqrt(tolr)*rw(i+nars)
|
||||
else
|
||||
rw(i)=sqrt(1.0/abs(dtres(iw(1+i))))*rw(i+nars)
|
||||
endif
|
||||
enddo
|
||||
dv = 0
|
||||
atol = 1e-3
|
||||
btol = 1e-3
|
||||
conlim = 1200
|
||||
itnlim = 1000
|
||||
istop = 0
|
||||
anorm = 0.0
|
||||
acond = 0.0
|
||||
arnorm = 0.0
|
||||
xnorm = 0.0
|
||||
|
||||
|
||||
call LSMR(m, n, leniw, lenrw,iw,rw,cbst, damp,&
|
||||
atol, btol, conlim, itnlim, localSize, nout,&
|
||||
dv, istop, itn, anorm, acond, rnorm, arnorm, xnorm)
|
||||
if(istop==3) print*,'istop = 3, large condition number'
|
||||
|
||||
enddo
|
||||
endif
|
||||
|
||||
mean = sum(cbst(1:dall))/dall
|
||||
std_devs = sqrt(sum(cbst(1:dall)**2)/dall - mean**2)
|
||||
write(*,'(i2,a)'),iter,'th iteration...'
|
||||
@ -635,11 +502,6 @@
|
||||
residual: ',mean*1000,'ms ',1000*std_devs,'ms ',&
|
||||
dnrm2(dall,cbst,1)**2/dall
|
||||
|
||||
if (domain == 0) then
|
||||
call invwavetrans(nx-2,ny-2,nz-1,dv,maxlevel,maxleveld,&
|
||||
HorizonType,VerticalType)
|
||||
endif
|
||||
|
||||
write(*,'(a,2f7.4)'),'min and max velocity variation ',&
|
||||
minval(dv),maxval(dv)
|
||||
write(66,'(a,2f7.4)'),'min and max velocity variation ',&
|
||||
@ -682,12 +544,14 @@
|
||||
|
||||
if(ifsyn == 1) then
|
||||
open(65,file='Vs_model.real')
|
||||
write(outsyn,'(a,a)') trim(inputfile),'Syn.dat'
|
||||
write(outsyn,'(a,a)') trim(inputfile),'Syn.dat'
|
||||
open(63,file=outsyn)
|
||||
do k=1,nz
|
||||
do j=1,ny
|
||||
write(65,'(100f7.3)') (vsftrue(i,j,k),i=1,nx)
|
||||
write(63,'(100f7.3)') (vsf(i,j,k),i=1,nx)
|
||||
do k=1,nz-1
|
||||
do j=1,ny-2
|
||||
do i=1,nx-2
|
||||
write(65,'(5f8.4)') gozd+(j-1)*dvzd,goxd-(i-1)*dvxd,depz(k),vsftrue(i,j,k)
|
||||
write(63,'(5f8.4)') gozd+(j-1)*dvzd,goxd-(i-1)*dvxd,depz(k),vsf(i,j,k)
|
||||
enddo
|
||||
enddo
|
||||
enddo
|
||||
close(65)
|
||||
@ -703,9 +567,11 @@
|
||||
else
|
||||
write(outmodel,'(a,a)') trim(inputfile),'Measure.dat'
|
||||
open(64,file=outmodel)
|
||||
do k=1,nz
|
||||
do j=1,ny
|
||||
write(64,'(100f7.3)') (vsf(i,j,k),i=1,nx)
|
||||
do k=1,nz-1
|
||||
do j=1,ny-2
|
||||
do i=1,nx-2
|
||||
write(64,'(5f8.4)') gozd+(j-1)*dvzd,goxd-(i-1)*dvxd,depz(k),vsf(i,j,k)
|
||||
enddo
|
||||
enddo
|
||||
enddo
|
||||
close(64)
|
@ -1341,7 +1341,7 @@ enddo
|
||||
call wavelettrans(nvx,nvz,nz-1,row,maxlevel,maxleveld,HorizonType,VerticalType)
|
||||
endif
|
||||
do nn=1,nparpi
|
||||
if(abs(row(nn)).gt.1e-2) then
|
||||
if(abs(row(nn)).gt.ftol) then
|
||||
nar=nar+1
|
||||
rw(nar)=real(row(nn))
|
||||
iw(nar+1)= count1
|
60
srcsparsity/aprod.f90
Normal file
60
srcsparsity/aprod.f90
Normal file
@ -0,0 +1,60 @@
|
||||
!c--- This file is from hypoDD by Felix Waldhauser ---------
|
||||
!c-------------------------Modified by Haijiang Zhang-------
|
||||
!c Multiply a matrix by a vector
|
||||
!c Version for use with sparse matrix specified by
|
||||
!c output of subroutine sparse for use with LSQR
|
||||
|
||||
subroutine aprod(mode, m, n, x, y, leniw, lenrw, iw, rw)
|
||||
|
||||
implicit none
|
||||
|
||||
!c Parameters:
|
||||
integer mode ! ==1: Compute y = y + a*x
|
||||
! y is altered without changing x
|
||||
! ==2: Compute x = x + a(transpose)*y
|
||||
! x is altered without changing y
|
||||
integer m, n ! Row and column dimensions of a
|
||||
real x(n), y(m) ! Input vectors
|
||||
integer :: leniw
|
||||
integer lenrw
|
||||
integer iw(leniw) ! Integer work vector containing:
|
||||
! iw[1] Number of non-zero elements in a
|
||||
! iw[2:iw[1]+1] Row indices of non-zero elements
|
||||
! iw[iw[1]+2:2*iw[1]+1] Column indices
|
||||
real rw(lenrw) ! [1..iw[1]] Non-zero elements of a
|
||||
|
||||
!c Local variables:
|
||||
integer i1
|
||||
integer j1
|
||||
integer k
|
||||
integer kk
|
||||
|
||||
!c set the ranges the indices in vector iw
|
||||
|
||||
kk=iw(1)
|
||||
i1=1
|
||||
j1=kk+1
|
||||
|
||||
!c main iteration loop
|
||||
|
||||
do k = 1,kk
|
||||
|
||||
if (mode.eq.1) then
|
||||
|
||||
!c compute y = y + a*x
|
||||
|
||||
y(iw(i1+k)) = y(iw(i1+k)) + rw(k)*x(iw(j1+k))
|
||||
|
||||
else
|
||||
|
||||
!c compute x = x + a(transpose)*y
|
||||
|
||||
x(iw(j1+k)) = x(iw(j1+k)) + rw(k)*y(iw(i1+k))
|
||||
|
||||
endif
|
||||
enddo
|
||||
|
||||
! 100 continue
|
||||
|
||||
return
|
||||
end
|
28
srcsparsity/delsph.f90
Normal file
28
srcsparsity/delsph.f90
Normal file
@ -0,0 +1,28 @@
|
||||
subroutine delsph(flat1,flon1,flat2,flon2,del)
|
||||
implicit none
|
||||
real,parameter:: R=6371.0
|
||||
REAL,parameter:: pi=3.1415926535898
|
||||
real flat1,flat2
|
||||
real flon1,flon2
|
||||
real del
|
||||
|
||||
real dlat
|
||||
real dlon
|
||||
real lat1
|
||||
real lat2
|
||||
real a
|
||||
real c
|
||||
|
||||
|
||||
!dlat=(flat2-flat1)*pi/180
|
||||
!dlon=(flon2-flon1)*pi/180
|
||||
!lat1=flat1*pi/180
|
||||
!lat2=flat2*pi/180
|
||||
dlat=flat2-flat1
|
||||
dlon=flon2-flon1
|
||||
lat1=pi/2-flat1
|
||||
lat2=pi/2-flat2
|
||||
a=sin(dlat/2)*sin(dlat/2)+sin(dlon/2)*sin(dlon/2)*cos(lat1)*cos(lat2)
|
||||
c=2*atan2(sqrt(a),sqrt(1-a))
|
||||
del=R*c
|
||||
end subroutine
|
31
srcsparsity/gaussian.f90
Normal file
31
srcsparsity/gaussian.f90
Normal file
@ -0,0 +1,31 @@
|
||||
real function gaussian()
|
||||
implicit none
|
||||
! real rd
|
||||
|
||||
real x1,x2,w,y1
|
||||
real y2
|
||||
real n1,n2
|
||||
integer use_last
|
||||
integer ii,jj
|
||||
|
||||
use_last=0
|
||||
y2=0
|
||||
w=2.0
|
||||
if(use_last.ne.0) then
|
||||
y1=y2
|
||||
use_last=0
|
||||
else
|
||||
do while (w.ge.1.0)
|
||||
call random_number(n1)
|
||||
call random_number(n2)
|
||||
x1=2.0*n1-1.0
|
||||
x2=2.0*n2-1.0
|
||||
w = x1 * x1 + x2 * x2
|
||||
enddo
|
||||
w=((-2.0*log(w))/w)**0.5
|
||||
y1=x1*w
|
||||
y2=x2*w
|
||||
use_last=1
|
||||
endif
|
||||
gaussian=y1
|
||||
end function
|
24
srcsparsity/lsmrDataModule.f90
Normal file
24
srcsparsity/lsmrDataModule.f90
Normal file
@ -0,0 +1,24 @@
|
||||
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
! File lsmrDataModule.f90
|
||||
!
|
||||
! Defines real(dp) and a few constants for use in other modules.
|
||||
!
|
||||
! 24 Oct 2007: Allows floating-point precision dp to be defined
|
||||
! in exactly one place (here). Note that we need
|
||||
! use lsmrDataModule
|
||||
! at the beginning of modules AND inside interfaces.
|
||||
! zero and one are not currently used by LSMR,
|
||||
! but this shows how they should be declared
|
||||
! by a user routine that does need them.
|
||||
! 16 Jul 2010: LSMR version derived from LSQR equivalent.
|
||||
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
module lsmrDataModule
|
||||
|
||||
implicit none
|
||||
|
||||
intrinsic :: selected_real_kind
|
||||
integer, parameter, public :: dp = selected_real_kind(4)
|
||||
real(dp), parameter, public :: zero = 0.0_dp, one = 1.0_dp
|
||||
|
||||
end module lsmrDataModule
|
754
srcsparsity/lsmrModule.f90
Normal file
754
srcsparsity/lsmrModule.f90
Normal file
@ -0,0 +1,754 @@
|
||||
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
! File lsmrModule.f90
|
||||
!
|
||||
! LSMR
|
||||
!
|
||||
! LSMR solves Ax = b or min ||Ax - b|| with or without damping,
|
||||
! using the iterative algorithm of David Fong and Michael Saunders:
|
||||
! http://www.stanford.edu/group/SOL/software/lsmr.html
|
||||
!
|
||||
! Maintained by
|
||||
! David Fong <clfong@stanford.edu>
|
||||
! Michael Saunders <saunders@stanford.edu>
|
||||
! Systems Optimization Laboratory (SOL)
|
||||
! Stanford University
|
||||
! Stanford, CA 94305-4026, USA
|
||||
!
|
||||
! 17 Jul 2010: F90 LSMR derived from F90 LSQR and lsqr.m.
|
||||
! 07 Sep 2010: Local reorthogonalization now works (localSize > 0).
|
||||
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
module lsmrModule
|
||||
|
||||
use lsmrDataModule, only : dp
|
||||
use lsmrblasInterface, only : dnrm2, dscal
|
||||
implicit none
|
||||
private
|
||||
public :: LSMR
|
||||
|
||||
contains
|
||||
|
||||
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
! subroutine LSMR ( m, n, Aprod1, Aprod2, b, damp, &
|
||||
! atol, btol, conlim, itnlim, localSize, nout, &
|
||||
! x, istop, itn, normA, condA, normr, normAr, normx )
|
||||
subroutine LSMR ( m, n, leniw, lenrw,iw,rw, b, damp, &
|
||||
atol, btol, conlim, itnlim, localSize, nout, &
|
||||
x, istop, itn, normA, condA, normr, normAr, normx )
|
||||
|
||||
integer, intent(in) :: leniw
|
||||
integer, intent(in) :: lenrw
|
||||
integer, intent(in) :: iw(leniw)
|
||||
real, intent(in) :: rw(lenrw)
|
||||
|
||||
integer, intent(in) :: m, n, itnlim, localSize, nout
|
||||
integer, intent(out) :: istop, itn
|
||||
real(dp), intent(in) :: b(m)
|
||||
real(dp), intent(out) :: x(n)
|
||||
real(dp), intent(in) :: atol, btol, conlim, damp
|
||||
real(dp), intent(out) :: normA, condA, normr, normAr, normx
|
||||
|
||||
interface
|
||||
subroutine aprod(mode,m,n,x,y,leniw,lenrw,iw,rw) ! y := y + A*x
|
||||
use lsmrDataModule, only : dp
|
||||
integer, intent(in) :: mode,lenrw
|
||||
integer, intent(in) :: leniw
|
||||
real, intent(in) :: rw(lenrw)
|
||||
integer, intent(in) :: iw(leniw)
|
||||
integer, intent(in) :: m,n
|
||||
real(dp), intent(inout) :: x(n)
|
||||
real(dp), intent(inout) :: y(m)
|
||||
end subroutine aprod
|
||||
! subroutine Aprod1(m,n,x,y) ! y := y + A*x
|
||||
! use lsmrDataModule, only : dp
|
||||
! integer, intent(in) :: m,n
|
||||
! real(dp), intent(in) :: x(n)
|
||||
! real(dp), intent(inout) :: y(m)
|
||||
! end subroutine Aprod1
|
||||
!
|
||||
! subroutine Aprod2(m,n,x,y) ! x := x + A'*y
|
||||
! use lsmrDataModule, only : dp
|
||||
! integer, intent(in) :: m,n
|
||||
! real(dp), intent(inout) :: x(n)
|
||||
! real(dp), intent(in) :: y(m)
|
||||
! end subroutine Aprod2
|
||||
end interface
|
||||
|
||||
!-------------------------------------------------------------------
|
||||
! LSMR finds a solution x to the following problems:
|
||||
!
|
||||
! 1. Unsymmetric equations: Solve A*x = b
|
||||
!
|
||||
! 2. Linear least squares: Solve A*x = b
|
||||
! in the least-squares sense
|
||||
!
|
||||
! 3. Damped least squares: Solve ( A )*x = ( b )
|
||||
! ( damp*I ) ( 0 )
|
||||
! in the least-squares sense
|
||||
!
|
||||
! where A is a matrix with m rows and n columns, b is an m-vector,
|
||||
! and damp is a scalar. (All quantities are real.)
|
||||
! The matrix A is treated as a linear operator. It is accessed
|
||||
! by means of subroutine calls with the following purpose:
|
||||
!
|
||||
! call Aprod1(m,n,x,y) must compute y = y + A*x without altering x.
|
||||
! call Aprod2(m,n,x,y) must compute x = x + A'*y without altering y.
|
||||
!
|
||||
! LSMR uses an iterative method to approximate the solution.
|
||||
! The number of iterations required to reach a certain accuracy
|
||||
! depends strongly on the scaling of the problem. Poor scaling of
|
||||
! the rows or columns of A should therefore be avoided where
|
||||
! possible.
|
||||
!
|
||||
! For example, in problem 1 the solution is unaltered by
|
||||
! row-scaling. If a row of A is very small or large compared to
|
||||
! the other rows of A, the corresponding row of ( A b ) should be
|
||||
! scaled up or down.
|
||||
!
|
||||
! In problems 1 and 2, the solution x is easily recovered
|
||||
! following column-scaling. Unless better information is known,
|
||||
! the nonzero columns of A should be scaled so that they all have
|
||||
! the same Euclidean norm (e.g., 1.0).
|
||||
!
|
||||
! In problem 3, there is no freedom to re-scale if damp is
|
||||
! nonzero. However, the value of damp should be assigned only
|
||||
! after attention has been paid to the scaling of A.
|
||||
!
|
||||
! The parameter damp is intended to help regularize
|
||||
! ill-conditioned systems, by preventing the true solution from
|
||||
! being very large. Another aid to regularization is provided by
|
||||
! the parameter condA, which may be used to terminate iterations
|
||||
! before the computed solution becomes very large.
|
||||
!
|
||||
! Note that x is not an input parameter.
|
||||
! If some initial estimate x0 is known and if damp = 0,
|
||||
! one could proceed as follows:
|
||||
!
|
||||
! 1. Compute a residual vector r0 = b - A*x0.
|
||||
! 2. Use LSMR to solve the system A*dx = r0.
|
||||
! 3. Add the correction dx to obtain a final solution x = x0 + dx.
|
||||
!
|
||||
! This requires that x0 be available before and after the call
|
||||
! to LSMR. To judge the benefits, suppose LSMR takes k1 iterations
|
||||
! to solve A*x = b and k2 iterations to solve A*dx = r0.
|
||||
! If x0 is "good", norm(r0) will be smaller than norm(b).
|
||||
! If the same stopping tolerances atol and btol are used for each
|
||||
! system, k1 and k2 will be similar, but the final solution x0 + dx
|
||||
! should be more accurate. The only way to reduce the total work
|
||||
! is to use a larger stopping tolerance for the second system.
|
||||
! If some value btol is suitable for A*x = b, the larger value
|
||||
! btol*norm(b)/norm(r0) should be suitable for A*dx = r0.
|
||||
!
|
||||
! Preconditioning is another way to reduce the number of iterations.
|
||||
! If it is possible to solve a related system M*x = b efficiently,
|
||||
! where M approximates A in some helpful way
|
||||
! (e.g. M - A has low rank or its elements are small relative to
|
||||
! those of A), LSMR may converge more rapidly on the system
|
||||
! A*M(inverse)*z = b,
|
||||
! after which x can be recovered by solving M*x = z.
|
||||
!
|
||||
! NOTE: If A is symmetric, LSMR should not be used!
|
||||
! Alternatives are the symmetric conjugate-gradient method (CG)
|
||||
! and/or SYMMLQ.
|
||||
! SYMMLQ is an implementation of symmetric CG that applies to
|
||||
! any symmetric A and will converge more rapidly than LSMR.
|
||||
! If A is positive definite, there are other implementations of
|
||||
! symmetric CG that require slightly less work per iteration
|
||||
! than SYMMLQ (but will take the same number of iterations).
|
||||
!
|
||||
!
|
||||
! Notation
|
||||
! --------
|
||||
! The following quantities are used in discussing the subroutine
|
||||
! parameters:
|
||||
!
|
||||
! Abar = ( A ), bbar = (b)
|
||||
! (damp*I) (0)
|
||||
!
|
||||
! r = b - A*x, rbar = bbar - Abar*x
|
||||
!
|
||||
! normr = sqrt( norm(r)**2 + damp**2 * norm(x)**2 )
|
||||
! = norm( rbar )
|
||||
!
|
||||
! eps = the relative precision of floating-point arithmetic.
|
||||
! On most machines, eps is about 1.0e-7 and 1.0e-16
|
||||
! in single and double precision respectively.
|
||||
! We expect eps to be about 1e-16 always.
|
||||
!
|
||||
! LSMR minimizes the function normr with respect to x.
|
||||
!
|
||||
!
|
||||
! Parameters
|
||||
! ----------
|
||||
! m input m, the number of rows in A.
|
||||
!
|
||||
! n input n, the number of columns in A.
|
||||
!
|
||||
! Aprod1, Aprod2 See above.
|
||||
!
|
||||
! damp input The damping parameter for problem 3 above.
|
||||
! (damp should be 0.0 for problems 1 and 2.)
|
||||
! If the system A*x = b is incompatible, values
|
||||
! of damp in the range 0 to sqrt(eps)*norm(A)
|
||||
! will probably have a negligible effect.
|
||||
! Larger values of damp will tend to decrease
|
||||
! the norm of x and reduce the number of
|
||||
! iterations required by LSMR.
|
||||
!
|
||||
! The work per iteration and the storage needed
|
||||
! by LSMR are the same for all values of damp.
|
||||
!
|
||||
! b(m) input The rhs vector b.
|
||||
!
|
||||
! x(n) output Returns the computed solution x.
|
||||
!
|
||||
! atol input An estimate of the relative error in the data
|
||||
! defining the matrix A. For example, if A is
|
||||
! accurate to about 6 digits, set atol = 1.0e-6.
|
||||
!
|
||||
! btol input An estimate of the relative error in the data
|
||||
! defining the rhs b. For example, if b is
|
||||
! accurate to about 6 digits, set btol = 1.0e-6.
|
||||
!
|
||||
! conlim input An upper limit on cond(Abar), the apparent
|
||||
! condition number of the matrix Abar.
|
||||
! Iterations will be terminated if a computed
|
||||
! estimate of cond(Abar) exceeds conlim.
|
||||
! This is intended to prevent certain small or
|
||||
! zero singular values of A or Abar from
|
||||
! coming into effect and causing unwanted growth
|
||||
! in the computed solution.
|
||||
!
|
||||
! conlim and damp may be used separately or
|
||||
! together to regularize ill-conditioned systems.
|
||||
!
|
||||
! Normally, conlim should be in the range
|
||||
! 1000 to 1/eps.
|
||||
! Suggested value:
|
||||
! conlim = 1/(100*eps) for compatible systems,
|
||||
! conlim = 1/(10*sqrt(eps)) for least squares.
|
||||
!
|
||||
! Note: Any or all of atol, btol, conlim may be set to zero.
|
||||
! The effect will be the same as the values eps, eps, 1/eps.
|
||||
!
|
||||
! itnlim input An upper limit on the number of iterations.
|
||||
! Suggested value:
|
||||
! itnlim = n/2 for well-conditioned systems
|
||||
! with clustered singular values,
|
||||
! itnlim = 4*n otherwise.
|
||||
!
|
||||
! localSize input No. of vectors for local reorthogonalization.
|
||||
! 0 No reorthogonalization is performed.
|
||||
! >0 This many n-vectors "v" (the most recent ones)
|
||||
! are saved for reorthogonalizing the next v.
|
||||
! localSize need not be more than min(m,n).
|
||||
! At most min(m,n) vectors will be allocated.
|
||||
!
|
||||
! nout input File number for printed output. If positive,
|
||||
! a summary will be printed on file nout.
|
||||
!
|
||||
! istop output An integer giving the reason for termination:
|
||||
!
|
||||
! 0 x = 0 is the exact solution.
|
||||
! No iterations were performed.
|
||||
!
|
||||
! 1 The equations A*x = b are probably compatible.
|
||||
! Norm(A*x - b) is sufficiently small, given the
|
||||
! values of atol and btol.
|
||||
!
|
||||
! 2 damp is zero. The system A*x = b is probably
|
||||
! not compatible. A least-squares solution has
|
||||
! been obtained that is sufficiently accurate,
|
||||
! given the value of atol.
|
||||
!
|
||||
! 3 damp is nonzero. A damped least-squares
|
||||
! solution has been obtained that is sufficiently
|
||||
! accurate, given the value of atol.
|
||||
!
|
||||
! 4 An estimate of cond(Abar) has exceeded conlim.
|
||||
! The system A*x = b appears to be ill-conditioned,
|
||||
! or there could be an error in Aprod1 or Aprod2.
|
||||
!
|
||||
! 5 The iteration limit itnlim was reached.
|
||||
!
|
||||
! itn output The number of iterations performed.
|
||||
!
|
||||
! normA output An estimate of the Frobenius norm of Abar.
|
||||
! This is the square-root of the sum of squares
|
||||
! of the elements of Abar.
|
||||
! If damp is small and the columns of A
|
||||
! have all been scaled to have length 1.0,
|
||||
! normA should increase to roughly sqrt(n).
|
||||
! A radically different value for normA may
|
||||
! indicate an error in Aprod1 or Aprod2.
|
||||
!
|
||||
! condA output An estimate of cond(Abar), the condition
|
||||
! number of Abar. A very high value of condA
|
||||
! may again indicate an error in Aprod1 or Aprod2.
|
||||
!
|
||||
! normr output An estimate of the final value of norm(rbar),
|
||||
! the function being minimized (see notation
|
||||
! above). This will be small if A*x = b has
|
||||
! a solution.
|
||||
!
|
||||
! normAr output An estimate of the final value of
|
||||
! norm( Abar'*rbar ), the norm of
|
||||
! the residual for the normal equations.
|
||||
! This should be small in all cases. (normAr
|
||||
! will often be smaller than the true value
|
||||
! computed from the output vector x.)
|
||||
!
|
||||
! normx output An estimate of norm(x) for the final solution x.
|
||||
!
|
||||
! Subroutines and functions used
|
||||
! ------------------------------
|
||||
! BLAS dscal, dnrm2
|
||||
! USER Aprod1, Aprod2
|
||||
!
|
||||
! Precision
|
||||
! ---------
|
||||
! The number of iterations required by LSMR will decrease
|
||||
! if the computation is performed in higher precision.
|
||||
! At least 15-digit arithmetic should normally be used.
|
||||
! "real(dp)" declarations should normally be 8-byte words.
|
||||
! If this ever changes, the BLAS routines dnrm2, dscal
|
||||
! (Lawson, et al., 1979) will also need to be changed.
|
||||
!
|
||||
!
|
||||
! Reference
|
||||
! ---------
|
||||
! http://www.stanford.edu/group/SOL/software/lsmr.html
|
||||
! ------------------------------------------------------------------
|
||||
!
|
||||
! LSMR development:
|
||||
! 21 Sep 2007: Fortran 90 version of LSQR implemented.
|
||||
! Aprod1, Aprod2 implemented via f90 interface.
|
||||
! 17 Jul 2010: LSMR derived from LSQR and lsmr.m.
|
||||
! 07 Sep 2010: Local reorthogonalization now working.
|
||||
!-------------------------------------------------------------------
|
||||
|
||||
intrinsic :: abs, dot_product, min, max, sqrt
|
||||
|
||||
! Local arrays and variables
|
||||
real(dp) :: h(n), hbar(n), u(m), v(n), w(n), localV(n,min(localSize,m,n))
|
||||
logical :: damped, localOrtho, localVQueueFull, prnt, show
|
||||
integer :: i, localOrthoCount, localOrthoLimit, localPointer, localVecs, &
|
||||
pcount, pfreq
|
||||
real(dp) :: alpha, alphabar, alphahat, &
|
||||
beta, betaacute, betacheck, betad, betadd, betahat, &
|
||||
normb, c, cbar, chat, ctildeold, ctol, &
|
||||
d, maxrbar, minrbar, normA2, &
|
||||
rho, rhobar, rhobarold, rhodold, rhoold, rhotemp, &
|
||||
rhotildeold, rtol, s, sbar, shat, stildeold, &
|
||||
t1, taud, tautildeold, test1, test2, test3, &
|
||||
thetabar, thetanew, thetatilde, thetatildeold, &
|
||||
zeta, zetabar, zetaold
|
||||
|
||||
! Local constants
|
||||
real(dp), parameter :: zero = 0.0_dp, one = 1.0_dp
|
||||
character(len=*), parameter :: enter = ' Enter LSMR. '
|
||||
character(len=*), parameter :: exitt = ' Exit LSMR. '
|
||||
character(len=*), parameter :: msg(0:7) = &
|
||||
(/ 'The exact solution is x = 0 ', &
|
||||
'Ax - b is small enough, given atol, btol ', &
|
||||
'The least-squares solution is good enough, given atol', &
|
||||
'The estimate of cond(Abar) has exceeded conlim ', &
|
||||
'Ax - b is small enough for this machine ', &
|
||||
'The LS solution is good enough for this machine ', &
|
||||
'Cond(Abar) seems to be too large for this machine ', &
|
||||
'The iteration limit has been reached ' /)
|
||||
!-------------------------------------------------------------------
|
||||
|
||||
|
||||
! Initialize.
|
||||
|
||||
localVecs = min(localSize,m,n)
|
||||
show = nout > 0
|
||||
if (show) then
|
||||
write(nout, 1000) enter,m,n,damp,atol,conlim,btol,itnlim,localVecs
|
||||
end if
|
||||
|
||||
pfreq = 20 ! print frequency (for repeating the heading)
|
||||
pcount = 0 ! print counter
|
||||
damped = damp > zero !
|
||||
|
||||
!-------------------------------------------------------------------
|
||||
! Set up the first vectors u and v for the bidiagonalization.
|
||||
! These satisfy beta*u = b, alpha*v = A(transpose)*u.
|
||||
!-------------------------------------------------------------------
|
||||
u(1:m) = b(1:m)
|
||||
v(1:n) = zero
|
||||
x(1:n) = zero
|
||||
|
||||
alpha = zero
|
||||
beta = dnrm2 (m, u, 1)
|
||||
|
||||
if (beta > zero) then
|
||||
call dscal (m, (one/beta), u, 1)
|
||||
! call Aprod2(m, n, v, u) ! v = A'*u
|
||||
call aprod(2,m,n,v,u,leniw,lenrw,iw,rw)
|
||||
alpha = dnrm2 (n, v, 1)
|
||||
end if
|
||||
|
||||
if (alpha > zero) then
|
||||
call dscal (n, (one/alpha), v, 1)
|
||||
w = v
|
||||
end if
|
||||
|
||||
normAr = alpha*beta
|
||||
if (normAr == zero) go to 800
|
||||
|
||||
! Initialization for local reorthogonalization.
|
||||
|
||||
localOrtho = .false.
|
||||
if (localVecs > 0) then
|
||||
localPointer = 1
|
||||
localOrtho = .true.
|
||||
localVQueueFull = .false.
|
||||
localV(:,1) = v
|
||||
end if
|
||||
|
||||
! Initialize variables for 1st iteration.
|
||||
|
||||
itn = 0
|
||||
zetabar = alpha*beta
|
||||
alphabar = alpha
|
||||
rho = 1
|
||||
rhobar = 1
|
||||
cbar = 1
|
||||
sbar = 0
|
||||
|
||||
h = v
|
||||
hbar(1:n) = zero
|
||||
x(1:n) = zero
|
||||
|
||||
! Initialize variables for estimation of ||r||.
|
||||
|
||||
betadd = beta
|
||||
betad = 0
|
||||
rhodold = 1
|
||||
tautildeold = 0
|
||||
thetatilde = 0
|
||||
zeta = 0
|
||||
d = 0
|
||||
|
||||
! Initialize variables for estimation of ||A|| and cond(A).
|
||||
|
||||
normA2 = alpha**2
|
||||
maxrbar = 0_dp
|
||||
minrbar = 1e+30_dp
|
||||
|
||||
! Items for use in stopping rules.
|
||||
normb = beta
|
||||
istop = 0
|
||||
ctol = zero
|
||||
if (conlim > zero) ctol = one/conlim
|
||||
normr = beta
|
||||
|
||||
! Exit if b=0 or A'b = 0.
|
||||
|
||||
normAr = alpha * beta
|
||||
if (normAr == 0) then
|
||||
if (show) then
|
||||
write(nout,'(a)') msg(1)
|
||||
end if
|
||||
return
|
||||
end if
|
||||
|
||||
! Heading for iteration log.
|
||||
|
||||
if (show) then
|
||||
if (damped) then
|
||||
write(nout,1300)
|
||||
else
|
||||
write(nout,1200)
|
||||
end if
|
||||
test1 = one
|
||||
test2 = alpha/beta
|
||||
write(nout, 1500) itn,x(1),normr,normAr,test1,test2
|
||||
end if
|
||||
|
||||
!===================================================================
|
||||
! Main iteration loop.
|
||||
!===================================================================
|
||||
do
|
||||
itn = itn + 1
|
||||
|
||||
!----------------------------------------------------------------
|
||||
! Perform the next step of the bidiagonalization to obtain the
|
||||
! next beta, u, alpha, v. These satisfy
|
||||
! beta*u = A*v - alpha*u,
|
||||
! alpha*v = A'*u - beta*v.
|
||||
!----------------------------------------------------------------
|
||||
call dscal (m,(- alpha), u, 1)
|
||||
! call Aprod1(m, n, v, u) ! u = A*v
|
||||
call aprod ( 1,m,n,v,u,leniw,lenrw,iw,rw )
|
||||
beta = dnrm2 (m, u, 1)
|
||||
|
||||
if (beta > zero) then
|
||||
call dscal (m, (one/beta), u, 1)
|
||||
if (localOrtho) then ! Store v into the circular buffer localV.
|
||||
call localVEnqueue ! Store old v for local reorthog'n of new v.
|
||||
end if
|
||||
call dscal (n, (- beta), v, 1)
|
||||
|
||||
!call Aprod2(m, n, v, u) ! v = A'*u
|
||||
call aprod ( 2,m,n,v,u,leniw,lenrw,iw,rw )
|
||||
if (localOrtho) then ! Perform local reorthogonalization of V.
|
||||
call localVOrtho ! Local-reorthogonalization of new v.
|
||||
end if
|
||||
alpha = dnrm2 (n, v, 1)
|
||||
if (alpha > zero) then
|
||||
call dscal (n, (one/alpha), v, 1)
|
||||
end if
|
||||
end if
|
||||
|
||||
! At this point, beta = beta_{k+1}, alpha = alpha_{k+1}.
|
||||
|
||||
!----------------------------------------------------------------
|
||||
! Construct rotation Qhat_{k,2k+1}.
|
||||
|
||||
alphahat = d2norm(alphabar, damp)
|
||||
chat = alphabar/alphahat
|
||||
shat = damp/alphahat
|
||||
|
||||
! Use a plane rotation (Q_i) to turn B_i to R_i.
|
||||
|
||||
rhoold = rho
|
||||
rho = d2norm(alphahat, beta)
|
||||
c = alphahat/rho
|
||||
s = beta/rho
|
||||
thetanew = s*alpha
|
||||
alphabar = c*alpha
|
||||
|
||||
! Use a plane rotation (Qbar_i) to turn R_i^T into R_i^bar.
|
||||
|
||||
rhobarold = rhobar
|
||||
zetaold = zeta
|
||||
thetabar = sbar*rho
|
||||
rhotemp = cbar*rho
|
||||
rhobar = d2norm(cbar*rho, thetanew)
|
||||
cbar = cbar*rho/rhobar
|
||||
sbar = thetanew/rhobar
|
||||
zeta = cbar*zetabar
|
||||
zetabar = - sbar*zetabar
|
||||
|
||||
! Update h, h_hat, x.
|
||||
|
||||
hbar = h - (thetabar*rho/(rhoold*rhobarold))*hbar
|
||||
x = x + (zeta/(rho*rhobar))*hbar
|
||||
h = v - (thetanew/rho)*h
|
||||
|
||||
! Estimate ||r||.
|
||||
|
||||
! Apply rotation Qhat_{k,2k+1}.
|
||||
betaacute = chat* betadd
|
||||
betacheck = - shat* betadd
|
||||
|
||||
! Apply rotation Q_{k,k+1}.
|
||||
betahat = c*betaacute
|
||||
betadd = - s*betaacute
|
||||
|
||||
! Apply rotation Qtilde_{k-1}.
|
||||
! betad = betad_{k-1} here.
|
||||
|
||||
thetatildeold = thetatilde
|
||||
rhotildeold = d2norm(rhodold, thetabar)
|
||||
ctildeold = rhodold/rhotildeold
|
||||
stildeold = thetabar/rhotildeold
|
||||
thetatilde = stildeold* rhobar
|
||||
rhodold = ctildeold* rhobar
|
||||
betad = - stildeold*betad + ctildeold*betahat
|
||||
|
||||
! betad = betad_k here.
|
||||
! rhodold = rhod_k here.
|
||||
|
||||
tautildeold = (zetaold - thetatildeold*tautildeold)/rhotildeold
|
||||
taud = (zeta - thetatilde*tautildeold)/rhodold
|
||||
d = d + betacheck**2
|
||||
normr = sqrt(d + (betad - taud)**2 + betadd**2)
|
||||
|
||||
! Estimate ||A||.
|
||||
normA2 = normA2 + beta**2
|
||||
normA = sqrt(normA2)
|
||||
normA2 = normA2 + alpha**2
|
||||
|
||||
! Estimate cond(A).
|
||||
maxrbar = max(maxrbar,rhobarold)
|
||||
if (itn > 1) then
|
||||
minrbar = min(minrbar,rhobarold)
|
||||
end if
|
||||
condA = max(maxrbar,rhotemp)/min(minrbar,rhotemp)
|
||||
|
||||
!----------------------------------------------------------------
|
||||
! Test for convergence.
|
||||
!----------------------------------------------------------------
|
||||
|
||||
! Compute norms for convergence testing.
|
||||
normAr = abs(zetabar)
|
||||
normx = dnrm2(n, x, 1)
|
||||
|
||||
! Now use these norms to estimate certain other quantities,
|
||||
! some of which will be small near a solution.
|
||||
|
||||
test1 = normr /normb
|
||||
test2 = normAr/(normA*normr)
|
||||
test3 = one/condA
|
||||
t1 = test1/(one + normA*normx/normb)
|
||||
rtol = btol + atol*normA*normx/normb
|
||||
|
||||
! The following tests guard against extremely small values of
|
||||
! atol, btol or ctol. (The user may have set any or all of
|
||||
! the parameters atol, btol, conlim to 0.)
|
||||
! The effect is equivalent to the normAl tests using
|
||||
! atol = eps, btol = eps, conlim = 1/eps.
|
||||
|
||||
if (itn >= itnlim) istop = 7
|
||||
if (one+test3 <= one) istop = 6
|
||||
if (one+test2 <= one) istop = 5
|
||||
if (one+t1 <= one) istop = 4
|
||||
|
||||
! Allow for tolerances set by the user.
|
||||
|
||||
if ( test3 <= ctol) istop = 3
|
||||
if ( test2 <= atol) istop = 2
|
||||
if ( test1 <= rtol) istop = 1
|
||||
|
||||
!----------------------------------------------------------------
|
||||
! See if it is time to print something.
|
||||
!----------------------------------------------------------------
|
||||
prnt = .false.
|
||||
if (show) then
|
||||
if (n <= 40) prnt = .true.
|
||||
if (itn <= 10) prnt = .true.
|
||||
if (itn >= itnlim-10) prnt = .true.
|
||||
if (mod(itn,10) == 0) prnt = .true.
|
||||
if (test3 <= 1.1*ctol) prnt = .true.
|
||||
if (test2 <= 1.1*atol) prnt = .true.
|
||||
if (test1 <= 1.1*rtol) prnt = .true.
|
||||
if (istop /= 0) prnt = .true.
|
||||
|
||||
if (prnt) then ! Print a line for this iteration
|
||||
if (pcount >= pfreq) then ! Print a heading first
|
||||
pcount = 0
|
||||
if (damped) then
|
||||
write(nout,1300)
|
||||
else
|
||||
write(nout,1200)
|
||||
end if
|
||||
end if
|
||||
pcount = pcount + 1
|
||||
write(nout,1500) itn,x(1),normr,normAr,test1,test2,normA,condA
|
||||
end if
|
||||
end if
|
||||
|
||||
if (istop /= 0) exit
|
||||
end do
|
||||
!===================================================================
|
||||
! End of iteration loop.
|
||||
!===================================================================
|
||||
|
||||
! Come here if normAr = 0, or if normal exit.
|
||||
|
||||
800 if (damped .and. istop==2) istop=3 ! Decide if istop = 2 or 3.
|
||||
if (show) then ! Print the stopping condition.
|
||||
write(nout, 2000) &
|
||||
exitt,istop,itn, &
|
||||
exitt,normA,condA, &
|
||||
exitt,normb, normx, &
|
||||
exitt,normr,normAr
|
||||
write(nout, 3000) &
|
||||
exitt, msg(istop)
|
||||
end if
|
||||
|
||||
return
|
||||
|
||||
1000 format(// a, ' Least-squares solution of Ax = b' &
|
||||
/ ' The matrix A has', i7, ' rows and', i7, ' columns' &
|
||||
/ ' damp =', es22.14 &
|
||||
/ ' atol =', es10.2, 15x, 'conlim =', es10.2 &
|
||||
/ ' btol =', es10.2, 15x, 'itnlim =', i10 &
|
||||
/ ' localSize (no. of vectors for local reorthogonalization) =', i7)
|
||||
1200 format(/ " Itn x(1) norm r A'r ", &
|
||||
' Compatible LS norm A cond A')
|
||||
1300 format(/ " Itn x(1) norm rbar Abar'rbar", &
|
||||
' Compatible LS norm Abar cond Abar')
|
||||
1500 format(i6, 2es17.9, 5es10.2)
|
||||
2000 format(/ a, 5x, 'istop =', i2, 15x, 'itn =', i8 &
|
||||
/ a, 5x, 'normA =', es12.5, 5x, 'condA =', es12.5 &
|
||||
/ a, 5x, 'normb =', es12.5, 5x, 'normx =', es12.5 &
|
||||
/ a, 5x, 'normr =', es12.5, 5x, 'normAr =', es12.5)
|
||||
3000 format(a, 5x, a)
|
||||
|
||||
contains
|
||||
|
||||
function d2norm( a, b )
|
||||
|
||||
real(dp) :: d2norm
|
||||
real(dp), intent(in) :: a, b
|
||||
|
||||
!-------------------------------------------------------------------
|
||||
! d2norm returns sqrt( a**2 + b**2 )
|
||||
! with precautions to avoid overflow.
|
||||
!
|
||||
! 21 Mar 1990: First version.
|
||||
! 17 Sep 2007: Fortran 90 version.
|
||||
! 24 Oct 2007: User real(dp) instead of compiler option -r8.
|
||||
!-------------------------------------------------------------------
|
||||
|
||||
intrinsic :: abs, sqrt
|
||||
real(dp) :: scale
|
||||
real(dp), parameter :: zero = 0.0_dp
|
||||
|
||||
scale = abs(a) + abs(b)
|
||||
if (scale == zero) then
|
||||
d2norm = zero
|
||||
else
|
||||
d2norm = scale*sqrt((a/scale)**2 + (b/scale)**2)
|
||||
end if
|
||||
|
||||
end function d2norm
|
||||
|
||||
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
subroutine localVEnqueue
|
||||
|
||||
! Store v into the circular buffer localV.
|
||||
|
||||
if (localPointer < localVecs) then
|
||||
localPointer = localPointer + 1
|
||||
else
|
||||
localPointer = 1
|
||||
localVQueueFull = .true.
|
||||
end if
|
||||
localV(:,localPointer) = v
|
||||
|
||||
end subroutine localVEnqueue
|
||||
|
||||
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
subroutine localVOrtho
|
||||
|
||||
! Perform local reorthogonalization of current v.
|
||||
|
||||
real(dp) :: d
|
||||
|
||||
if (localVQueueFull) then
|
||||
localOrthoLimit = localVecs
|
||||
else
|
||||
localOrthoLimit = localPointer
|
||||
end if
|
||||
|
||||
do localOrthoCount = 1, localOrthoLimit
|
||||
d = dot_product(v,localV(:,localOrthoCount))
|
||||
v = v - d * localV(:,localOrthoCount)
|
||||
end do
|
||||
|
||||
end subroutine localVOrtho
|
||||
|
||||
end subroutine LSMR
|
||||
|
||||
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
end module LSMRmodule
|
360
srcsparsity/lsmrblas.f90
Normal file
360
srcsparsity/lsmrblas.f90
Normal file
@ -0,0 +1,360 @@
|
||||
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
! File lsmrblas.f90 (double precision)
|
||||
!
|
||||
! This file contains the following BLAS routines
|
||||
! dcopy, ddot, dnrm2, dscal
|
||||
! required by subroutines LSMR and Acheck.
|
||||
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
!
|
||||
!! DCOPY copies a vector X to a vector Y.
|
||||
!
|
||||
! Discussion:
|
||||
! This routine uses double precision real arithmetic.
|
||||
! The routine uses unrolled loops for increments equal to one.
|
||||
!
|
||||
! Modified:
|
||||
! 16 May 2005
|
||||
!
|
||||
! Author:
|
||||
! Jack Dongarra
|
||||
! Fortran90 translation by John Burkardt.
|
||||
!
|
||||
! Reference:
|
||||
!
|
||||
! Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
|
||||
! LINPACK User's Guide,
|
||||
! SIAM, 1979,
|
||||
! ISBN13: 978-0-898711-72-1,
|
||||
! LC: QA214.L56.
|
||||
!
|
||||
! Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh,
|
||||
! Algorithm 539,
|
||||
! Basic Linear Algebra Subprograms for Fortran Usage,
|
||||
! ACM Transactions on Mathematical Software,
|
||||
! Volume 5, Number 3, September 1979, pages 308-323.
|
||||
!
|
||||
! Parameters:
|
||||
!
|
||||
! Input, integer N, the number of elements in DX and DY.
|
||||
!
|
||||
! Input, real ( kind = 8 ) DX(*), the first vector.
|
||||
!
|
||||
! Input, integer INCX, the increment between successive entries of DX.
|
||||
!
|
||||
! Output, real ( kind = 8 ) DY(*), the second vector.
|
||||
!
|
||||
! Input, integer INCY, the increment between successive entries of DY.
|
||||
|
||||
|
||||
subroutine dcopy(n,dx,incx,dy,incy)
|
||||
|
||||
implicit none
|
||||
! double precision dx(*),dy(*)
|
||||
real(4) dx(*),dy(*)
|
||||
integer i,incx,incy,ix,iy,m,n
|
||||
|
||||
if ( n <= 0 ) then
|
||||
return
|
||||
end if
|
||||
|
||||
if ( incx == 1 .and. incy == 1 ) then
|
||||
|
||||
m = mod ( n, 7 )
|
||||
|
||||
if ( m /= 0 ) then
|
||||
dy(1:m) = dx(1:m)
|
||||
end if
|
||||
|
||||
do i = m+1, n, 7
|
||||
dy(i) = dx(i)
|
||||
dy(i + 1) = dx(i + 1)
|
||||
dy(i + 2) = dx(i + 2)
|
||||
dy(i + 3) = dx(i + 3)
|
||||
dy(i + 4) = dx(i + 4)
|
||||
dy(i + 5) = dx(i + 5)
|
||||
dy(i + 6) = dx(i + 6)
|
||||
end do
|
||||
|
||||
else
|
||||
|
||||
if ( 0 <= incx ) then
|
||||
ix = 1
|
||||
else
|
||||
ix = ( -n + 1 ) * incx + 1
|
||||
end if
|
||||
|
||||
if ( 0 <= incy ) then
|
||||
iy = 1
|
||||
else
|
||||
iy = ( -n + 1 ) * incy + 1
|
||||
end if
|
||||
|
||||
do i = 1, n
|
||||
dy(iy) = dx(ix)
|
||||
ix = ix + incx
|
||||
iy = iy + incy
|
||||
end do
|
||||
end if
|
||||
return
|
||||
end subroutine dcopy
|
||||
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!
|
||||
!! DDOT forms the dot product of two vectors.
|
||||
!
|
||||
! Discussion:
|
||||
! This routine uses double precision real arithmetic.
|
||||
! This routine uses unrolled loops for increments equal to one.
|
||||
!
|
||||
! Modified:
|
||||
! 16 May 2005
|
||||
!
|
||||
! Author:
|
||||
! Jack Dongarra
|
||||
! Fortran90 translation by John Burkardt.
|
||||
!
|
||||
! Reference:
|
||||
! Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
|
||||
! LINPACK User's Guide,
|
||||
! SIAM, 1979,
|
||||
! ISBN13: 978-0-898711-72-1,
|
||||
! LC: QA214.L56.
|
||||
!
|
||||
! Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh,
|
||||
! Algorithm 539,
|
||||
! Basic Linear Algebra Subprograms for Fortran Usage,
|
||||
! ACM Transactions on Mathematical Software,
|
||||
! Volume 5, Number 3, September 1979, pages 308-323.
|
||||
!
|
||||
! Parameters:
|
||||
!
|
||||
! Input, integer N, the number of entries in the vectors.
|
||||
!
|
||||
! Input, real ( kind = 8 ) DX(*), the first vector.
|
||||
!
|
||||
! Input, integer INCX, the increment between successive entries in DX.
|
||||
!
|
||||
! Input, real ( kind = 8 ) DY(*), the second vector.
|
||||
!
|
||||
! Input, integer INCY, the increment between successive entries in DY.
|
||||
!
|
||||
! Output, real ( kind = 8 ) DDOT, the sum of the product of the
|
||||
! corresponding entries of DX and DY.
|
||||
|
||||
|
||||
! double precision function ddot(n,dx,incx,dy,incy)
|
||||
real(4) function ddot(n,dx,incx,dy,incy)
|
||||
|
||||
implicit none
|
||||
! double precision dx(*),dy(*),dtemp
|
||||
real(4) dx(*),dy(*),dtemp
|
||||
integer i,incx,incy,ix,iy,m,n
|
||||
|
||||
ddot = 0.0d0
|
||||
dtemp = 0.0d0
|
||||
if ( n <= 0 ) then
|
||||
return
|
||||
end if
|
||||
|
||||
! Code for unequal increments or equal increments
|
||||
! not equal to 1.
|
||||
|
||||
if ( incx /= 1 .or. incy /= 1 ) then
|
||||
|
||||
if ( 0 <= incx ) then
|
||||
ix = 1
|
||||
else
|
||||
ix = ( - n + 1 ) * incx + 1
|
||||
end if
|
||||
|
||||
if ( 0 <= incy ) then
|
||||
iy = 1
|
||||
else
|
||||
iy = ( - n + 1 ) * incy + 1
|
||||
end if
|
||||
|
||||
do i = 1, n
|
||||
dtemp = dtemp + dx(ix) * dy(iy)
|
||||
ix = ix + incx
|
||||
iy = iy + incy
|
||||
end do
|
||||
|
||||
! Code for both increments equal to 1.
|
||||
|
||||
else
|
||||
|
||||
m = mod ( n, 5 )
|
||||
|
||||
do i = 1, m
|
||||
dtemp = dtemp + dx(i) * dy(i)
|
||||
end do
|
||||
|
||||
do i = m+1, n, 5
|
||||
dtemp = dtemp + dx(i)*dy(i) + dx(i+1)*dy(i+1) + dx(i+2)*dy(i+2) &
|
||||
+ dx(i+3)*dy(i+3) + dx(i+4)*dy(i+4)
|
||||
end do
|
||||
|
||||
end if
|
||||
|
||||
ddot = dtemp
|
||||
return
|
||||
end function ddot
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!*****************************************************************************80
|
||||
!
|
||||
!! DNRM2 returns the euclidean norm of a vector.
|
||||
!
|
||||
! Discussion:
|
||||
! This routine uses double precision real arithmetic.
|
||||
! DNRM2 ( X ) = sqrt ( X' * X )
|
||||
!
|
||||
! Modified:
|
||||
! 16 May 2005
|
||||
!
|
||||
! Author:
|
||||
! Sven Hammarling
|
||||
! Fortran90 translation by John Burkardt.
|
||||
!
|
||||
! Reference:
|
||||
! Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
|
||||
! LINPACK User's Guide,
|
||||
! SIAM, 1979,
|
||||
! ISBN13: 978-0-898711-72-1,
|
||||
! LC: QA214.L56.
|
||||
!
|
||||
! Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh,
|
||||
! Algorithm 539,
|
||||
! Basic Linear Algebra Subprograms for Fortran Usage,
|
||||
! ACM Transactions on Mathematical Software,
|
||||
! Volume 5, Number 3, September 1979, pages 308-323.
|
||||
!
|
||||
! Parameters:
|
||||
!
|
||||
! Input, integer N, the number of entries in the vector.
|
||||
!
|
||||
! Input, real ( kind = 8 ) X(*), the vector whose norm is to be computed.
|
||||
!
|
||||
! Input, integer INCX, the increment between successive entries of X.
|
||||
!
|
||||
! Output, real ( kind = 8 ) DNRM2, the Euclidean norm of X.
|
||||
!
|
||||
|
||||
! double precision function dnrm2 ( n, x, incx)
|
||||
real(4) function dnrm2 ( n, x, incx)
|
||||
implicit none
|
||||
integer ix,n,incx
|
||||
! double precision x(*), ssq,absxi,norm,scale
|
||||
real(4) x(*), ssq,absxi,norm,scale
|
||||
|
||||
if ( n < 1 .or. incx < 1 ) then
|
||||
norm = 0.d0
|
||||
else if ( n == 1 ) then
|
||||
norm = abs ( x(1) )
|
||||
else
|
||||
scale = 0.d0
|
||||
ssq = 1.d0
|
||||
|
||||
do ix = 1, 1 + ( n - 1 )*incx, incx
|
||||
if ( x(ix) /= 0.d0 ) then
|
||||
absxi = abs ( x(ix) )
|
||||
if ( scale < absxi ) then
|
||||
ssq = 1.d0 + ssq * ( scale / absxi )**2
|
||||
scale = absxi
|
||||
else
|
||||
ssq = ssq + ( absxi / scale )**2
|
||||
end if
|
||||
end if
|
||||
end do
|
||||
norm = scale * sqrt ( ssq )
|
||||
end if
|
||||
|
||||
dnrm2 = norm
|
||||
return
|
||||
end function dnrm2
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! DSCAL scales a vector by a constant.
|
||||
!
|
||||
! Discussion:
|
||||
! This routine uses double precision real arithmetic.
|
||||
!
|
||||
! Modified:
|
||||
! 08 April 1999
|
||||
!
|
||||
! Author:
|
||||
! Jack Dongarra
|
||||
! Fortran90 translation by John Burkardt.
|
||||
!
|
||||
! Reference:
|
||||
! Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
|
||||
! LINPACK User's Guide,
|
||||
! SIAM, 1979,
|
||||
! ISBN13: 978-0-898711-72-1,
|
||||
! LC: QA214.L56.
|
||||
!
|
||||
! Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh,
|
||||
! Algorithm 539,
|
||||
! Basic Linear Algebra Subprograms for Fortran Usage,
|
||||
! ACM Transactions on Mathematical Software,
|
||||
! Volume 5, Number 3, September 1979, pages 308-323.
|
||||
!
|
||||
! Parameters:
|
||||
!
|
||||
! Input, integer N, the number of entries in the vector.
|
||||
!
|
||||
! Input, real ( kind = 8 ) SA, the multiplier.
|
||||
!
|
||||
! Input/output, real ( kind = 8 ) X(*), the vector to be scaled.
|
||||
!
|
||||
! Input, integer INCX, the increment between successive entries of X.
|
||||
!
|
||||
|
||||
subroutine dscal(n,sa,x,incx)
|
||||
|
||||
implicit none
|
||||
|
||||
integer i
|
||||
integer incx
|
||||
integer ix
|
||||
integer m
|
||||
integer n
|
||||
!double precision sa
|
||||
!double precision x(*)
|
||||
|
||||
real(4) sa
|
||||
real(4) x(*)
|
||||
if ( n <= 0 ) then
|
||||
return
|
||||
else if ( incx == 1 ) then
|
||||
m = mod ( n, 5 )
|
||||
x(1:m) = sa * x(1:m)
|
||||
|
||||
do i = m+1, n, 5
|
||||
x(i) = sa * x(i)
|
||||
x(i+1) = sa * x(i+1)
|
||||
x(i+2) = sa * x(i+2)
|
||||
x(i+3) = sa * x(i+3)
|
||||
x(i+4) = sa * x(i+4)
|
||||
end do
|
||||
else
|
||||
if ( 0 <= incx ) then
|
||||
ix = 1
|
||||
else
|
||||
ix = ( - n + 1 ) * incx + 1
|
||||
end if
|
||||
|
||||
do i = 1, n
|
||||
x(ix) = sa * x(ix)
|
||||
ix = ix + incx
|
||||
end do
|
||||
|
||||
end if
|
||||
|
||||
return
|
||||
end subroutine dscal
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
41
srcsparsity/lsmrblasInterface.f90
Normal file
41
srcsparsity/lsmrblasInterface.f90
Normal file
@ -0,0 +1,41 @@
|
||||
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
! File lsmrblasInterface.f90
|
||||
!
|
||||
! BLAS1 Interfaces: ddot dnrm2 dscal
|
||||
!
|
||||
! Maintained by Michael Saunders <saunders@stanford.edu>.
|
||||
!
|
||||
! 19 Dec 2008: lsqrblasInterface module implemented.
|
||||
! Metcalf and Reid recommend putting interfaces in a module.
|
||||
! 16 Jul 2010: LSMR version derived from LSQR equivalent.
|
||||
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
module lsmrblasInterface
|
||||
|
||||
implicit none
|
||||
public :: ddot, dnrm2, dscal
|
||||
|
||||
interface ! Level 1 BLAS
|
||||
function ddot (n,dx,incx,dy,incy)
|
||||
use lsmrDataModule, only : dp
|
||||
integer, intent(in) :: n,incx,incy
|
||||
real(dp), intent(in) :: dx(*),dy(*)
|
||||
real(dp) :: ddot
|
||||
end function ddot
|
||||
|
||||
function dnrm2 (n,dx,incx)
|
||||
use lsmrDataModule, only : dp
|
||||
integer, intent(in) :: n,incx
|
||||
real(dp), intent(in) :: dx(*)
|
||||
real(dp) :: dnrm2
|
||||
end function dnrm2
|
||||
|
||||
subroutine dscal (n,sa,x,incx)
|
||||
use lsmrDataModule, only : dp
|
||||
integer, intent(in) :: n,incx
|
||||
real(dp), intent(in) :: sa
|
||||
real(dp), intent(inout) :: x(*)
|
||||
end subroutine dscal
|
||||
end interface
|
||||
|
||||
end module lsmrblasInterface
|
1062
srcsparsity/surfdisp96.f
Normal file
1062
srcsparsity/surfdisp96.f
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user