#!/bin/ksh
################################################################################
####  UNIX Script Documentation Block
#                      .                                             .
# Script name:         exndas_gsireg.sh.sms
# Script description:  Runs regional GSI variational analysis and computes boundary
#                      tendencies for NAM forecast
#
# Author:        Eric Rogers       Org: NP22         Date: 1999-06-23
#
# Script history log:
# 1999-06-23  Eric Rogers
# 1999-08-02  Brent Gordon  - Modified for production
# 2006-01-13  Eric Rogers - Modified for WRF-NMM GSI analysis
#

set -x
cd $DATA

msg="JOB $job HAS BEGUN"
postmsg "$jlogfile" "$msg"
export XLSMPOPTS="parthds=2:spins=0:yields=0:stack=128000000:schedule=static"

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

# Set environment variables for NCEP IBM
export MEMORY_AFFINITY=MCM
export MP_SHARED_MEMORY=yes

# Recommended MPI environment variable setttings from IBM
# (Appendix E, HPC Clusters Using InfiniBand on IBM Power Systems Servers)
export LAPI_DEBUG_ENABLE_AFFINITY=YES
export MP_FIFO_MTU=4K
export MP_SYNC_QP=YES
export MP_SHM_ATTACH_THRESH=500000 # default is better sometimes
export MP_EUIDEVELOP=min
export MP_USE_BULK_XFER=yes
export MP_BULK_MIN_MSG_SIZE=64k
export MP_RC_MAX_QP=8192
export LAPI_DEBUG_RC_DREG_THRESHOLD=1000000
export LAPI_DEBUG_QP_NOTIFICATION=no
export LAPI_DEBUG_RC_INIT_SETUP=yes

DATEANL=$CYCLE
SDATE=$CYCLE
tmpdir=$DATA

adate=$SDATE

export tmmark_prev=tm03

offset_prev=-`echo $tmmark_prev | cut -c 3-4`
SDATE_PREV=`/nwprod/util/exec/ndate $offset_prev $CYCLE`

# try to see in links to restart files work to avoid having to copy them to tmpnwprd

# E.Rogers 2/07: Change links to copies so that file in /nwges is not overwritten by the 
# tm00 analysis, in case the tm03 wrfrst file is used to start the next NDAS cycle
# or PMB needs to rerun this job

if test $GUESS = "NAM"
then
   cp $GESNDAS/ndas.t${cyc}z.nmm_b_restart_nemsio.tm03 ./wrf_inout
else
   cp $GESDIR/nam.t${cyc}z.input_nemsio.d01.tm00 ./wrf_inout
fi

# Specify fixed field and data directories.
aday=`echo $adate | cut -c1-8`
cya=`echo $adate | cut -c9-10`
cday=`echo $CYCLE | cut -c1-8`
CYC=`echo $CYCLE | cut -c9-10`

if [ $GUESS = NAM ] ; then

