!
!##################################################################
!##################################################################
!###### ######
!###### SUBROUTINE INISATARPS ######
!###### ######
!###### Developed by ######
!###### Center for Analysis and Prediction of Storms ######
!###### University of Oklahoma ######
!###### ######
!##################################################################
!##################################################################
!
SUBROUTINE inisatarps(arunnam,nx_arps,ny_arps, &,2
dx_arps,dy_arps,xnw,ynw)
!
!-----------------------------------------------------------------------
!
! PURPOSE:
!
! Initialize the ARPS model grid control parameters for the
! satellite remapper. They are read from the input file and
! stored in common blocks and/or returned.
!
! Note:
! In order to remain compatible with the ARPS parameter
! initialization, changes in INITPARA which affect the
! NAMELIST blocks used here will need to be reflected in
! this subroutine.
!
!-----------------------------------------------------------------------
!
! AUTHOR: Keith Brewster
!
! 9/20/1997.
!
! MODIFICATION HISTORY:
!
! 2001/03/28 (Gene Bassett)
! Corrected error in mci2arps (with variables xnw & ynw) which was
! causing satellite data to be shifted over one grid box in x- and two
! in the y-direction.
!
!-----------------------------------------------------------------------
!
! INPUT:
! none, read from standard input in NAMELISTS
!
! OUTPUT:
!
! Control parameters in the "globcst.inc' inlcude file and...
! arunnam character string describing run (to first comma or space)
! nx_arps x-dimension of the remapping grid (ARPS nx)
! nx_arps y-dimension of the remapping grid (ARPS ny)
! dx_arps grid spacing in x-dimension of the remapping grid (ARPS dx)
! dy_arps grid spacing in y-dimension of the remapping grid (ARPS dy)
! xnw x coordinate of the NW (upper-left) scalar point
! ynw y coordinate of the NW (upper-left) scalar point
!
!-----------------------------------------------------------------------
!
IMPLICIT NONE
CHARACTER (LEN=1) :: arunnam(80)
INTEGER :: nx,ny,nz
INTEGER :: nx_arps,ny_arps
REAL :: dx_arps,dy_arps
REAL :: xnw,ynw
!
!-----------------------------------------------------------------------
!
! Misc internal variables
!
!-----------------------------------------------------------------------
!
INTEGER :: i
REAL :: ctrx,ctry
REAL :: latnot(2)
INCLUDE 'globcst.inc'
INCLUDE 'grid.inc'
!
!-----------------------------------------------------------------------
!
! Namelist declarations
!
!-----------------------------------------------------------------------
!
NAMELIST /grid_dims/ nx, ny, nz
NAMELIST /jobname/ runname
NAMELIST /grid/ dx,dy,dz,strhopt,dzmin,zrefsfc,dlayer1,dlayer2, &
strhtune,zflat,ctrlat,ctrlon
NAMELIST /projection/ mapproj, trulat1,trulat2,trulon, sclfct, &
mpfctopt,mptrmopt,maptest
!
!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
!
! Beginning of executable code...
!
!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
!
!
!-----------------------------------------------------------------------
!
! Set defaults
! Some are not used here, but set for completeness.
!
!-----------------------------------------------------------------------
!
nx=67
ny=67
nz=35
runname = 'may20'
dx=1000.
dy=1000.
dz=500.
strhopt = 0
dzmin = 500.0
zrefsfc = 0.0
dlayer1 = 0.0
dlayer2 = 1.0E5
strhtune = 1.0
zflat = 1.0E5
ctrlat = 35.0
ctrlon = -100.0
mapproj = 0
trulat1 = 30.0
trulat2 = 60.0
trulon = -100.0
sclfct = 1.0
mpfctopt = 1
mptrmopt = 1
maptest = 0
!
!-----------------------------------------------------------------------
!
! Read namelists from input file
!
!-----------------------------------------------------------------------
!
READ (5,grid_dims,END=100)
WRITE(6,'(/a,a)')' Namelist block grid_dims successfully read.'
READ (5,jobname,END=100)
WRITE(6,'(/a,a)')' Namelist block jobname successfully read.'
READ (5,grid,END=100)
WRITE(6,'(/a,a)')' Namelist block grid successfully read.'
READ (5,projection,END=100)
WRITE(6,'(/a,a)')' Namelist block projection successfully read.'
GO TO 102
100 CONTINUE
WRITE(6,'(a)') &
'Error reading NAMELIST file. Default values used'
102 CONTINUE
!
!-----------------------------------------------------------------------
!
! Set-up map projection variables
!
!-----------------------------------------------------------------------
!
latnot(1)=trulat1
latnot(2)=trulat2
CALL setmapr
(mapproj,sclfct,latnot,trulon)
!
!-----------------------------------------------------------------------
!
! Find coordinate of the NW scalar corner, that is the
! origin in satellite projection space.
!
!-----------------------------------------------------------------------
!
CALL lltoxy
(1,1,ctrlat,ctrlon,ctrx,ctry)
xnw=ctrx-dx*(1.+0.5*(nx-3))
ynw=ctry+dy*(2.+0.5*(ny-3))
!
!-----------------------------------------------------------------------
!
! Set return nx,ny,dx,dy variables
! The C-calling routine doesn't have access to the common blocks.
!
!-----------------------------------------------------------------------
!
DO i=1,80
IF (runname(i:i) == ' ' .OR. runname(i:i) == ',') EXIT
arunnam(i)=runname(i:i)
END DO
21 CONTINUE
!
nx_arps=nx
ny_arps=ny
dx_arps=dx
dy_arps=dy
!
RETURN
END SUBROUTINE inisatarps