Subversion Repositories lagranto.um

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

#!/bin/csh

# -----------------------------------------------------------------------------
# Set some parameters
# -----------------------------------------------------------------------------

# Set input file
set inpfile=$1
if ( ${#argv} == 2 ) then
  set mode=$2
else
  set mode='all'
endif

# Write usage information
if ( ${#argv} == 0) then
  echo 
  echo "--------------------------------------------------------------"
  echo "Usage: trainfo.sh trafile mode        "
  echo 
  echo "         trafile           : Input trajectory file"
  echo
  echo "         mode = dim        : # trajectories #times #columns"
  echo "                ntra       : # trajectories"
  echo "                ntim       : # times "
  echo "                ncol       : # columns"
  echo "                vars       : List of variable names"
  echo "                refdate    : Reference date yyyymmdd_hhmm"
  echo "                times      : List of times"
  echo "                startdate  : start date yyyymmdd_hhmm"
  echo "                enddate    : start date yyyymmdd_hhmm"
  echo "                timerange  : time range (in min)"
  echo "                list       : complete listing of trajectories"
  echo
  echo "--------------------------------------------------------------"
  exit 0
endif

# Set Fortran program
set prog=${LAGRANTO}/goodies/trainfo

# -----------------------------------------------------------------------------
# Run program 
# -----------------------------------------------------------------------------

\rm -f trainfo.param
echo \"${inpfile}\" >! trainfo.param 
echo \"${mode}\"    >> trainfo.param

${prog}

\rm -f trainfo.param

exit 0

# -----------------------------------------------------------------------------
# Old code: shell script extraction of ntra,ntim,ncol
# -----------------------------------------------------------------------------

# Get line numbers of first trajectory block (separated by empty line) 
set first=4
loop1:
  @ first = ${first} + 1
  set line=`sed -ne "${first},${first}p" ${inpfile}` 
if ( "${line}" != "" ) goto loop1
@ final = ${first} + 1
loop2:
  @ final = ${final} + 1
  set line=`sed -ne "${final},${final}p" ${inpfile}`
if ( "${line}" != "" ) goto loop2
@ first = ${first} + 1
@ final = ${final} - 1

# Set the number of fields, of times and of trajectories
set ntime=`echo "1 + ${final} - ${first}" | bc`  
set line=`sed -ne "${first},${first}p" ${inpfile}`
set ncol=`echo ${line} | awk '{print NF}'` 
set nlines=`wc -l ${inpfile} | awk '{print $1}'`
set ntra=`echo "(${nlines}-4)/(${ntime}+1)" | bc`

# Write info
echo ${ntra} ${ntime} ${ncol}