| 1 | 
 #!/bin/sh | 
 #! /usr/bin/env bash | 
| 2 | 
  | 
  | 
| 3 | 
 # $Header$ | 
 # $Header$ | 
| 4 | 
 # $Name$ | 
 # $Name$ | 
| 5 | 
  | 
  | 
| 6 | 
 add=0 ; mut=0 ; | 
 add=0 ; mut=0 ; | 
| 7 | 
 if [ $# -ge 3 ]  | 
 if [ $# -ge 3 ] | 
| 8 | 
 then | 
 then | 
| 9 | 
  if test $1 = '-a' ; then add=1; shift; fi | 
  if test $1 = '-a' ; then add=1; shift; fi | 
| 10 | 
  if test $1 = '-s' ; then mut=1; shift; fi | 
  if test $1 = '-s' ; then mut=1; shift; fi | 
| 36 | 
 else | 
 else | 
| 37 | 
  shift; shift; shift; listV=$* | 
  shift; shift; shift; listV=$* | 
| 38 | 
 fi | 
 fi | 
| 39 | 
 if test $mut = 0 ; then  | 
 if test $mut = 0 ; then | 
| 40 | 
  grep '^# Fields ' $inpFil | 
  grep '^# Fields ' $inpFil | 
| 41 | 
  echo 'selected var:' $listV | 
  echo 'selected var:' $listV | 
| 42 | 
 #echo 'sufx, tmpFil:' $sufx $tmpFil | 
 #echo 'sufx, tmpFil:' $sufx $tmpFil | 
| 47 | 
 do | 
 do | 
| 48 | 
  case $vv in | 
  case $vv in | 
| 49 | 
    'Eta') var='ETAN'     ; vfl=$vv ;; | 
    'Eta') var='ETAN'     ; vfl=$vv ;; | 
| 50 | 
               'ETAN'     ) var=$vv ; vfl='Eta' ;; | 
               'ETAN'     ) var=$vv ; vfl='Eta';; | 
 | 
    'Et2') var='ETANSQ'   ; vfl=$vv ;; | 
  | 
 | 
               'ETANSQ'   ) var=$vv ; vfl='Et2' ;; | 
  | 
| 51 | 
      'T') var='THETA'    ; vfl=$vv ;; | 
      'T') var='THETA'    ; vfl=$vv ;; | 
| 52 | 
               'THETA'    ) var=$vv ; vfl='T' ;; | 
               'THETA'    ) var=$vv ; vfl='T' ;; | 
| 53 | 
      'S') var='SALT'     ; vfl=$vv  ;; | 
      'S') var='SALT'     ; vfl=$vv  ;; | 
| 59 | 
      'W') var='WVEL'     ; vfl=$vv  ;; | 
      'W') var='WVEL'     ; vfl=$vv  ;; | 
| 60 | 
               'WVEL'     ) var=$vv ; vfl='W' ;; | 
               'WVEL'     ) var=$vv ; vfl='W' ;; | 
| 61 | 
    'Phi') var='PHIHYD'   ; vfl=$vv  ;; | 
    'Phi') var='PHIHYD'   ; vfl=$vv  ;; | 
| 62 | 
               'PHIHYD'   ) var=$vv ; vfl='Phi' ;; | 
               'PHIHYD'   ) var=$vv ; vfl='Phi';; | 
| 63 | 
  | 
    'Et2') var='ETANSQ'   ; vfl=$vv ;; | 
| 64 | 
  | 
               'ETANSQ'   ) var=$vv ; vfl='Et2';; | 
| 65 | 
  | 
     'T2') var='THETASQ'  ; vfl=$vv ;; | 
| 66 | 
  | 
               'THETASQ'  ) var=$vv ; vfl='T2' ;; | 
| 67 | 
  | 
     'S2') var='SALTSQ'   ; vfl=$vv  ;; | 
| 68 | 
  | 
               'SALTSQ'   ) var=$vv ; vfl='S2' ;; | 
| 69 | 
     'U2') var='UVELSQ'   ; vfl=$vv  ;; | 
     'U2') var='UVELSQ'   ; vfl=$vv  ;; | 
| 70 | 
               'UVELSQ'   ) var=$vv ; vfl='U2' ;; | 
               'UVELSQ'   ) var=$vv ; vfl='U2' ;; | 
| 71 | 
     'V2') var='VVELSQ'   ; vfl=$vv  ;; | 
     'V2') var='VVELSQ'   ; vfl=$vv  ;; | 
| 72 | 
               'VVELSQ'   ) var=$vv ; vfl='V2' ;; | 
               'VVELSQ'   ) var=$vv ; vfl='V2' ;; | 
| 73 | 
  | 
     'W2') var='WVELSQ'   ; vfl=$vv  ;; | 
| 74 | 
  | 
               'WVELSQ'   ) var=$vv ; vfl='W2' ;; | 
| 75 | 
        *)  var=$vv ; vfl=$vv ;; | 
        *)  var=$vv ; vfl=$vv ;; | 
| 76 | 
  esac | 
  esac | 
| 77 | 
 #echo 'grep -m 1' "^ field : ${var} " $inpFil | 
 #echo 'grep -m 1' "^ field : ${var} " $inpFil | 
| 87 | 
   then flag=0 | 
   then flag=0 | 
| 88 | 
     outFil=${prfx}'_head'.$sufx | 
     outFil=${prfx}'_head'.$sufx | 
| 89 | 
     nLin=`sed -n "/^# end of header/=" $inpFil` | 
     nLin=`sed -n "/^# end of header/=" $inpFil` | 
| 90 | 
     head -$nLin $inpFil > $tmpFil  | 
     head -$nLin $inpFil > $tmpFil | 
| 91 | 
     if test -f $outFil -a $add = 0 ; then rm -f $outFil ; fi | 
     if test -f $outFil -a $add = 0 ; then rm -f $outFil ; fi | 
| 92 | 
     if test -f $outFil | 
     if test -f $outFil | 
| 93 | 
     then | 
     then | 
| 121 | 
   echo "/^ field : $var /{" > $sedFil | 
   echo "/^ field : $var /{" > $sedFil | 
| 122 | 
   if test $nLev = 1 ; then k=0 ; else k=-1 ; fi | 
   if test $nLev = 1 ; then k=0 ; else k=-1 ; fi | 
| 123 | 
   while [ $k -le $nLev ] | 
   while [ $k -le $nLev ] | 
| 124 | 
   do  | 
   do | 
| 125 | 
    echo "N" >> $sedFil | 
    echo "N" >> $sedFil | 
| 126 | 
    k=`expr $k + 1` | 
    k=`expr $k + 1` | 
| 127 | 
   done | 
   done | 
| 132 | 
   if test $mut = 0 ; then head -1 $tmpFil ; fi | 
   if test $mut = 0 ; then head -1 $tmpFil ; fi | 
| 133 | 
   if test -f $outFil -a $add = 0 ; then rm -f $outFil ; fi | 
   if test -f $outFil -a $add = 0 ; then rm -f $outFil ; fi | 
| 134 | 
   touch $outFil | 
   touch $outFil | 
| 135 | 
   sed '/^ k /d' $tmpFil | sed '/^ field /d' >> $outFil  | 
   sed '/^ k /d' $tmpFil | sed '/^ field /d' >> $outFil | 
| 136 | 
   rm -f $sedFil $tmpFil | 
   rm -f $sedFil $tmpFil | 
| 137 | 
  fi | 
  fi | 
| 138 | 
 done | 
 done |