*IF DEF,SEAICE,OR,DEF,S40_1A                                               SJC0F305.11     
C ******************************COPYRIGHT******************************    GTS2F400.4213   
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.4214   
C                                                                          GTS2F400.4215   
C Use, duplication or disclosure of this code is subject to the            GTS2F400.4216   
C restrictions as set forth in the contract.                               GTS2F400.4217   
C                                                                          GTS2F400.4218   
C                Meteorological Office                                     GTS2F400.4219   
C                London Road                                               GTS2F400.4220   
C                BRACKNELL                                                 GTS2F400.4221   
C                Berkshire UK                                              GTS2F400.4222   
C                RG12 2SZ                                                  GTS2F400.4223   
C                                                                          GTS2F400.4224   
C If no contract has been raised with this copy of the code, the use,      GTS2F400.4225   
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.4226   
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.4227   
C Modelling at the above address.                                          GTS2F400.4228   
C ******************************COPYRIGHT******************************    GTS2F400.4229   
C                                                                          GTS2F400.4230   
C*LL                                                                       H_TO_CV.3      
CLL   SUBROUTINE H_TO_CV                                                   H_TO_CV.4      
CLL   -------------------                                                  H_TO_CV.5      
CLL                                                                        H_TO_CV.6      
CLL   DYNAMIC SEA ICE MODEL SUBROUTINE TO INTERPOLATE FIELDS ON            H_TO_CV.7      
CLL   ARAKAWA B GRID MASS POINTS TO ARAKAWA C GRID V POINTS.               H_TO_CV.8      
CLL                                                                        H_TO_CV.9      
CLL   IT CAN BE COMPILED BY CFT77, BUT DOES NOT CONFORM TO ANSI            H_TO_CV.10     
CLL   FORTRAN77 STANDARDS, BECAUSE OF THE INLINE COMMENTS.                 H_TO_CV.11     
CLL                                                                        H_TO_CV.12     
CLL   ALL QUANTITIES IN THIS ROUTINE ARE IN S.I. UNITS UNLESS              H_TO_CV.13     
CLL   OTHERWISE STATED.                                                    H_TO_CV.14     
CLL                                                                        H_TO_CV.15     
CLL   WRITTEN BY J.F.THOMSON (07/05/93)                                    H_TO_CV.16     
CLL                                                                        H_TO_CV.17     
CLL  MODEL            MODIFICATION HISTORY:                                H_TO_CV.18     
CLL VERSION  DATE                                                          H_TO_CV.19     
CLL 3.4Generalise for slab model. J Thomson                                SJT1F304.1072   
!     3.5    16.01.95   Remove *IF dependency. R.Hill                      ORH1F305.4735   
CLL                                                                        H_TO_CV.21     
CLL   THIS ROUTINE FORMS PART OF SYSTEM COMPONENT P4.                      H_TO_CV.22     
CLL                                                                        H_TO_CV.23     
CLL   ADHERES TO THE STANDARDS OF DOCUMENTATION PAPER 4, VERSION 1.        H_TO_CV.24     
CLLEND---------------------------------------------------------------      H_TO_CV.25     
C*L                                                                        H_TO_CV.26     

      subroutine h_to_cv(                                                   5,1H_TO_CV.27     
*CALL ARGOINDX                                                             ORH7F402.204    
     & data_h                                                              H_TO_CV.28     
     &,data_cv                                                             H_TO_CV.29     
     &,jmt                                                                 H_TO_CV.30     
     &,jmtm1                                                               H_TO_CV.31     
     &,imt                                                                 H_TO_CV.32     
     & )                                                                   H_TO_CV.33     
C                                                                          H_TO_CV.34     
      implicit none                                                        H_TO_CV.35     
C                                                                          H_TO_CV.36     
*CALL CNTLOCN                                                              ORH1F305.4736   
*CALL TYPOINDX                                                             ORH7F402.205    
      integer                                                              H_TO_CV.37     
     & jmt            ! in number of rows on mass grid.                    H_TO_CV.38     
     &,jmtm1          ! in number of rows on velocity grid.                H_TO_CV.39     
     &,imt            ! in number of points in each mass row.              H_TO_CV.40     
      real                                                                 H_TO_CV.41     
     & data_h(imt,jmt)      ! in  data on mass grid.                       H_TO_CV.42     
     &,data_cv(imt,jmtm1)   ! out data on C grid y velocity points.        H_TO_CV.43     
C                                                                          H_TO_CV.44     
C variables local to this subroutine are now defined                       H_TO_CV.45     
C                                                                          H_TO_CV.46     
      integer                                                              H_TO_CV.47     
     & i                                                                   H_TO_CV.48     
     &,j                                                                   H_TO_CV.49     
C*                                                                         H_TO_CV.50     
C start executable code                                                    H_TO_CV.51     
*IF DEF,MPP,AND,-DEF,SLAB                                                  SCH0F405.50     
C=====================================================================     ORH4F402.147    
C CALL TO SWAPBOUNDS FOR HALO UPDATE IN MPP VERSION                        ORH4F402.148    
C=====================================================================     ORH4F402.149    
                                                                           ORH4F402.150    
      CALL SWAPBOUNDS(DATA_H,IMT,JMT,O_EW_HALO,O_NS_HALO,1)                ORH4F402.151    
                                                                           ORH4F402.152    
*ENDIF                                                                     ORH4F402.153    
                                                                           ORH4F402.154    
C                                                                          H_TO_CV.52     
C Interpolate velocity field.                                              H_TO_CV.53     
C                                                                          H_TO_CV.54     
      do j=J_1,J_jmtm1                                                     ORH3F402.347    
        do i=1,imt-1                                                       H_TO_CV.56     
          data_cv(i,j) = ( data_h(i+1,j) + data_h(i+1,j+1) ) * 0.5         H_TO_CV.57     
        end do                                                             H_TO_CV.58     
*IF DEF,SLAB                                                               SJT1F304.1073   
        data_cv(imt,j) = ( data_h(1,j) + data_h(1,j+1) ) * 0.5             SJT1F304.1074   
*ENDIF                                                                     SJT1F304.1075   
      end do                                                               H_TO_CV.59     
*IF DEF,OCEAN                                                              SJT1F304.1076   
      IF (L_OCYCLIC) THEN                                                  ORH1F305.4737   
C                                                                          H_TO_CV.68     
C Make cyclic if necessary.                                                H_TO_CV.69     
C                                                                          H_TO_CV.70     
      do j=J_1,J_jmtm1                                                     ORH3F402.348    
        data_cv(1,j)    = data_cv(imt-1,j)                                 H_TO_CV.72     
        data_cv(imt,j)  = data_cv(2,j)                                     H_TO_CV.73     
      end do                                                               H_TO_CV.74     
      ELSE                                                                 ORH1F305.4738   
C                                                                          SJT1F304.1079   
C Deal with non cyclic boundaries                                          SJT1F304.1080   
C                                                                          SJT1F304.1081   
      do j=J_1,J_jmtm1                                                     ORH3F402.349    
        data_cv(imt,j)  = data_cv(imt-1,j)                                 SJT1F304.1083   
      end do                                                               SJT1F304.1084   
      ENDIF                                                                ORH1F305.4739   
*ENDIF                                                                     H_TO_CV.75     
C                                                                          H_TO_CV.76     
      return                                                               H_TO_CV.77     
      end                                                                  H_TO_CV.78     
*ENDIF                                                                     H_TO_CV.79