# Make gsi namelist
cat << EOF > gsiparm.anl
 &SETUP
   miter=2,niter(1)=50,niter(2)=50,
   write_diag(1)=.true.,write_diag(2)=.false.,write_diag(3)=.true.,
   gencode=78,qoption=2,
   factqmin=0.0,factqmax=0.0,
   ndat=64,npred=5,iguess=-1,
   oneobtest=.false.,retrieval=.false.,
   nhr_assimilation=3,l_foto=.false.,
   use_pbl=.false.,
   print_diag_pcg=.true.,
 /
 &GRIDOPTS
   wrf_nmm_regional=.false.,wrf_mass_regional=.false.,nems_nmmb_regional=.true.,diagnostic_reg=.false.,
   nmmb_reference_grid='H',grid_ratio_nmmb=1.412,
   filled_grid=.false.,half_grid=.false.,netcdf=.false.,nvege_type=20,
 /
 &BKGERR
   hzscl=0.373,0.746,1.50,
   vs=1.0,bw=0.,fstat=.true.,
 /
 &ANBKGERR
   anisotropic=.false.,
 /
 &JCOPTS
 /
 &STRONGOPTS
   jcstrong=.false.,jcstrong_option=3,nstrong=0,nvmodes_keep=20,period_max=3.,
    baldiag_full=.true.,baldiag_inc=.true.,  
 /
 &OBSQC
   dfact=0.75,dfact1=3.0,noiqc=.false.,
   vadfile='prepbufr',
 /
 &OBS_INPUT
   dmesh(1)=120.0,time_window_max=1.5,
   dfile(01)='prepbufr',  dtype(01)='ps',        dplat(01)=' ',       dsis(01)='ps',                 dval(01)=0.0, dthin(01)=0,  dsfcalc(01)=0,
   dfile(02)='prepbufr'   dtype(02)='t',         dplat(02)=' ',       dsis(02)='t',                  dval(02)=0.0, dthin(02)=0,  dsfcalc(02)=0,
   dfile(03)='prepbufr',  dtype(03)='q',         dplat(03)=' ',       dsis(03)='q',                  dval(03)=0.0, dthin(03)=0,  dsfcalc(03)=0,
   dfile(04)='prepbufr',  dtype(04)='pw',        dplat(04)=' ',       dsis(04)='pw',                 dval(04)=0.0, dthin(04)=0,  dsfcalc(04)=0,
   dfile(05)='prepbufr',  dtype(05)='uv',        dplat(05)=' ',       dsis(05)='uv',                 dval(05)=0.0, dthin(05)=0,  dsfcalc(05)=0,
   dfile(06)='prepbufr',  dtype(06)='spd',       dplat(06)=' ',       dsis(06)='spd',                dval(06)=0.0, dthin(06)=0,  dsfcalc(06)=0,
   dfile(07)='prepbufr',  dtype(07)='dw',        dplat(07)=' ',       dsis(07)='dw',                 dval(07)=0.0, dthin(07)=0,  dsfcalc(07)=0,
   dfile(08)='radarbufr', dtype(08)='rw',        dplat(08)=' ',       dsis(08)='rw',                 dval(08)=0.0, dthin(08)=0,  dsfcalc(08)=0,
   dfile(09)='prepbufr',  dtype(09)='sst',       dplat(09)=' ',       dsis(09)='sst',                dval(09)=0.0, dthin(09)=0,  dsfcalc(09)=0,
   dfile(10)='gpsrobufr', dtype(10)='gps_ref',   dplat(10)=' ',       dsis(10)='gps_ref',            dval(10)=0.0, dthin(10)=0,  dsfcalc(10)=0,
   dfile(11)='ssmirrbufr',dtype(11)='pcp_ssmi',  dplat(11)='dmsp',    dsis(11)='pcp_ssmi',           dval(11)=0.0, dthin(11)=-1, dsfcalc(11)=0,
   dfile(12)='tmirrbufr', dtype(12)='pcp_tmi',   dplat(12)='trmm',    dsis(12)='pcp_tmi',            dval(12)=0.0, dthin(12)=-1, dsfcalc(12)=0,
   dfile(13)='sbuvbufr',  dtype(13)='sbuv2',     dplat(13)='n16',     dsis(13)='sbuv8_n16',          dval(13)=0.0, dthin(13)=0,  dsfcalc(13)=0,
   dfile(14)='sbuvbufr',  dtype(14)='sbuv2',     dplat(14)='n17',     dsis(14)='sbuv8_n17',          dval(14)=0.0, dthin(14)=0,  dsfcalc(14)=0,
   dfile(15)='sbuvbufr',  dtype(15)='sbuv2',     dplat(15)='n18',     dsis(15)='sbuv8_n18',          dval(15)=0.0, dthin(15)=0,  dsfcalc(15)=0,
   dfile(16)='hirs2bufr', dtype(16)='hirs2',     dplat(16)='n14',     dsis(16)='hirs2_n14',          dval(16)=0.0, dthin(16)=1,  dsfcalc(16)=0,
   dfile(17)='hirs3bufr', dtype(17)='hirs3',     dplat(17)='n16',     dsis(17)='hirs3_n16',          dval(17)=0.0, dthin(17)=1,  dsfcalc(17)=0,
   dfile(18)='hirs3bufr', dtype(18)='hirs3',     dplat(18)='n17',     dsis(18)='hirs3_n17',          dval(18)=0.0, dthin(18)=1,  dsfcalc(18)=0,
   dfile(19)='hirs4bufr', dtype(19)='hirs4',     dplat(19)='n18',     dsis(19)='hirs4_n18',          dval(19)=0.0, dthin(19)=1,  dsfcalc(19)=0,
   dfile(20)='hirs4bufr', dtype(20)='hirs4',     dplat(20)='metop-a', dsis(20)='hirs4_metop-a',      dval(20)=0.0, dthin(20)=1,  dsfcalc(20)=0,
   dfile(21)='gsndrbufr', dtype(21)='sndr',      dplat(21)='g11',     dsis(21)='sndr_g11',           dval(21)=0.0, dthin(21)=1,  dsfcalc(21)=0,
   dfile(22)='gsndrbufr', dtype(22)='sndr',      dplat(22)='g12',     dsis(22)='sndr_g12',           dval(22)=0.0, dthin(22)=1,  dsfcalc(22)=0,
   dfile(23)='gimgrbufr', dtype(23)='goes_img',  dplat(23)='g11',     dsis(23)='imgr_g11',           dval(23)=0.0, dthin(23)=1,  dsfcalc(23)=0,
   dfile(24)='gimgrbufr', dtype(24)='goes_img',  dplat(24)='g12',     dsis(24)='imgr_g12',           dval(24)=0.0, dthin(24)=1,  dsfcalc(24)=0,
   dfile(25)='airsbufr',  dtype(25)='airs',      dplat(25)='aqua',    dsis(25)='airs281SUBSET_aqua', dval(25)=0.0, dthin(25)=1,  dsfcalc(25)=0,
   dfile(26)='msubufr',   dtype(26)='msu',       dplat(26)='n14',     dsis(26)='msu_n14',            dval(26)=0.0, dthin(26)=1,  dsfcalc(26)=0,
   dfile(27)='amsuabufr', dtype(27)='amsua',     dplat(27)='n15',     dsis(27)='amsua_n15',          dval(27)=0.0, dthin(27)=1,  dsfcalc(27)=0,
   dfile(28)='amsuabufr', dtype(28)='amsua',     dplat(28)='n16',     dsis(28)='amsua_n16',          dval(28)=0.0, dthin(28)=1,  dsfcalc(28)=0,
   dfile(29)='amsuabufr', dtype(29)='amsua',     dplat(29)='n17',     dsis(29)='amsua_n17',          dval(29)=0.0, dthin(29)=1,  dsfcalc(29)=0,
   dfile(30)='amsuabufr', dtype(30)='amsua',     dplat(30)='n18',     dsis(30)='amsua_n18',          dval(30)=0.0, dthin(30)=1,  dsfcalc(30)=0,
   dfile(31)='amsuabufr', dtype(31)='amsua',     dplat(31)='metop-a', dsis(31)='amsua_metop-a',      dval(31)=0.0, dthin(31)=1,  dsfcalc(31)=0,
   dfile(32)='airsbufr',  dtype(32)='amsua',     dplat(32)='aqua',    dsis(32)='amsua_aqua',         dval(32)=0.0, dthin(32)=1,  dsfcalc(32)=0,
   dfile(33)='amsubbufr', dtype(33)='amsub',     dplat(33)='n15',     dsis(33)='amsub_n15',          dval(33)=0.0, dthin(33)=1,  dsfcalc(33)=0,
   dfile(34)='amsubbufr', dtype(34)='amsub',     dplat(34)='n16',     dsis(34)='amsub_n16',          dval(34)=0.0, dthin(34)=1,  dsfcalc(34)=0,
   dfile(35)='amsubbufr', dtype(35)='amsub',     dplat(35)='n17',     dsis(35)='amsub_n17',          dval(35)=0.0, dthin(35)=1,  dsfcalc(35)=0,
   dfile(36)='mhsbufr',   dtype(36)='mhs',       dplat(36)='n18',     dsis(36)='mhs_n18',            dval(36)=0.0, dthin(36)=1,  dsfcalc(36)=0,
   dfile(37)='mhsbufr',   dtype(37)='mhs',       dplat(37)='metop-a', dsis(37)='mhs_metop-a',        dval(37)=0.0, dthin(37)=1,  dsfcalc(37)=0,
   dfile(38)='ssmitbufr', dtype(38)='ssmi',      dplat(38)='f13',     dsis(38)='ssmi_f13',           dval(38)=0.0, dthin(38)=1,  dsfcalc(38)=0,
   dfile(39)='ssmitbufr', dtype(39)='ssmi',      dplat(39)='f14',     dsis(39)='ssmi_f14',           dval(39)=0.0, dthin(39)=1,  dsfcalc(39)=0,
   dfile(40)='ssmitbufr', dtype(40)='ssmi',      dplat(40)='f15',     dsis(40)='ssmi_f15',           dval(40)=0.0, dthin(40)=1,  dsfcalc(40)=0,
   dfile(41)='amsrebufr', dtype(41)='amsre_low', dplat(41)='aqua',    dsis(41)='amsre_aqua',         dval(41)=0.0, dthin(41)=1,  dsfcalc(41)=0,
   dfile(42)='amsrebufr', dtype(42)='amsre_mid', dplat(42)='aqua',    dsis(42)='amsre_aqua',         dval(42)=0.0, dthin(42)=1,  dsfcalc(42)=0,
   dfile(43)='amsrebufr', dtype(43)='amsre_hig', dplat(43)='aqua',    dsis(43)='amsre_aqua',         dval(43)=0.0, dthin(43)=1,  dsfcalc(43)=0,
   dfile(44)='ssmisbufr', dtype(44)='ssmis',     dplat(44)='f16',     dsis(44)='ssmis_f16',          dval(44)=0.0, dthin(44)=1,  dsfcalc(44)=0,
   dfile(45)='gsnd1bufr', dtype(45)='sndrd1',    dplat(45)='g12',     dsis(45)='sndrD1_g12',         dval(45)=0.0, dthin(45)=1,  dsfcalc(45)=0,
   dfile(46)='gsnd1bufr', dtype(46)='sndrd2',    dplat(46)='g12',     dsis(46)='sndrD2_g12',         dval(46)=0.0, dthin(46)=1,  dsfcalc(46)=0,
   dfile(47)='gsnd1bufr', dtype(47)='sndrd3',    dplat(47)='g12',     dsis(47)='sndrD3_g12',         dval(47)=0.0, dthin(47)=1,  dsfcalc(47)=0,
   dfile(48)='gsnd1bufr', dtype(48)='sndrd4',    dplat(48)='g12',     dsis(48)='sndrD4_g12',         dval(48)=0.0, dthin(48)=1,  dsfcalc(48)=0,
   dfile(49)='gsnd1bufr', dtype(49)='sndrd1',    dplat(49)='g11',     dsis(49)='sndrD1_g11',         dval(49)=0.0, dthin(49)=1,  dsfcalc(49)=0,
   dfile(50)='gsnd1bufr', dtype(50)='sndrd2',    dplat(50)='g11',     dsis(50)='sndrD2_g11',         dval(50)=0.0, dthin(50)=1,  dsfcalc(50)=0,
   dfile(51)='gsnd1bufr', dtype(51)='sndrd3',    dplat(51)='g11',     dsis(51)='sndrD3_g11',         dval(51)=0.0, dthin(51)=1,  dsfcalc(51)=0,
   dfile(52)='gsnd1bufr', dtype(52)='sndrd4',    dplat(52)='g11',     dsis(52)='sndrD4_g11',         dval(52)=0.0, dthin(52)=1,  dsfcalc(52)=0,
   dfile(53)='gsnd1bufr', dtype(53)='sndrd1',    dplat(53)='g13',     dsis(53)='sndrD1_g13',         dval(53)=0.0, dthin(53)=1,  dsfcalc(53)=0,
   dfile(54)='gsnd1bufr', dtype(54)='sndrd2',    dplat(54)='g13',     dsis(54)='sndrD2_g13',         dval(54)=0.0, dthin(54)=1,  dsfcalc(54)=0,
   dfile(55)='gsnd1bufr', dtype(55)='sndrd3',    dplat(55)='g13',     dsis(55)='sndrD3_g13',         dval(55)=0.0, dthin(55)=1,  dsfcalc(55)=0,
   dfile(56)='gsnd1bufr', dtype(56)='sndrd4',    dplat(56)='g13',     dsis(56)='sndrD4_g13',         dval(56)=0.0, dthin(56)=1,  dsfcalc(56)=0,
   dfile(57)='iasibufr',  dtype(57)='iasi',      dplat(57)='metop-a', dsis(57)='iasi616_metop-a',    dval(57)=0.0, dthin(57)=1,  dsfcalc(57)=0,
   dfile(58)='gomebufr',  dtype(58)='gome',      dplat(58)='metop-a', dsis(58)='gome_metop-a',       dval(58)=0.0, dthin(58)=1,  dsfcalc(58)=0,
   dfile(59)='omibufr',   dtype(59)='omi',       dplat(59)='aura',    dsis(59)='omi_aura',           dval(59)=0.0, dthin(59)=1,  dsfcalc(59)=0,
   dfile(60)='sbuvbufr',  dtype(60)='sbuv2',     dplat(60)='n19',     dsis(60)='sbuv8_n19',          dval(60)=0.0, dthin(60)=0,  dsfcalc(60)=0,
   dfile(61)='hirs4bufr', dtype(61)='hirs4',     dplat(61)='n19',     dsis(61)='hirs4_n19',          dval(61)=0.0, dthin(61)=1,  dsfcalc(61)=0,
   dfile(62)='amsuabufr', dtype(62)='amsua',     dplat(62)='n19',     dsis(62)='amsua_n19',          dval(62)=0.0, dthin(62)=1,  dsfcalc(62)=0,
   dfile(63)='mhsbufr',   dtype(63)='mhs',       dplat(63)='n19',     dsis(63)='mhs_n19',            dval(63)=0.0, dthin(63)=1,  dsfcalc(63)=0,
   dfile(64)='tcvitl'     dtype(64)='tcp',       dplat(64)=' ',       dsis(64)='tcp',                dval(64)=0.0, dthin(64)=0,  dsfcalc(64)=0,
