!-------------------------------------- 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 --------------------------------------
***s/r set_geof - initialization of the VMM commons for geophysical fields
*
#define SPY_VMM_CREATE spy_vmm_create
#include "model_macros_f.h"
*

      subroutine set_geof 1
*
      implicit none
*
*author
*     Gravel/Roch - rpn - august 1993
*
*revision
* v2_00 - Desgagne/Lee      - initial MPI version (from setgeof v1_03)
* v2_20 - Lee V.            - eliminated geophysical VMM variables
* v2_21 - J. P. Toviessi    - rename some model output variables
* v3_01 - Desgagne M.       - remove XLA and XLO
* v3_11 - Gravel S.         - add field for varying topography
* v3_31 - Tanguay M.        - Mix PILOT and ANAL mountains when BCS/3DF  
*
*object
*	This subroutine initializes the commons containing the
*	keys used by the Virtual Memory Manager to identify the
*	geophysical fields
*	
*arguments
*	none
*
*implicits
#include "glb_ld.cdk"
#include "lun.cdk"
#include "p_geof.cdk"
#include "vtopo.cdk"
*
*modules
      integer vmmcre
      external vmmcre
**
      character*80 attr_S
*
*     ---------------------------------------------------------------
*
      integer i
*     integer pnerr
*
      if (Lun_out.gt.0) write(Lun_out,1000)
*
*       names and keys commons initialization
*     Note: all geoph. fields are on the scalar grid
*
      COMMON_INIT(geof,-100)
*
*	Assign and create the geophysical variables
*
      VMM_NAM(topo )= 'TOPO'
      VMM_NAM(topu )= 'TOPU'
      VMM_NAM(topv )= 'TOPV'
      VMM_NAM(dtopo)= 'DTOP'
*
      VMM_NAM(topa )= 'TOPAN'
      VMM_NAM(toua )= 'TOUAN'
      VMM_NAM(tova )= 'TOVAN'
*
      attr_S='SAVE=Y,CL=1,W=5,INIT=R,MUSTEXIST'
*
      VMM_CREATE(topo  , LARRAY2D     , 1, attr_S)
      VMM_CREATE(topu  , LARRAY2D     , 1, attr_S)
      VMM_CREATE(topv  , LARRAY2D     , 1, attr_S)
      if ( Vtopo_start .ge. 0 ) then
         VMM_CREATE(dtopo , LARRAY2D     , 1, attr_S)
      endif
*
      VMM_CREATE(topa  , LARRAY2D     , 1, attr_S)
      VMM_CREATE(toua  , LARRAY2D     , 1, attr_S)
      VMM_CREATE(tova  , LARRAY2D     , 1, attr_S)
*
 1000 format(
     +/,'INITIALIZATION OF GEOPHYSICAL FIELD COMDECKS (S/R SET_GEOF)',
     +/,'===========================================================')
*
*     ---------------------------------------------------------------
*
      return
      end