#! /bin/sh

#################################
##
## Primary grid dimensions
##
## Note:  LM must be 
## 38, 45, 50, or 60 (when running Eta coordinates)
## 25, 30, 38, or 45 (when running sigma coordinates)
##
## Note:  JM MUST be odd!
#
IM=247
JM=231
LM=38
LSM=10
#
#
########################
#
# Note: PT can only be set to 25 or 50 hPa to work properly with
#	the radiation files included in this package.  
#
PT=25
#
####################
#
# This is used to link files for use by various programs.  Most machines
# name the linked files as "fort.#", while HP's use "ftn#", where # is the
# unit number.
#
HVAL="fort."
#
##########################
#
## These should both be =1 unless using multiple CPUs on a machine
## using "real" MPI (as opposed to the included dummy MPI library).
##
## INPES X JNPES = total number of CPUs to be used
##
INPES=5
JNPES=4
#
##################################
#-----------------------------------------------------------------------------#
#-----------------------------------------------------------------------------#

##############################################
#
# should require no changes beyond this point
#
##############################################

cp parmeta.mpiin ../src/etafcst_all
cp parmeta.in ../src/include
cp parmeta.in ../../post_new
cp parmeta.in ../../post0

cd ../src/etafcst_all

cat parmeta.mpiin | sed s:imin:$IM: | sed s:jmin:$JM: | \
sed s:lmin:$LM: | sed s:lsmin:$LSM: | sed s:ipcin:$INPES: | \
sed s:jpcin:$JNPES: > parmeta

if [ $INPES -eq 1 ]
then
	if [ $JNPES -eq 1 ]
	then
	cp makefile.dummympi makefile
	cp mpif.h_dummy mpif.h
	else
	cp makefile.realmpi makefile
	rm -f mpif.h
	cp mpif.h_system mpif.h
	fi
else
        cp makefile.realmpi makefile
        rm -f mpif.h
	cp mpif.h_system mpif.h
fi

cd ../model_with_kf

if [ $INPES -eq 1 ]
then
	if [ $JNPES -eq 1 ]
	then
	cp makefile.dummympi makefile
	cp mpif.h_dummy mpif.h
	else
	cp makefile.realmpi makefile
#	rm -f mpif.h
#	cp mpif.h_mine mpif.h
	fi
else
        cp makefile.realmpi makefile
#        rm -f mpif.h
#	cp mpif.h_mine mpif.h
fi


## assume at if using MPI on model, can use for post as well
##
##  changed mind...force post to be a serial code

cd ../../../post_new

# if [ $INPES -eq 1 ]
# then
#         if [ $JNPES -eq 1 ]
#	then

        cp makefile.dummympi makefile
        cp mpif.h_dummy mpif.h

#        else
#        cp makefile.realmpi makefile
#        rm mpif.h
#        fi
# else
#        cp makefile.realmpi makefile
#        rm mpif.h
# fi


cd ../eta/src/include

cat parmeta.in  | sed s:imin:$IM: | sed s:jmin:$JM: | \
sed s:lmin:$LM: | sed s:lsmin:$LSM:  > parmeta

cd ../../../quilt
cat parmeta.mpiin | sed s:imin:$IM: | sed s:jmin:$JM: | \
sed s:lmin:$LM: | sed s:lsmin:$LSM: | sed s:ipcin:$INPES: | \
sed s:jpcin:$JNPES: > parmeta 

cd ../post_new

cat parmeta.in  | sed s:imin:$IM: | sed s:jmin:$JM: | \
sed s:lmin:$LM: | sed s:lsmin:$LSM:  > parmeta

cd ../post0/

cat parmeta.in | sed s:imin:$IM: | sed s:jmin:$JM: | \
sed s:lmin:$LM: | sed s:lsmin:$LSM:  > parmeta

cd ../sndp
cat parmeta.in | sed s:LMIN:$LM: > parmeta

### get appropriate deta and radco2 files

cd ../eta/bin

mv ETAIN ETAIN.in
cat ETAIN.in | sed s:imin:$IM: | sed s:jmin:$JM: | sed s:lmin:$LM: \
| sed s:ptin:${PT}00: > ETAIN
rm ETAIN.in

cp ./deta_files/deta_${LM} deta

cat new_prep.sh.in | sed s:headin:$HVAL: > new_prep.sh

cd ../../staids

cat run_stalst.in | sed s:HEADIN:$HVAL: > run_stalst

cd ../eta/runs

cat run.com_mpi.in | sed s:headin:$HVAL: > run.com_mpi
cat outjob_special.in | sed s:headin:$HVAL: > outjob_special
cat outjob_special_bufr.in | sed s:headin:$HVAL: > outjob_special_bufr

cp ./rad_files/co2.${LM}_${PT}mb eta.co2.dat
cp ./rad_files/sigma_co2.${LM}_${PT}mb sigma.co2.dat