/
 &SUPEROB_RADAR
   del_azimuth=5.,del_elev=.25,del_range=5000.,del_time=.5,elev_angle_max=5.,minnum=50,range_max=100000.,
   l2superob_only=.false.,
 /
 &LAG_DATA
 /
 &HYBRID_ENSEMBLE
 /
 &RAPIDREFRESH_CLDSURF
   l_cloud_analysis=.false.,
   dfi_radar_latent_heat_time_period=30.0,
 /
 &SINGLEOB_TEST
   maginnov=0.1,magoberr=0.1,oneob_type='t',
   oblat=45.,oblon=270.,obpres=850.,obdattim=${adate},
   obhourset=0.,
 /
EOF
else

# Make gsi namelist
cat << EOF > gsiparm.anl
 &SETUP
   miter=2,niter(1)=50,niter(2)=50,
   write_diag(1)=.true.,write_diag(2)=.false.,write_diag(3)=.true.,
   gencode=78,qoption=2,
   factqmin=0.0,factqmax=0.0,
   ndat=64,npred=5,iguess=-1,
   oneobtest=.false.,retrieval=.false.,
   nhr_assimilation=3,l_foto=.false.,
   use_pbl=.false.,
   print_diag_pcg=.true.,
 /
 &GRIDOPTS
   wrf_nmm_regional=.false.,wrf_mass_regional=.false.,nems_nmmb_regional=.true.,diagnostic_reg=.false.,
   nmmb_reference_grid='H',grid_ratio_nmmb=1.412,
   filled_grid=.false.,half_grid=.false.,netcdf=.false.,nvege_type=20,
 /
 &BKGERR
   hzscl=0.373,0.746,1.50,
   vs=0.6,bw=0.,fstat=.false.,
 /
 &ANBKGERR
   anisotropic=.false.,
 /
 &JCOPTS
 /
 &STRONGOPTS
   jcstrong=.false.,jcstrong_option=3,nstrong=0,nvmodes_keep=20,period_max=3.,
    baldiag_full=.true.,baldiag_inc=.true.,  
 /
 &OBSQC
   dfact=0.75,dfact1=3.0,noiqc=.false.,
   vadfile='prepbufr',
 /
 &OBS_INPUT
   dmesh(1)=120.0,time_window_max=1.5,
   dfile(01)='prepbufr',  dtype(01)='ps',        dplat(01)=' ',       dsis(01)='ps',                 dval(01)=0.0, dthin(01)=0,  dsfcalc(01)=0,
   dfile(02)='prepbufr'   dtype(02)='t',         dplat(02)=' ',       dsis(02)='t',                  dval(02)=0.0, dthin(02)=0,  dsfcalc(02)=0,
   dfile(03)='prepbufr',  dtype(03)='q',         dplat(03)=' ',       dsis(03)='q',                  dval(03)=0.0, dthin(03)=0,  dsfcalc(03)=0,
   dfile(04)='prepbufr',  dtype(04)='pw',        dplat(04)=' ',       dsis(04)='pw',                 dval(04)=0.0, dthin(04)=0,  dsfcalc(04)=0,
   dfile(05)='prepbufr',  dtype(05)='uv',        dplat(05)=' ',       dsis(05)='uv',                 dval(05)=0.0, dthin(05)=0,  dsfcalc(05)=0,
   dfile(06)='prepbufr',  dtype(06)='spd',       dplat(06)=' ',       dsis(06)='spd',                dval(06)=0.0, dthin(06)=0,  dsfcalc(06)=0,
   dfile(07)='prepbufr',  dtype(07)='dw',        dplat(07)=' ',       dsis(07)='dw',                 dval(07)=0.0, dthin(07)=0,  dsfcalc(07)=0,
   dfile(08)='radarbufr', dtype(08)='rw',        dplat(08)=' ',       dsis(08)='rw',                 dval(08)=0.0, dthin(08)=0,  dsfcalc(08)=0,
   dfile(09)='prepbufr',  dtype(09)='sst',       dplat(09)=' ',       dsis(09)='sst',                dval(09)=0.0, dthin(09)=0,  dsfcalc(09)=0,
   dfile(10)='gpsrobufr', dtype(10)='gps_ref',   dplat(10)=' ',       dsis(10)='gps_ref',            dval(10)=0.0, dthin(10)=0,  dsfcalc(10)=0,
   dfile(11)='ssmirrbufr',dtype(11)='pcp_ssmi',  dplat(11)='dmsp',    dsis(11)='pcp_ssmi',           dval(11)=0.0, dthin(11)=-1, dsfcalc(11)=0,
   dfile(12)='tmirrbufr', dtype(12)='pcp_tmi',   dplat(12)='trmm',    dsis(12)='pcp_tmi',            dval(12)=0.0, dthin(12)=-1, dsfcalc(12)=0,
   dfile(13)='sbuvbufr',  dtype(13)='sbuv2',     dplat(13)='n16',     dsis(13)='sbuv8_n16',          dval(13)=0.0, dthin(13)=0,  dsfcalc(13)=0,
   dfile(14)='sbuvbufr',  dtype(14)='sbuv2',     dplat(14)='n17',     dsis(14)='sbuv8_n17',          dval(14)=0.0, dthin(14)=0,  dsfcalc(14)=0,
   dfile(15)='sbuvbufr',  dtype(15)='sbuv2',     dplat(15)='n18',     dsis(15)='sbuv8_n18',          dval(15)=0.0, dthin(15)=0,  dsfcalc(15)=0,
   dfile(16)='hirs2bufr', dtype(16)='hirs2',     dplat(16)='n14',     dsis(16)='hirs2_n14',          dval(16)=0.0, dthin(16)=1,  dsfcalc(16)=0,
   dfile(17)='hirs3bufr', dtype(17)='hirs3',     dplat(17)='n16',     dsis(17)='hirs3_n16',          dval(17)=0.0, dthin(17)=1,  dsfcalc(17)=0,
   dfile(18)='hirs3bufr', dtype(18)='hirs3',     dplat(18)='n17',     dsis(18)='hirs3_n17',          dval(18)=0.0, dthin(18)=1,  dsfcalc(18)=0,
   dfile(19)='hirs4bufr', dtype(19)='hirs4',     dplat(19)='n18',     dsis(19)='hirs4_n18',          dval(19)=0.0, dthin(19)=1,  dsfcalc(19)=0,
   dfile(20)='hirs4bufr', dtype(20)='hirs4',     dplat(20)='metop-a', dsis(20)='hirs4_metop-a',      dval(20)=0.0, dthin(20)=1,  dsfcalc(20)=0,
   dfile(21)='gsndrbufr', dtype(21)='sndr',      dplat(21)='g11',     dsis(21)='sndr_g11',           dval(21)=0.0, dthin(21)=1,  dsfcalc(21)=0,
   dfile(22)='gsndrbufr', dtype(22)='sndr',      dplat(22)='g12',     dsis(22)='sndr_g12',           dval(22)=0.0, dthin(22)=1,  dsfcalc(22)=0,
   dfile(23)='gimgrbufr', dtype(23)='goes_img',  dplat(23)='g11',     dsis(23)='imgr_g11',           dval(23)=0.0, dthin(23)=1,  dsfcalc(23)=0,
   dfile(24)='gimgrbufr', dtype(24)='goes_img',  dplat(24)='g12',     dsis(24)='imgr_g12',           dval(24)=0.0, dthin(24)=1,  dsfcalc(24)=0,
   dfile(25)='airsbufr',  dtype(25)='airs',      dplat(25)='aqua',    dsis(25)='airs281SUBSET_aqua', dval(25)=0.0, dthin(25)=1,  dsfcalc(25)=0,
   dfile(26)='msubufr',   dtype(26)='msu',       dplat(26)='n14',     dsis(26)='msu_n14',            dval(26)=0.0, dthin(26)=1,  dsfcalc(26)=0,
   dfile(27)='amsuabufr', dtype(27)='amsua',     dplat(27)='n15',     dsis(27)='amsua_n15',          dval(27)=0.0, dthin(27)=1,  dsfcalc(27)=0,
   dfile(28)='amsuabufr', dtype(28)='amsua',     dplat(28)='n16',     dsis(28)='amsua_n16',          dval(28)=0.0, dthin(28)=1,  dsfcalc(28)=0,
   dfile(29)='amsuabufr', dtype(29)='amsua',     dplat(29)='n17',     dsis(29)='amsua_n17',          dval(29)=0.0, dthin(29)=1,  dsfcalc(29)=0,
   dfile(30)='amsuabufr', dtype(30)='amsua',     dplat(30)='n18',     dsis(30)='amsua_n18',          dval(30)=0.0, dthin(30)=1,  dsfcalc(30)=0,
   dfile(31)='amsuabufr', dtype(31)='amsua',     dplat(31)='metop-a', dsis(31)='amsua_metop-a',      dval(31)=0.0, dthin(31)=1,  dsfcalc(31)=0,
   dfile(32)='airsbufr',  dtype(32)='amsua',     dplat(32)='aqua',    dsis(32)='amsua_aqua',         dval(32)=0.0, dthin(32)=1,  dsfcalc(32)=0,
   dfile(33)='amsubbufr', dtype(33)='amsub',     dplat(33)='n15',     dsis(33)='amsub_n15',          dval(33)=0.0, dthin(33)=1,  dsfcalc(33)=0,
   dfile(34)='amsubbufr', dtype(34)='amsub',     dplat(34)='n16',     dsis(34)='amsub_n16',          dval(34)=0.0, dthin(34)=1,  dsfcalc(34)=0,
   dfile(35)='amsubbufr', dtype(35)='amsub',     dplat(35)='n17',     dsis(35)='amsub_n17',          dval(35)=0.0, dthin(35)=1,  dsfcalc(35)=0,
   dfile(36)='mhsbufr',   dtype(36)='mhs',       dplat(36)='n18',     dsis(36)='mhs_n18',            dval(36)=0.0, dthin(36)=1,  dsfcalc(36)=0,
   dfile(37)='mhsbufr',   dtype(37)='mhs',       dplat(37)='metop-a', dsis(37)='mhs_metop-a',        dval(37)=0.0, dthin(37)=1,  dsfcalc(37)=0,
   dfile(38)='ssmitbufr', dtype(38)='ssmi',      dplat(38)='f13',     dsis(38)='ssmi_f13',           dval(38)=0.0, dthin(38)=1,  dsfcalc(38)=0,
   dfile(39)='ssmitbufr', dtype(39)='ssmi',      dplat(39)='f14',     dsis(39)='ssmi_f14',           dval(39)=0.0, dthin(39)=1,  dsfcalc(39)=0,
   dfile(40)='ssmitbufr', dtype(40)='ssmi',      dplat(40)='f15',     dsis(40)='ssmi_f15',           dval(40)=0.0, dthin(40)=1,  dsfcalc(40)=0,
   dfile(41)='amsrebufr', dtype(41)='amsre_low', dplat(41)='aqua',    dsis(41)='amsre_aqua',         dval(41)=0.0, dthin(41)=1,  dsfcalc(41)=0,
   dfile(42)='amsrebufr', dtype(42)='amsre_mid', dplat(42)='aqua',    dsis(42)='amsre_aqua',         dval(42)=0.0, dthin(42)=1,  dsfcalc(42)=0,
   dfile(43)='amsrebufr', dtype(43)='amsre_hig', dplat(43)='aqua',    dsis(43)='amsre_aqua',         dval(43)=0.0, dthin(43)=1,  dsfcalc(43)=0,
   dfile(44)='ssmisbufr', dtype(44)='ssmis',     dplat(44)='f16',     dsis(44)='ssmis_f16',          dval(44)=0.0, dthin(44)=1,  dsfcalc(44)=0,
   dfile(45)='gsnd1bufr', dtype(45)='sndrd1',    dplat(45)='g12',     dsis(45)='sndrD1_g12',         dval(45)=0.0, dthin(45)=1,  dsfcalc(45)=0,
   dfile(46)='gsnd1bufr', dtype(46)='sndrd2',    dplat(46)='g12',     dsis(46)='sndrD2_g12',         dval(46)=0.0, dthin(46)=1,  dsfcalc(46)=0,
   dfile(47)='gsnd1bufr', dtype(47)='sndrd3',    dplat(47)='g12',     dsis(47)='sndrD3_g12',         dval(47)=0.0, dthin(47)=1,  dsfcalc(47)=0,
   dfile(48)='gsnd1bufr', dtype(48)='sndrd4',    dplat(48)='g12',     dsis(48)='sndrD4_g12',         dval(48)=0.0, dthin(48)=1,  dsfcalc(48)=0,
   dfile(49)='gsnd1bufr', dtype(49)='sndrd1',    dplat(49)='g11',     dsis(49)='sndrD1_g11',         dval(49)=0.0, dthin(49)=1,  dsfcalc(49)=0,
   dfile(50)='gsnd1bufr', dtype(50)='sndrd2',    dplat(50)='g11',     dsis(50)='sndrD2_g11',         dval(50)=0.0, dthin(50)=1,  dsfcalc(50)=0,
   dfile(51)='gsnd1bufr', dtype(51)='sndrd3',    dplat(51)='g11',     dsis(51)='sndrD3_g11',         dval(51)=0.0, dthin(51)=1,  dsfcalc(51)=0,
   dfile(52)='gsnd1bufr', dtype(52)='sndrd4',    dplat(52)='g11',     dsis(52)='sndrD4_g11',         dval(52)=0.0, dthin(52)=1,  dsfcalc(52)=0,
   dfile(53)='gsnd1bufr', dtype(53)='sndrd1',    dplat(53)='g13',     dsis(53)='sndrD1_g13',         dval(53)=0.0, dthin(53)=1,  dsfcalc(53)=0,
   dfile(54)='gsnd1bufr', dtype(54)='sndrd2',    dplat(54)='g13',     dsis(54)='sndrD2_g13',         dval(54)=0.0, dthin(54)=1,  dsfcalc(54)=0,
   dfile(55)='gsnd1bufr', dtype(55)='sndrd3',    dplat(55)='g13',     dsis(55)='sndrD3_g13',         dval(55)=0.0, dthin(55)=1,  dsfcalc(55)=0,
   dfile(56)='gsnd1bufr', dtype(56)='sndrd4',    dplat(56)='g13',     dsis(56)='sndrD4_g13',         dval(56)=0.0, dthin(56)=1,  dsfcalc(56)=0,
   dfile(57)='iasibufr',  dtype(57)='iasi',      dplat(57)='metop-a', dsis(57)='iasi616_metop-a',    dval(57)=0.0, dthin(57)=1,  dsfcalc(57)=0,
   dfile(58)='gomebufr',  dtype(58)='gome',      dplat(58)='metop-a', dsis(58)='gome_metop-a',       dval(58)=0.0, dthin(58)=1,  dsfcalc(58)=0,
   dfile(59)='omibufr',   dtype(59)='omi',       dplat(59)='aura',    dsis(59)='omi_aura',           dval(59)=0.0, dthin(59)=1,  dsfcalc(59)=0,
   dfile(60)='sbuvbufr',  dtype(60)='sbuv2',     dplat(60)='n19',     dsis(60)='sbuv8_n19',          dval(60)=0.0, dthin(60)=0,  dsfcalc(60)=0,
   dfile(61)='hirs4bufr', dtype(61)='hirs4',     dplat(61)='n19',     dsis(61)='hirs4_n19',          dval(61)=0.0, dthin(61)=1,  dsfcalc(61)=0,
   dfile(62)='amsuabufr', dtype(62)='amsua',     dplat(62)='n19',     dsis(62)='amsua_n19',          dval(62)=0.0, dthin(62)=1,  dsfcalc(62)=0,
   dfile(63)='mhsbufr',   dtype(63)='mhs',       dplat(63)='n19',     dsis(63)='mhs_n19',            dval(63)=0.0, dthin(63)=1,  dsfcalc(63)=0,
   dfile(64)='tcvitl'     dtype(64)='tcp',       dplat(64)=' ',       dsis(64)='tcp',                dval(64)=0.0, dthin(64)=0,  dsfcalc(64)=0,
