#!/bin/ksh
################################################################################
####  UNIX Script Documentation Block
#                      .                                             .
# Script name:         exndas_coldstart_real.sh.sms 
# Script description:  Runs REAL to get GDAS firsr guess file in WRF-NMM input file
                       format to coldstart WRF-NNM NDAS
#
# Author:        Eric Rogers       Org: NP22         Date: 2004-07-02
#
# Script history log:
# 2006-02-01  Eric Rogers - Based on HIRESW script

set -x

msg="JOB $job FOR WRF-NMM HAS BEGUN"
postmsg "$jlogfile" "$msg"

mod=AVN
export DOMNAM=nam

export MP_BINDPROC=NO

#
# Get needed variables from exndas_prelim.sh.sms
#
. $GESDIR/${RUN}.t${cyc}z.envir.sh

cd $DATA

CYCLEgdas=`/nwprod/util/exec/ndate -18 ${CYCLE}`
CYCLEtm12=`/nwprod/util/exec/ndate -12 ${CYCLE}`

echo DATEXX${CYCLEgdas} > gdasdate
cycgdas=`cut -c 15-16 gdasdate`
echo DATEXX${CYCLEtm12} > tm12date
cyctm12=`cut -c 15-16 tm12date`

DATE=`cat gdasdate | cut -c7-14`

# Run REAL code

### modify namelist file
ystart=`cat tm12date | cut -c7-10`
mstart=`cat tm12date | cut -c11-12`
dstart=`cat tm12date | cut -c13-14`
hstart=`cat tm12date | cut -c15-16`
cycstart=`cat tm12date | cut -c7-16`
start=$ystart$mstart$dstart

end=`/nwprod/util/exec/ndate 3 $cycstart`

yend=`echo $end | cut -c1-4`
mend=`echo $end | cut -c5-6`
dend=`echo $end | cut -c7-8`
hend=`echo $end | cut -c9-10`

cp $PARMnam/nam_namelist.input_in_cold_3h_real namelist.input_in

cat namelist.input_in | sed s:YSTART:$ystart: | sed s:MSTART:$mstart: \
 | sed s:DSTART:$dstart: | sed s:HSTART:$hstart: | sed s:YEND:$yend: \
 | sed s:MEND:$mend:     | sed s:DEND:$dend: | sed s:HEND:$hend: > namelist.input

rm fort.*

cp $FIXnam/nam_LANDUSE.TBL LANDUSE.TBL
cp $PARMnam/nam_ETAMPNEW_DATA ETAMPNEW_DATA
cp $FIXnam/nam_VEGPARM.TBL VEGPARM.TBL
cp $FIXnam/nam_SOILPARM.TBL SOILPARM.TBL
cp $FIXnam/nam_GENPARM.TBL GENPARM.TBL

cp $FIXnam/nam_co2.60_hybrid_2mbtop co2.60_hybrid_2mbtop
cp $FIXnam/nam_co2.60_hybrid_2mbtop co2_trans

cp $FIXnam/hiresw_RRTM_DATA RRTM_DATA
cp $FIXnam/hiresw_tr49t67 tr49t67
cp $FIXnam/hiresw_tr49t85 tr49t85
cp $FIXnam/hiresw_tr67t85 tr67t85
cp $PARMnam/nam_micro_lookup.dat eta_micro_lookup.dat

cp $PARMnam/nam_fcst_gribmap.txt gribmap.txt

export pgm=nam_wrfnmm_real
. prep_step

export XLFUNIT_14=co2.60_hybrid_2mbtop

startmsg
$EXECnam/nam_wrfnmm_real >> $pgmout 2>errfile
export err=$?;err_chk

cp namelist.input $COMOUT/ndas.t${cyc}z.namelist.input_real.tm12

# Run utility to insert valid fields into GWD placeholders in wrfinput file
# This supercedes the partialcyc code

# wrf file with the land states you want
INPUT_FILE="/nwges/${envir}/ndas.hold/wrfrst_d01_hold.${hstart}z"
INPUT_FILE_TYPE="nmm"

# wrf file with the 14 GWD spaces
WRF_BINARY_FILE="wrfinput_d01"

# dont touch this
DYN_CORE="nmm"

# your working directory
FIXDIR="/nw${envir}/fix"

WORK_DIR=$DATA
cd $WORK_DIR

#----------------------------------------------------------------
# don't touch fort.81 namelist settings.
#----------------------------------------------------------------

