!-------------------------------------- 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 v4d_vmm.cdk
*
*author
*     M.Tanguay
*
*revision
* v2_10 - Tanguay M.        - initial MPI version
*
*______________________________________________________________________
*                                                                      |
* VMM VARIABLES ASSOCIATED to 4D-Var needed for COST FUNCTION          |
*______________________________________________________________________|
*                    |                                                 |
* NAME               | DESCRIPTION                                     |
*--------------------|-------------------------------------------------|
* V4d_ut1r           | Ut1  for OBS                                    |
* V4d_vt1r           | Vt1  for OBS                                    |
* V4d_tpt1r          | Tpt1 for OBS                                    |
* V4d_st1r           | St1  for OBS                                    |
*--------------------|-------------------------------------------------|
* V4d_ut1c           | Ut1  for FORCING                                |
* V4d_vt1c           | Vt1  for FORCING                                |
* V4d_tpt1c          | Tpt1 for FORCING                                |
* V4d_st1c           | St1  for FORCING                                |
*--------------------|-------------------------------------------------|
* V4d_locu           | Array to locate ut1  OBS                        |
* V4d_locv           | Array to locate vt1  OBS                        |
* V4d_locg           | Array to locate tpt1 OBS                        |
* V4d_locs           | Array to locate st1  OBS                        |
*----------------------------------------------------------------------
*
#endif
*
*     --------------------------------------------
*     REFERENCE model var. needed for OBSERVATIONS 
*     --------------------------------------------
      MARK_COMMON_BEG (V4d_cst_ref)
      DCL_VMMVAR( V4d_cst_ref, ut1r , real, (LDIST_SHAPE,l_nk) )
      DCL_VMMVAR( V4d_cst_ref, vt1r , real, (LDIST_SHAPE,l_nk) )
      DCL_VMMVAR( V4d_cst_ref, tpt1r, real, (LDIST_SHAPE,l_nk) )
      DCL_VMMVAR( V4d_cst_ref, st1r , real, (LDIST_SHAPE)      )
      MARK_COMMON_END (V4d_cst_ref)
*
      character*8 V4d_cst_ref_n_first(1)
      equivalence (V4d_cst_ref_n_first,VMM_NAM(ut1r))
*
*     --------------------------------------
*     CURRENT model var. needed for FORCINGS
*     --------------------------------------
      MARK_COMMON_BEG (V4d_cst_cur)
      DCL_VMMVAR( V4d_cst_cur, ut1c , real, (LDIST_SHAPE,l_nk) )
      DCL_VMMVAR( V4d_cst_cur, vt1c , real, (LDIST_SHAPE,l_nk) )
      DCL_VMMVAR( V4d_cst_cur, tpt1c, real, (LDIST_SHAPE,l_nk) )
      DCL_VMMVAR( V4d_cst_cur, st1c , real, (LDIST_SHAPE)      )
      MARK_COMMON_END (V4d_cst_cur)
*
      character*8 V4d_cst_cur_n_first(1)
      equivalence (V4d_cst_cur_n_first,VMM_NAM(ut1c))
*
*     -------------------------------------------
*     VMM space needed for OBSERVATIONS locations
*     -------------------------------------------
      MARK_COMMON_BEG (V4d_cst_loc)
      DCL_VMMVAR (V4d_cst_loc, locu ,real,(LDIST_SHAPE,l_nk))
      DCL_VMMVAR (V4d_cst_loc, locv ,real,(LDIST_SHAPE,l_nk))
      DCL_VMMVAR (V4d_cst_loc, locg ,real,(LDIST_SHAPE,l_nk))
      DCL_VMMVAR (V4d_cst_loc, locs ,real,(LDIST_SHAPE))
      MARK_COMMON_END (V4d_cst_loc)
*
      character*8 V4d_cst_loc_n_first(1)
      equivalence (V4d_cst_loc_n_first,VMM_NAM(locu))