/
 &SUPEROB_RADAR
   del_azimuth=5.,del_elev=.25,del_range=5000.,del_time=.5,elev_angle_max=5.,minnum=50,range_max=100000.,
   l2superob_only=.false.,
 /
 &LAG_DATA
 /
 &HYBRID_ENSEMBLE
 /
 &RAPIDREFRESH_CLDSURF
   l_cloud_analysis=.false.,
   dfi_radar_latent_heat_time_period=30.0,
 /
 &SINGLEOB_TEST
   maginnov=0.1,magoberr=0.1,oneob_type='t',
   oblat=45.,oblon=270.,obpres=850.,obdattim=${adate},
   obhourset=0.,
 /
EOF

fi

if [ $GUESS = NAM ] ; then
  berror=$FIXnam/nam_nmmstat_na.gcv
  anavinfo=$FIXnam/nam_anavinfo_nems_nmmb
else
  berror=$FIXnam/nam_nmmstat_na_glberror.gcv
  anavinfo=$FIXnam/nam_anavinfo_nems_nmmb_glb
fi

emiscoef=$FIXnam/nam_CRTM_Coefficients/EmisCoeff/Big_Endian/EmisCoeff.bin
aercoef=$FIXnam/nam_CRTM_Coefficients/AerosolCoeff/Big_Endian/AerosolCoeff.bin
cldcoef=$FIXnam/nam_CRTM_Coefficients/CloudCoeff/Big_Endian/CloudCoeff.bin
satinfo=$FIXnam/nam_regional_satinfo.txt
satangl=$FIXnam/nam_global_satangbias.txt
pcpinfo=$FIXnam/nam_global_pcpinfo.txt
ozinfo=$FIXnam/nam_global_ozinfo.txt
errtable=$FIXnam/nam_errtable.r3dv
convinfo=$FIXnam/nam_regional_convinfo.txt
mesonetuselist=$FIXnam/nam_mesonet_uselist.txt
stnuselist=$FIXnam/nam_mesonet_stnuselist.txt