cat > ${WORK_DIR}/fort.81 << !
 &input_state_fields
  input_file="${INPUT_FILE}"
  input_file_type="${INPUT_FILE_TYPE}"
 /
 &output_grid_specs
  specs_from_output_file=.false.
  lats_output_file="${FIXDIR}/nam_hpnt_latitudes.grb"
  lons_output_file="${FIXDIR}/nam_hpnt_longitudes.grb"
  lsmask_output_file="${FIXDIR}/nam_slmask.grb"
  orog_output_file="${FIXDIR}/nam_elevtiles.grb"
  substrate_temp_output_file="${FIXDIR}/nam_tbot.grb"
 /
 &optional_output_fields
  snow_free_albedo_output_file=""
  greenfrc_output_file=""
  mxsnow_alb_output_file="${FIXDIR}/nam_mxsnoalb.grb"
  slope_type_output_file="${FIXDIR}/nam_slopeidx.grb"
  soil_type_output_file="${FIXDIR}/nam_soiltiles.grb"
  veg_type_output_file="${FIXDIR}/nam_vegtiles.grb"
  z0_output_file=""
 /
 &soil_parameters
  soil_src_input = "statsgo"
  smclow_input  = 0.5
  smchigh_input = 3.0
  smcmax_input= 0.395, 0.421, 0.434, 0.476, 0.476, 0.439,
                0.404, 0.464, 0.465, 0.406, 0.468, 0.457,
                0.464, -9.99,  0.20, 0.421
  beta_input =  4.05,  4.26,  4.74,  5.33,  5.33,  5.25,
                6.77,  8.72,  8.17, 10.73, 10.39, 11.55,
                5.25, -9.99,  4.05,  4.26
  psis_input =  0.0350, 0.0363, 0.1413, 0.7586, 0.7586, 0.3548,
                0.1349, 0.6166, 0.2630, 0.0977, 0.3236, 0.4677,
                0.3548,  -9.99, 0.0350, 0.0363
  satdk_input = 1.7600e-4, 1.4078e-5, 5.2304e-6, 2.8089e-6, 2.8089e-6,
                3.3770e-6, 4.4518e-6, 2.0348e-6, 2.4464e-6, 7.2199e-6,
                1.3444e-6, 9.7394e-7, 3.3770e-6,     -9.99, 1.4078e-5,
                1.4078e-5
  soil_src_output = "statsgo"
  smclow_output  = 0.5
  smchigh_output = 3.0
  smcmax_output= 0.395, 0.421, 0.434, 0.476, 0.476, 0.439,
                 0.404, 0.464, 0.465, 0.406, 0.468, 0.457,
                 0.464, -9.99,  0.20, 0.421
  beta_output =  4.05,  4.26,  4.74,  5.33,  5.33,  5.25,
                 6.77,  8.72,  8.17, 10.73, 10.39, 11.55,
                 5.25, -9.99,  4.05,  4.26
  psis_output =  0.0350, 0.0363, 0.1413, 0.7586, 0.7586, 0.3548,
                 0.1349, 0.6166, 0.2630, 0.0977, 0.3236, 0.4677,
                 0.3548, -9.99,  0.0350, 0.0363
  satdk_output = 1.7600e-4, 1.4078e-5, 5.2304e-6, 2.8089e-6, 2.8089e-6,
                3.3770e-6, 4.4518e-6, 2.0348e-6, 2.4464e-6, 7.2199e-6,
                1.3444e-6, 9.7394e-7, 3.3770e-6,     -9.99, 1.4078e-5,
                1.4078e-5
 /
                 
 &veg_parameters
  veg_src_input = "usgs"
  veg_src_output = "usgs"
  salp_output = 4.0
  snup_output = 0.020, 0.020, 0.020, 0.020, 0.020, 0.020,
                0.020, 0.020, 0.020, 0.040, 0.040, 0.040,
                0.040, 0.040, 0.040, 0.010, 0.013, 0.020,
                0.013, 0.020, 0.020, 0.020, 0.020, 0.013
 /
 &final_output
  output_file_type="${DYN_CORE}"
  output_file="${WRF_BINARY_FILE}"
 /
 &options
  landice_opt=3
 /
!

export pgm=nam_coldstart_wrf
. prep_step

startmsg
$EXECnam/nam_coldstart_wrf >> $pgmout 2>errfile
export err=$?;err_chk

## Run partial cycling code

#best available atmospheric states
export ATM_FILE="wrfinput_d01"
#best available land surface states
export SFC_FILE="/nwges/${envir}/ndas.hold/wrfrst_d01_hold.${hstart}z"

export pgm=nam_partialcyc
. prep_step

startmsg
$EXECnam/nam_partialcyc >> $pgmout 2>errfile
export err=$?;err_chk

cp wrfinput_d01 $GESDIR/ndas.t${cyc}z.wrfinput_d01.tm12

msg="JOB $job FOR WRF-NMM HAS COMPLETED NORMALLY"
postmsg "$jlogfile" "$msg"

