!-------------------------------------- LICENCE BEGIN ------------------------------------
!Environment Canada - Atmospheric Science and Technology License/Disclaimer, 
!                     version 3; Last Modified: May 7, 2008.
!This is free but copyrighted software; you can use/redistribute/modify it under the terms 
!of the Environment Canada - Atmospheric Science and Technology License/Disclaimer 
!version 3 or (at your option) any later version that should be found at: 
!http://collaboration.cmc.ec.gc.ca/science/rpn.comm/license.html 
!
!This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
!without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
!See the above mentioned License/Disclaimer for more details.
!You should have received a copy of the License/Disclaimer along with this software; 
!if not, you can write to: EC-RPN COMM Group, 2121 TransCanada, suite 500, Dorval (Quebec), 
!CANADA, H9P 1J3; or send e-mail to service.rpn@ec.gc.ca
!-------------------------------------- LICENCE END --------------------------------------
#if defined (DOC)
*
***comdeck e_intuv.cdk
*
*  Contains interpolation coefficients from and to U and V 
*  grids, inititalised in routine "SETINTUV"
*
*revisions
* v1_97 - vivian lee             - eliminated all "real" variables and
* v1_97                            kept the "real*8" variables
*
*NOTE:  The U, V and PHI grids mentionned in the documentation
*       refer to the positioning of the variables in the Arakawa "C" grid
*       having PHI and U at the poles
*
*       grid identification:    0: PHI grid
*                               1:   U grid
*                               2:   V grid
*
*______________________________________________________________________
*                                                                      |
* INTERPOLATION COEFFICIENTS from and to U and V grids                 |
*______________________________________________________________________|
*                    |                                                 |
* NAME               | DESCRIPTION                                     |
*--------------------|-------------------------------------------------|
* NORMALIZED RELATIVE COORDINATES                                      |
* xdc0xxu            | relative x-coord of u-grid in phi-grid          |
* xdc0yvy            | relative y-coord of phi-grid in v-grid          |
* xdc0xux            | relative x-coord of phi-grid in u-grid          |
* xdc0yyv            | relative y-coord of v-grid in phi-grid          |
* POLYNOMIALS OF second derivative/difference                          |
* xdc1xxu            | for x-coord of u-grid in phi-grid               |
* xdc1yvy            | for y-coord of phi-grid in v-grid               |
* xdc1xux            | for x-coord of phi-grid in u-grid               |
* xdc1yyv            | for y-coord of v-grid in phi-grid               |
* xdc2xxu            | for x-coord of u-grid in phi-grid               |
* xdc2yvy            | for y-coord of phi-grid in v-grid               |
* xdc2xux            | for x-coord of phi-grid in u-grid               |
* xdc2yyv            | for y-coord of v-grid in phi-grid               |
* Second Derivative/difference operators                               |
* xdq2x              | from xdhx                                       |
* xdq2y              | from xdhy                                       |
* xdqix              | from one/( xdhx(i-1) + xdhx(i) )                |
* xdqiy              | from one/( xdhy(j-1) + xdhy(j) )                |
* xdq2u              | from xdhxu                                      |
* xdq2v              | from xdhyv                                      |
* xdqiu              | from one/( xdhxu(i-1) + xdhxu(i) )              |
* xdqiv              | from one/( xdhyv(j-1) + xdhyv(j) )              |
*----------------------------------------------------------------------
*
#endif
*
      real*8 xdc0xxu(1),     xdc1xxu(1),     xdc2xxu(1), 
     %       xdc0xux(1),     xdc1xux(1),     xdc2xux(1), 
     %       xdc0yyv(1),   xdc1yyv(1),   xdc2yyv(1),
     %       xdc0yvy(0:*), xdc1yvy(0:*), xdc2yvy(0:*), 
     %       xdq2x(pni,3), xdqix(pni,4), xdq2u(pni,3), xdqiu(pni,4),
     %       xdq2y(pnj,3), xdqiy(pnj,4), xdq2v(pnj,3), xdqiv(pnj,4)
*
      pointer 
     %  (p_xdc0xxu,xdc0xxu), (p_xdc1xxu,xdc1xxu), (p_xdc2xxu,xdc2xxu),
     %  (p_xdc0xux,xdc0xux), (p_xdc1xux,xdc1xux), (p_xdc2xux,xdc2xux), 
     %  (p_xdc0yyv,xdc0yyv), (p_xdc1yyv,xdc1yyv), (p_xdc2yyv,xdc2yyv),
     %  (p_xdc0yvy,xdc0yvy), (p_xdc1yvy,xdc1yvy), (p_xdc2yvy,xdc2yvy), 
     %  (p_xdq2x,xdq2x), (p_xdqix,xdqix), 
     %  (p_xdq2u,xdq2u), (p_xdqiu,xdqiu),
     %  (p_xdq2y,xdq2y), (p_xdqiy,xdqiy),
     %  (p_xdq2v,xdq2v), (p_xdqiv,xdqiv)

      common / cdintuv8 / 
     %                   p_xdc0xxu, p_xdc1xxu, p_xdc2xxu, 
     %                   p_xdc0xux, p_xdc1xux, p_xdc2xux, 
     %                   p_xdc0yyv, p_xdc1yyv, p_xdc2yyv,
     %                   p_xdc0yvy, p_xdc1yvy, p_xdc2yvy,
     %                   p_xdq2x,   p_xdqix,   p_xdq2u,   p_xdqiu,
     %                   p_xdq2y,   p_xdqiy,   p_xdq2v,   p_xdqiv