cp $anavinfo ./anavinfo
cp $berror   ./berror_stats
cp $errtable ./errtable
cp $emiscoef ./EmisCoeff.bin
cp $aercoef  ./AerosolCoeff.bin
cp $cldcoef  ./CloudCoeff.bin
cp $satangl  ./satbias_angle
cp $satinfo  ./satinfo
cp $pcpinfo  ./pcpinfo
cp $ozinfo   ./ozinfo
cp $convinfo ./convinfo
cp $mesonetuselist ./mesonetuselist
cp $stnuselist ./mesonet_stnuselist

export COM_RTMA=${COM_RTMA:-/com/rtma2p5/prod}
MP=$COM_RTMA/rtma2p5.${aday}

cp $MP/rtma2p5.t${cya}z.t_rejectlist ./t_rejectlist
cp $MP/rtma2p5.t${cya}z.p_rejectlist ./p_rejectlist
cp $MP/rtma2p5.t${cya}z.q_rejectlist ./q_rejectlist

ls -1 t_rejectlist p_rejectlist q_rejectlist
err5=$?

if [ $err5 -ne 0 ] ; then
  cp $gespath/ndas.hold/*_rejectlist .
fi

cp t_rejectlist $COMOUT/nam.t${cyc}z.t_rejectlist.${tmmark}
cp p_rejectlist $COMOUT/nam.t${cyc}z.p_rejectlist.${tmmark}
cp q_rejectlist $COMOUT/nam.t${cyc}z.q_rejectlist.${tmmark}

cp *_rejectlist $gespath/ndas.hold/.

# Copy CRTM coefficient files based on entries in satinfo file
nsatsen=`cat $satinfo | wc -l`
isatsen=1
while [[ $isatsen -le $nsatsen ]]; do
   flag=`head -n $isatsen $satinfo | tail -1 | cut -c1-1`
   if [[ "$flag" != "!" ]]; then
      satsen=`head -n $isatsen $satinfo | tail -1 | cut -f 2 -d" "`
      spccoeff=${satsen}.SpcCoeff.bin
      if  [[ ! -s $spccoeff ]]; then
         cp $FIXnam/nam_CRTM_Coefficients/SpcCoeff/Big_Endian/$spccoeff ./
         cp $FIXnam/nam_CRTM_Coefficients/TauCoeff/Big_Endian/${satsen}.TauCoeff.bin ./
      fi
   fi
   isatsen=` expr $isatsen + 1 `
done

##############################################################
# Get prepbufr file and satellite radiances
###############################################################

cp $COMIN/nam.t${cyc}z.prepbufr.tm00 $DATA/prepbufr

cp $COMIN/${RUN}.t${cyc}z.mtiasi.${tmmark}.bufr_d $DATA/iasibufr
cp $COMIN/${RUN}.t${cyc}z.1bhrs3.${tmmark}.bufr_d $DATA/hirs3bufr
cp $COMIN/${RUN}.t${cyc}z.1bhrs4.${tmmark}.bufr_d $DATA/hirs4bufr
cp $COMIN/${RUN}.t${cyc}z.1bamua.${tmmark}.bufr_d $DATA/amsuabufr
cp $COMIN/${RUN}.t${cyc}z.1bamub.${tmmark}.bufr_d $DATA/amsubbufr
cp $COMIN/${RUN}.t${cyc}z.1bmhs.${tmmark}.bufr_d  $DATA/mhsbufr
cp $COMIN/${RUN}.t${cyc}z.osbuv8.${tmmark}.bufr_d $DATA/sbuvbufr
cp $COMIN/${RUN}.t${cyc}z.gpsro.${tmmark}.bufr_d $DATA/gpsrobufr
cp $COMIN/${RUN}.t${cyc}z.goesfv.${tmmark}.bufr_d $DATA/gsnd1bufr
cp $COMIN/${RUN}.t${cyc}z.airsev.${tmmark}.bufr_d $DATA/airsbufr
cp $COMIN/${RUN}.t${cyc}z.radwnd.${tmmark}.bufr_d $DATA/radarbufr
cp $COMIN/${RUN}.t${cyc}z.nexrad.${tmmark}.bufr_d $DATA/l2rwbufr

TM12=`/nwprod/util/exec/ndate -12 $CYCLE`
TM06=`/nwprod/util/exec/ndate -06 $CYCLE`

yyyymmdd=`echo $CYCLE | cut -c 1-8`
hh=`echo $CYCLE | cut -c 9-10`

yyyymmddm12=`echo $TM12 | cut -c 1-8`
hh12=`echo $TM12 | cut -c 9-10`
yyyymmddm06=`echo $TM06 | cut -c 1-8`

case $cyc in
  00) bias1=$COM_IN/ndas.${yyyymmdd}/ndas.t00z.satbias.tm03
      bias2=$COM_IN/ndas.${yyyymmddm06}/ndas.t18z.satbias.tm09
      bias3=$COM_IN/ndas.${yyyymmddm12}/ndas.t12z.satbias.tm03;;
  06) bias1=$COM_IN/ndas.${yyyymmdd}/ndas.t06z.satbias.tm03
      bias2=$COM_IN/ndas.${yyyymmddm06}/ndas.t00z.satbias.tm09
      bias3=$COM_IN/ndas.${yyyymmddm12}/ndas.t18z.satbias.tm03;;
  12) bias1=$COM_IN/ndas.${yyyymmdd}/ndas.t12z.satbias.tm03
      bias2=$COM_IN/ndas.${yyyymmddm06}/ndas.t06z.satbias.tm09
      bias3=$COM_IN/ndas.${yyyymmddm12}/ndas.t00z.satbias.tm03;;
  18) bias1=$COM_IN/ndas.${yyyymmdd}/ndas.t18z.satbias.tm03
      bias2=$COM_IN/ndas.${yyyymmddm06}/ndas.t12z.satbias.tm09
      bias3=$COM_IN/ndas.${yyyymmddm12}/ndas.t06z.satbias.tm03;;
esac

if [ -s $bias1 ]
then
    cp $bias1 $DATA/satbias_in
else
   if [ -s $bias2 ]
   then
      cp $bias2 $DATA/satbias_in
   else
      if [ -s $bias3 ]
      then
         cp $bias3 $DATA/satbias_in
      else
         cp $gespath/ndas.hold/satbias_in $DATA/satbias_in
      fi
   fi
fi

##########################################################

case $cyc in
  00) ang1=$COM_IN/ndas.${yyyymmdd}/ndas.t00z.satang.tm03
      ang2=$COM_IN/ndas.${yyyymmddm06}/ndas.t18z.satang.tm09
      ang3=$COM_IN/ndas.${yyyymmddm12}/ndas.t12z.satang.tm03;;
  06) ang1=$COM_IN/ndas.${yyyymmdd}/ndas.t06z.satang.tm03
      ang2=$COM_IN/ndas.${yyyymmddm06}/ndas.t00z.satang.tm09
      ang3=$COM_IN/ndas.${yyyymmddm12}/ndas.t18z.satang.tm03;;
  12) ang1=$COM_IN/ndas.${yyyymmdd}/ndas.t12z.satang.tm03
      ang2=$COM_IN/ndas.${yyyymmddm06}/ndas.t06z.satang.tm09
      ang3=$COM_IN/ndas.${yyyymmddm12}/ndas.t00z.satang.tm03;;
  18) ang1=$COM_IN/ndas.${yyyymmdd}/ndas.t18z.satang.tm03
      ang2=$COM_IN/ndas.${yyyymmddm06}/ndas.t12z.satang.tm09
      ang3=$COM_IN/ndas.${yyyymmddm12}/ndas.t06z.satang.tm03;;
esac

if [ -s $ang1 ]
then
    cp $ang1 $DATA/satbias_angle
else
   if [ -s $ang2 ]
   then
      cp $ang2 $DATA/satbias_angle
   else
      if [ -s $ang3 ]
      then
         cp $ang3 $DATA/satbias_angle
      else
         cp $gespath/ndas.hold/satbias_angle $DATA/satbias_angle
      fi
   fi
fi

#################################################################

sync

export MP_SHARED_MEMORY=yes
export MEMORY_AFFINITY=MCM
export BIND_TASKS=YES

export pgm=nam_gsi
. prep_step

startmsg
$EXECnam/nam_gsi < gsiparm.anl >> $pgmout 2>errfile
rc=$?

# In the event of a MPI read failure, sleep, and rerun nam_gsi
if [[ $rc -ne 0 ]]; then
 msg="JOB $job WAS RESTARTED DUE TO MPI READ ERROR IN NAM_GSI"
 postmsg "$jlogfile" "$msg"
 sleep 10
 /bin/rm -rf ./dir.*
 $EXECnam/nam_gsi < gsiparm.anl >> $pgmout 2>errfile
 export err=$?;err_chk
fi

mv fort.201 fit_p1
mv fort.202 fit_w1
mv fort.203 fit_t1
mv fort.204 fit_q1
mv fort.205 fit_pw1
mv fort.207 fit_rad1
mv fort.209 fit_rw1

cat fit_p1 fit_w1 fit_t1 fit_q1 fit_pw1 fit_rad1 fit_rw1 > $COMOUT/${RUN}.${cycle}.fits.${tmmark}
cat fort.208 fort.210 fort.211 fort.212 fort.213 fort.220 > $COMOUT/${RUN}.${cycle}.fits2.${tmmark}

#copy 00hr restart file to nwges 

if [ $GUESS = GDAS ] ; then
   mv wrf_inout $GESDIR/${RUN}.t${cyc}z.input_nemsio.anl.${tmmark}
else
   mv wrf_inout $GESDIR/${RUN}.t${cyc}z.nmm_b_restart_nemsio_anl.${tmmark}
fi

cp satbias_out $COMOUT/${RUN}.t${cyc}z.satbias.${tmmark}
cp satbias_out $gespath/ndas.hold/satbias_in
cp satbias_out $gespath/ndas.hold/satbias_in.${cya}

mv radar_supobs_from_level2 $COMOUT/nam.t${cyc}z.l2suob.${tmmark}

if [ "$SENDDBN" = 'YES' ]; then
 $DBNROOT/bin/dbn_alert MODEL NAM_satbias $job $COMOUT/${RUN}.t${cyc}z.satbias.${tmmark}
fi

################################################################################
#  Update angle dependent bias
loops="01 03"
for loop in $loops; do

case $loop in
  01) string=ges;;
  03) string=anl;;
   *) string=$loop;;
esac

#  Collect diagnostic files for obs types (groups) below

   listall="hirs2_n14 msu_n14 sndr_g08 sndr_g11 sndr_g11 sndr_g12 sndr_g13 sndr_g08_prep sndr_g11_prep sndr_g12_prep sndr_g13_prep \
         sndrd1_g11 sndrd2_g11 sndrd3_g11 sndrd4_g11 sndrd1_g12 sndrd2_g12 sndrd3_g12 sndrd4_g12 sndrd1_g13 sndrd2_g13 \
         sndrd3_g13 sndrd4_g13 hirs3_n15 hirs3_n16 hirs3_n17 amsua_n15 amsua_n16 amsua_n17 amsub_n15 amsub_n16 amsub_n17 \
         hsb_aqua airs_aqua amsua_aqua imgr_g08 imgr_g11 imgr_g12 pcp_ssmi_dmsp pcp_tmi_trmm conv sbuv2_n16 sbuv2_n17 \
         sbuv2_n18 sbuv_n19 gome_metop-a omi_aura ssmi_f13 ssmi_f14 ssmi_f15 hirs4_n18 hirs4_metop-a amsua_n18 amsua_metop-a mhs_n18 mhs_metop-a \
         amsre_low_aqua amsre_mid_aqua amsre_hig_aqua ssmis_las_f16 ssmis_uas_f16 ssmis_img_f16 ssmis_env_f16 iasi_metop-a \
         hirs4_n19 amsua_n19 mhs_n19"

   for type in $listall; do
      count=`ls ${tmpdir}/dir.*/${type}_${loop}* | wc -l`
      if [[ $count -gt 0 ]]; then
         cat ${tmpdir}/dir.*/${type}_${loop}* > ${tmpdir}/diag_${type}_${string}.${SDATE}
      fi
   done
done

ANGUPDATEXEC=$EXECnam/nam_angupdate

# local input files assumed to already exist are

cp ./satbias_angle ./satbias_ang.in

listrad="hirs2_n14 msu_n14 sndr_g08 sndr_g11 sndr_g11 sndr_g12 sndr_g13 sndr_g08_prep sndr_g11_prep sndr_g12_prep sndr_g13_prep \
         sndrd1_g11 sndrd2_g11 sndrd3_g11 sndrd4_g11 sndrd1_g12 sndrd2_g12 sndrd3_g12 sndrd4_g12 sndrd1_g13 sndrd2_g13 \
         sndrd3_g13 sndrd4_g13 hirs3_n15 hirs3_n16 hirs3_n17 amsua_n15 amsua_n16 amsua_n17 amsub_n15 amsub_n16 amsub_n17 \
         hsb_aqua airs_aqua amsua_aqua imgr_g08 imgr_g11 imgr_g12 pcp_ssmi_dmsp pcp_tmi_trmm conv sbuv2_n16 sbuv2_n17 \
         sbuv2_n18 sbuv_n19 omi_aura ssmi_f13 ssmi_f14 ssmi_f15 hirs4_n18 hirs4_metop-a amsua_n18 amsua_metop-a mhs_n18 mhs_metop-a \
         amsre_low_aqua amsre_mid_aqua amsre_hig_aqua ssmis_las_f16 ssmis_uas_f16 ssmis_img_f16 ssmis_env_f16 iasi_metop-a \
         hirs4_n19 amsua_n19 mhs_n19"

for type in $listrad; do
   if [[ -s ${tmpdir}/diag_${type}_ges.$SDATE ]]; then
      ln -fs ${tmpdir}/diag_${type}_ges.$SDATE  ./diag_${type}.$SDATE
   fi
done

# output files created by program are
#   stdout.global_angupdate - not saved
#   $SATANGO = ./satbias_ang.out

iy=$(echo $SDATE|cut -c1-4)
im=$(echo $SDATE|cut -c5-6)
id=$(echo $SDATE|cut -c7-8)
ih=$(echo $SDATE|cut -c9-10)

cat <<EOF > input
 &SETUP
  jpch=1498,nstep=90,nsize=20,wgtang=0.008333333,wgtlap=0.0,
  iuseqc=1,dtmax=1.0,
  iyy1=${iy},imm1=${im},idd1=${id},ihh1=${ih},
  iyy2=${iy},imm2=${im},idd2=${id},ihh2=${ih},
  dth=06,ndat=48,
 /
 &OBS_INPUT
  dtype(01)='hirs2',     dplat(01)='n14',       dsis(01)='hirs2_n14',
  dtype(02)='hirs3',     dplat(02)='n16',       dsis(02)='hirs3_n16',
  dtype(03)='hirs3',     dplat(03)='n17',       dsis(03)='hirs3_n17',
  dtype(04)='hirs4',     dplat(04)='n18',       dsis(04)='hirs4_n18',
  dtype(05)='hirs4',     dplat(05)='metop-a',   dsis(05)='hirs4_metop-a',
  dtype(06)='sndr',      dplat(06)='g11',       dsis(06)='sndr_g11',
  dtype(07)='sndr',      dplat(07)='g12',       dsis(07)='sndr_g12',
  dtype(08)='goes_img',  dplat(08)='g11',       dsis(08)='imgr_g11',
  dtype(09)='goes_img',  dplat(09)='g12',       dsis(09)='imgr_g12',
  dtype(10)='airs',      dplat(10)='aqua',      dsis(10)='airs281SUBSET_aqua',
  dtype(11)='msu',       dplat(11)='n14',       dsis(11)='msu_n14',
  dtype(12)='amsua',     dplat(12)='n15',       dsis(12)='amsua_n15',
  dtype(13)='amsua',     dplat(13)='n16',       dsis(13)='amsua_n16',
  dtype(14)='amsua',     dplat(14)='n17',       dsis(14)='amsua_n17',
  dtype(15)='amsua',     dplat(15)='n18',       dsis(15)='amsua_n18',
  dtype(16)='amsua',     dplat(16)='metop-a',   dsis(16)='amsua_metop-a',
  dtype(17)='amsua',     dplat(17)='aqua',      dsis(17)='amsua_aqua',
  dtype(18)='amsub',     dplat(18)='n15',       dsis(18)='amsub_n15',
  dtype(19)='amsub',     dplat(19)='n16',       dsis(19)='amsub_n16',
  dtype(20)='amsub',     dplat(20)='n17',       dsis(20)='amsub_n17',
  dtype(21)='mhs',       dplat(21)='n18',       dsis(21)='mhs_n18',
  dtype(22)='mhs',       dplat(22)='metop-a',   dsis(22)='mhs_metop-a',
  dtype(23)='ssmi',      dplat(23)='f13',       dsis(23)='ssmi_f13',
  dtype(24)='ssmi',      dplat(24)='f14',       dsis(24)='ssmi_f14',
  dtype(25)='ssmi',      dplat(25)='f15',       dsis(25)='ssmi_f15',
  dtype(26)='amsre_low', dplat(26)='aqua',      dsis(26)='amsre_aqua',
  dtype(27)='amsre_mid', dplat(27)='aqua',      dsis(27)='amsre_aqua',
  dtype(28)='amsre_hig', dplat(28)='aqua',      dsis(28)='amsre_aqua',
  dtype(29)='ssmis_las', dplat(29)='f16',       dsis(29)='ssmis_f16',
  dtype(30)='ssmis_uas', dplat(30)='f16',       dsis(30)='ssmis_f16',
  dtype(31)='ssmis_img', dplat(31)='f16',       dsis(31)='ssmis_f16',
  dtype(32)='ssmis_env', dplat(32)='f16',       dsis(32)='ssmis_f16',
  dtype(33)='sndrd1',    dplat(33)='g12',       dsis(33)='sndrD1_g12',
  dtype(34)='sndrd2',    dplat(34)='g12',       dsis(34)='sndrD2_g12',
  dtype(35)='sndrd3',    dplat(35)='g12',       dsis(35)='sndrD3_g12',
  dtype(36)='sndrd4',    dplat(36)='g12',       dsis(36)='sndrD4_g12',
  dtype(37)='sndrd1',    dplat(37)='g11',       dsis(37)='sndrD1_g11',
  dtype(38)='sndrd2',    dplat(38)='g11',       dsis(38)='sndrD2_g11',
  dtype(39)='sndrd3',    dplat(39)='g11',       dsis(39)='sndrD3_g11',
  dtype(40)='sndrd4',    dplat(40)='g11',       dsis(40)='sndrD4_g11',
  dtype(41)='sndrd1',    dplat(41)='g13',       dsis(41)='sndrD1_g13',
  dtype(42)='sndrd2',    dplat(42)='g13',       dsis(42)='sndrD2_g13',
  dtype(43)='sndrd3',    dplat(43)='g13',       dsis(43)='sndrD3_g13',
  dtype(44)='sndrd4',    dplat(44)='g13',       dsis(44)='sndrD4_g13',
  dtype(45)='iasi',      dplat(45)='metop-a',   dsis(45)='iasi616_metop-a',
  dtype(46)='hirs4',     dplat(46)='n19',       dsis(46)='hirs4_n19',
  dtype(47)='amsua',     dplat(47)='n19',       dsis(47)='amsua_n19',
  dtype(48)='mhs',       dplat(48)='n19',       dsis(48)='mhs_n19',
 /
EOF

export pgm=nam_angupdate
. prep_step

startmsg
$EXECnam/nam_angupdate < input >> $pgmout 2>errfile
export err=$?;err_chk

RADSTAT=${COMOUT}/${RUN}.t${cyc}z.radstat.${tmmark}
CNVSTAT=${COMOUT}/${RUN}.t${cyc}z.cnvstat.${tmmark}

# Compress and tar diagnostic files.

loops="01 03"
for loop in $loops; do
   case $loop in
     01) string=ges;;
     03) string=anl;;
      *) string=$loop;;
   esac
   nsum=0
   for type in $listall; do
     for file in ${tmpdir}/diag_${type}_${string}.${SDATE}; do
       if [ -s $file ]; then
         nsum=`expr $nsum + 1`
         compress ${tmpdir}/diag_${type}_${string}.${SDATE}
       fi
     done
   done

   if [[ $nsum -gt 0 ]]; then
      if [ ! -s $RADSTAT ]; then
         tar -cvf $RADSTAT diag_hirs*_${string}.${SDATE}.Z diag_msu*_${string}.${SDATE}.Z \
                           diag_amsu*_${string}.${SDATE}.Z diag_sndr*_${string}.${SDATE}.Z \
                           imgr*_${string}.${SDATE}.Z diag_airs*_${string}.${SDATE}.Z \
                           diag_hsb*_${string}.${SDATE}.Z diag_ssmi*_${string}.${SDATE}.Z \
                           diag_mhs*_${string}.${SDATE}.Z diag_amsre*_${string}.${SDATE}.Z \
                           diag_ssmis*_${string}.${SDATE}.Z diag_iasi*_${string}.${SDATE}.Z
      else
         tar -uvf $RADSTAT diag_hirs*_${string}.${SDATE}.Z diag_msu*_${string}.${SDATE}.Z \
                           diag_amsu*_${string}.${SDATE}.Z diag_sndr*_${string}.${SDATE}.Z \
                           imgr*_${string}.${SDATE}.Z diag_airs*_${string}.${SDATE}.Z \
                           diag_hsb*_${string}.${SDATE}.Z diag_ssmi*_${string}.${SDATE}.Z \
                           diag_mhs*_${string}.${SDATE}.Z diag_amsre*_${string}.${SDATE}.Z \
                           diag_ssmis*_${string}.${SDATE}.Z diag_iasi*_${string}.${SDATE}.Z
      fi
      if [ ! -s $CNVSTAT ]; then
         tar -cvf $CNVSTAT diag_conv*_${string}.${SDATE}.Z
         chmod 750 $CNVSTAT
         chgrp rstprod $CNVSTAT
      else
         tar -uvf $CNVSTAT diag_conv*_${string}.${SDATE}.Z
         chmod 750 $CNVSTAT
         chgrp rstprod $CNVSTAT
      fi
   fi
done

cp satbias_ang.out $COMOUT/${RUN}.t${cyc}z.satang.${tmmark}
cp satbias_ang.out $gespath/ndas.hold/satbias_angle
cp satbias_ang.out $gespath/ndas.hold/satbias_angle.${cya}

msg="JOB $job HAS COMPLETED NORMALLY."
postmsg "$jlogfile" "$msg"

echo EXITING $0 with return code $err
exit $err


