Plan 9 from Bell Labs’s /usr/web/sources/contrib/pac/dat/strat/scripts/guide

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


### 
#check for inconsistencies between boundaries present in unt and bnd
### 
awk -F* '{print $2 } ' unt > $home/tmp/tstunt
awk -F* '{print $3 } ' unt >> $home/tmp/tstunt
cat $home/tmp/tstunt | sort |uniq > $home/tmp/tmpfile
mv $home/tmp/tmpfile $home/tmp/tstunt
echo UNT unique boundaries:
join -t* -a 1 -o 1.1 2.1 $home/tmp/tstunt  bnd | awk -F* '$1 != $2'
echo BND unique boundaries:
join -t* -a 2 -o 1.1 2.1 $home/tmp/tstunt  bnd | awk -F* '$1 != $2'
rm $home/tmp/tstunt



### 
#generate UNITS table with absolute dates (unt.g)
### 

sort -t* +1 -2 unt |uniq  > tmp1
sort -t* +0 -1 bnd |uniq  > tmp2
join -t* -1 2 -2 1 -o 1.1 2.8 1.3 1.4 1.5  1.6  tmp1 tmp2 |
	sort -t* +2 -3 > tmp3
join -t* -1 3 -2 1 -o 1.1 1.2 2.8 1.4 1.5  1.6   tmp3 tmp2 | sort > unt.g.new
rm tmp*

#query it for NAME, print out age of lower and upper boundary
awk -F* '$1 ~ /NAME/  {print $1 " base: "$2 ", top: "$3 " Ma"}' unt.g


### 
#calculate proportions from Ma
### 

#add base ID
sort -t* +5 -6 bnd3 |uniq  > tmp1
sort -t* +0 -1 unt |uniq  > tmp2
join -t* -a1 -1 6 -2 1 -o 1.1 1.2 1.3 1.4 1.5 1.6 2.2  tmp1 tmp2 > tmpb

#add top ID
sort -t* +5 -6 tmpb |uniq  > tmp3
join -t* -a1 -1 6 -2 1 -o 1.1 1.2 1.3 1.4 1.5 1.6 1.7 2.3  tmp3 tmp2 > tmpb

#change base ID to base age
sort -t* +6 -7 tmpb |uniq > tmp3
sort -t* +0 -1 bnd3 |uniq  > tmp1
join -t* -a1 -1 7 -2 1 -o 1.1 1.2 1.3 1.4 1.5 1.6 2.2 1.8  tmp3 tmp1 > tmpb

#calculate boundary proportional age
sort -t* +7 -8 tmpb |uniq > tmp3
join -t* -a1 -1 8 -2 1 -o 1.1 1.2 1.3 1.4 1.5 1.6 1.7 2.2  tmp3 tmp1  | sort > tmpb
awk -F*   ' {base=$7; top=$8; bnd=$2; x=base-top; y=base-bnd; if(x==0) z=0; else z=y/x; print $1 "*" $2"*" $3"*" $4"*" $5"*" $6"*"  z} ' tmpb > bnd4

 rm tmp*



### 
#just once: remove 'ages' where they were used for calculation of 'proportions'
### 

awk -F*   ' {if($7==0) z=$2; else z="";  print $1 "*" z"*" $3"*" $4"*" $5"*" $6"*" $7"*" $8}'  bnd5 > bnd6

sort -t* +1 -2 unt |uniq  > tmp1 #sort according to base age
sort -t* +0 -1 bnd6 |uniq  > tmp2
join -t* -1 2 -2 1 -o 1.1 2.8 1.3 1.4 1.5   tmp1 tmp2 |
	sort -t* +2 -3 > tmp3 #sort according to top age
join -t* -1 3 -2 1 -o 1.1 1.2 2.8 1.4 1.5   tmp3 tmp2 | sort > unt.g
rm tmp*


### 
#print out ICS stages which NAME overlaps with
### 

name=NAME
base=`{awk -F* '$1 ~ /'$name'/  {print $2}' unt.g}
top=`{awk -F* '$1 ~ /'$name'/  {print $3}' unt.g}
echo awk -F* '''$4 ~ /ICS/ && $5  ~ /Stage/ &&  $2 >= '$base' && $3 < '$base' {print "from: " $1}''' unt.g | rc
echo awk -F* '''$4 ~ /ICS/ && $5  ~ /Stage/ &&  $2 > '$top' && $3 <= '$top' {print "to: " $1}''' unt.g | rc




### 
# print stage that follows NAME in the same column
### 

name=NAME
#base=`{awk -F* '$1 ~ /'$name'/  {print $2}' unt.g}
top=`{awk -F* '$1 ~ /'$name'/  {print $3}' unt.g}
where=`{awk -F* '$1 ~ /'$name'/  {print $4}' unt.g}
#echo awk -F* '''$4 ~ /'$where'/ && $5  ~ /Stage/ &&  $2 >= '$base' && $3 < '$base' {print "from: " $1}''' unt.g | rc
echo awk -F* '''$4 ~ /ICS/ && $5  ~ /Stage/ &&  $2 == '$top'  {print  $1}''' unt.g | rc

### 
# change headers to UNIX for export
### 

for(i in tst/stratbase/*)
	{sed 's/\/bin/\/usr\/bin/' $i > tempfile; mv tempfile $i ; chmod 755 $i}



### UNTESTED



Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.