#!/bin/bash

surf96 39

# define damping
surf96 32 1.

# define differential smoothing
surf96 36 1

# repeated iterations
iter=5
for((i=0; i<$iter; i++)); do
	## set An (2020)'s adaptive differential smooth 
	## for the reference model at the iteration
	refmodel=$(printf "tmpmod96.%03d" $i)
	awk -v dvs_max=0 'function abs(v){return (v>=0)?v:(-v) }(NR>12 && NF==10){
		nlay ++
		if(nlay >= 2)
		{
			dvs[nlay] = abs($3 - vsold)
			if(dvs[nlay] > dvs_max)
				dvs_max = dvs[nlay]
		}
		vsold = $3
	}END{
		if(dvs_max == 0) dvs_max = 1
		for(i=2; i<=nlay; i++)
			print i-1, 1.0 + 10.0 * dvs[i]/dvs_max
		print nlay, 10
	}' $refmodel | xargs -n 2 surf96 31

	### inversion
	surf96 1 2 6
done

# save inverted model
surf96 28 modl.An_Adaptive

surf96 39
