#include <misc.h>
#include <params.h>
subroutine basdy(phi ,lbasdy ) 1,3
!-----------------------------------------------------------------------
!
! Purpose:
! Compute weights for the calculation of derivative estimates at the two
! center points of the four point stencil for each interval in the
! unequally spaced latitude grid. Estimates are from differentiating
! a Lagrange cubic polynomial through the four point stencil.
!
! Method:
! phi Latitude values in the extended grid.
! lbasdy Weights for derivative estimates based on Lagrange cubic
! polynomial on the unequally spaced latitude grid.
! If grid interval j (in extended grid) is surrounded by
! a 4 point stencil, then the derivative at the "bottom"
! of the interval uses the weights lbasdy(1,1,j),
! lbasdy(2,1,j), lbasdy(3,1,j), and lbasdy(4,1,j).
! The derivative at the "top" of the interval
! uses lbasdy(1,2,j), lbasdy(2,2,j), lbasdy(3,2,j),
! and lbasdy(4,2,j).
!
! Author: J. Olson
!
!-----------------------------------------------------------------------
!
! $Id: basdy.F90,v 1.1.2.1 2002/06/15 13:46:55 erik Exp $
! $Author: erik $
!
use shr_kind_mod
, only: r8 => shr_kind_r8
use pmgrid
implicit none
!------------------------------Parameters-------------------------------
integer, parameter :: jfirst = nxpt + 1 ! first index to be computed
integer, parameter :: jlast = platd - nxpt - 1 ! last index to be computed
!-----------------------------------------------------------------------
!------------------------------Arguments--------------------------------
real(r8), intent(in) :: phi(platd) ! latitude coordinates of model grid
real(r8), intent(out) :: lbasdy(4,2,platd) ! derivative estimate weights
!-----------------------------------------------------------------------
!---------------------------Local variables-----------------------------
integer jj ! index
!-----------------------------------------------------------------------
!
do jj = jfirst,jlast
call lcdbas
( phi(jj-1), lbasdy(1,1,jj), lbasdy(1,2,jj) )
end do
!
return
end subroutine basdy