#!/bin/csh
#---------------------------------------------------------------------------
# prep_corona: Prepare MAS data.
#
# Usage      : ./prep_corona <Carrington rotation> <resolution> <max mode>
#                            <extrapolation band min> <extrapolation band max>
#                            <extrapolation point> <observatory>
#---------------------------------------------------------------------------

# Set parameters
set cr = $1
set resolution = $2
set mmmax = $3
set ebmin = $4
set ebmax = $5
set epoint = $6
set observatory = $7


# Set environment variables
setenv CORHEL_DIR "$CORHEL_ROOT"
setenv CORHEL_BIN "$CORHEL_ROOT/bin"
setenv CORHEL_RUN "$CORHEL_ROOT/run/cr$cr-$resolution"

pushd $CORHEL_DIR/tools/corona > /dev/null
source ./set.sh run
popd > /dev/null


# Prepare MAS data in corona_bc
cd $CORHEL_RUN/corona_bc

# Get the data
if ($observatory == 'kittpeak') then

  if ($cr >= 1615 && $cr <= 2007) then
    echo "Retrieving data from Kittpeak and processing for MAS"
    wget ftp://nsokp.nso.edu/kpvt/synoptic/mag/m$cr\f.fits
    $CORONA_BIN/fits2hdf m$cr\f.fits kp$cr.hdf
  else if ($cr > 2010) then
    echo "Retrieving data from Solis and processing for MAS"
    wget ftp://solarch.tuc.noao.edu/synoptic/level3/vsm/merged/carr-rot/svsm
    gzip -d svsm_m11lr_B3_cr$cr.fts.gz
    $CORONA_BIN/fits2hdf svsm_m11lr_B3_cr$cr.fts kp$cr\3D.hdf
    $CORONA_BIN/extract -mp -z0 1 -z1 1 kp$cr\3D.hdf  kp$cr.hdf
  endif

  # Process data to better fit the input into MAS
  echo "Process data to better fit the input into MAS"
  $CORONA_BIN/kpsyn -kpfile kp$cr.hdf -nt 90 -np 181 << EOF
n
br_raw.hdf
y
$ebmin,$ebmax
$ebmin,$ebmax
$epoint
$epoint
y
5
br_polefit.hdf
br_rms_before_filt.dat
brs.hdf
brc.hdf
$mmmax
br_rms_after_filt.dat
br.mmax9.hdf
EOF

else

  echo "Retrieving data from Wilcox and processing for MAS"
  wget http://wso.stanford.edu/synoptic/WSO.$cr\.txt

  # Check for Incomplete Dataset
  echo "Check dataset ..."
  if (`grep XXX WSO.$cr\.txt` == "") then
    echo "Complete Data Set, Carry on."
  else
    echo "Incomplete Data Set, Removing WSO file"
    rm -f WSO.$cr\.txt
  endif

  $CORONA_BIN/wsomag << EOF 
WSO.$cr.txt
$mmmax
Wang
EOF

  mv br$cr.dat br.mmax9.dat
  $CORONA_BIN/mkhdf br.mmax9

  $CORONA_BIN/wsomag_plotbr << EOF 
WSO.$cr.txt
Wang
EOF

  mv br$cr.dat kp$cr.dat
  $CORONA_BIN/mkhdf kp$cr

endif

# Filter data
$CORONA_BIN/filter -n 3 -periodic y br.mmax9.hdf br.mmax9.filt3.hdf

# Convert to text for MAS input
$CORONA_BIN/hdf2txt br.mmax9.filt3.hdf br.m9.filt3.dat


# Prepare MAS data in corona
cd $CORHEL_RUN/corona

# Set up necessary input/boundary files for coronal run
cp $CORHEL_RUN/corona_bc/br.m9.filt3.dat .
cp $CORHEL_DIR/tools/corona/source/mas_input_files/parker1.8.pw .

exit 0
