*IF DEF,OCEAN,AND,DEF,SEAICE CV_TO_UV.2 C ******************************COPYRIGHT****************************** GTS2F400.1567 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.1568 C GTS2F400.1569 C Use, duplication or disclosure of this code is subject to the GTS2F400.1570 C restrictions as set forth in the contract. GTS2F400.1571 C GTS2F400.1572 C Meteorological Office GTS2F400.1573 C London Road GTS2F400.1574 C BRACKNELL GTS2F400.1575 C Berkshire UK GTS2F400.1576 C RG12 2SZ GTS2F400.1577 C GTS2F400.1578 C If no contract has been raised with this copy of the code, the use, GTS2F400.1579 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.1580 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.1581 C Modelling at the above address. GTS2F400.1582 C ******************************COPYRIGHT****************************** GTS2F400.1583 C GTS2F400.1584 C*LL CV_TO_UV.3 CLL SUBROUTINE CV_TO_UV CV_TO_UV.4 CLL ------------------- CV_TO_UV.5 CLL CV_TO_UV.6 CLL DYNAMIC SEA ICE MODEL SUBROUTINE TO INTERPOLATE FIELDS ON CV_TO_UV.7 CLL ARAKAWA C GRID V POINTS TO ARAKAWA B GRID V POINTS. CV_TO_UV.8 CLL CV_TO_UV.9 CLL IT CAN BE COMPILED BY CFT77, BUT DOES NOT CONFORM TO ANSI CV_TO_UV.10 CLL FORTRAN77 STANDARDS, BECAUSE OF THE INLINE COMMENTS. CV_TO_UV.11 CLL CV_TO_UV.12 CLL ALL QUANTITIES IN THIS ROUTINE ARE IN S.I. UNITS UNLESS CV_TO_UV.13 CLL OTHERWISE STATED. CV_TO_UV.14 CLL CV_TO_UV.15 CLL WRITTEN BY J.F.THOMSON (07/05/93) CV_TO_UV.16 CLL CV_TO_UV.17 CLL MODEL MODIFICATION HISTORY: CV_TO_UV.18 CLL VERSION DATE CV_TO_UV.19 ! 3.5 16.01.95 Remove *IF dependency. R.Hill ORH1F305.4724 CLL CV_TO_UV.20 CLL THIS ROUTINE FORMS PART OF SYSTEM COMPONENT P4. CV_TO_UV.21 CLL CV_TO_UV.22 CLL IT ADHERES TO THE STANDARDS OF DOCUMENTATION PAPER 4, VERSION 1. CV_TO_UV.23 CLL CV_TO_UV.24 CLLEND--------------------------------------------------------------- CV_TO_UV.25 C*L CV_TO_UV.26subroutine cv_to_uv( CV_TO_UV.27 *CALL ARGOINDX
ORH7F402.220 & data_cv CV_TO_UV.28 &,data_uv CV_TO_UV.29 &,jmtm1 CV_TO_UV.30 &,imt CV_TO_UV.31 & ) CV_TO_UV.32 C CV_TO_UV.33 implicit none CV_TO_UV.34 C CV_TO_UV.35 *CALL CNTLOCN
ORH1F305.4725 *CALL TYPOINDX
ORH7F402.221 integer CV_TO_UV.36 & jmtm1 ! in number of rows on velocity grid. CV_TO_UV.37 &,imt ! in number of points in each row. CV_TO_UV.38 real CV_TO_UV.39 & data_cv(imt,jmtm1) ! in data on C grid. CV_TO_UV.40 &,data_uv(imt,jmtm1) ! out data on B grid. CV_TO_UV.41 C CV_TO_UV.42 C variables local to this subroutine are now defined CV_TO_UV.43 C CV_TO_UV.44 integer CV_TO_UV.45 & i CV_TO_UV.46 &,j CV_TO_UV.47 C* CV_TO_UV.48 C start executable code CV_TO_UV.49 C CV_TO_UV.50 C Interpolate velocity field. CV_TO_UV.51 C CV_TO_UV.52 do j=j_1,j_jmtm1 ORH3F402.74 do i=2,imt CV_TO_UV.54 data_uv(i,j) = ( data_cv(i-1,j) + data_cv(i,j) ) * 0.5 CV_TO_UV.55 end do CV_TO_UV.56 IF (L_OCYCLIC) THEN ORH1F305.4726 data_uv(1,j) = data_cv(1,j) CV_TO_UV.58 ENDIF ORH1F305.4727 end do CV_TO_UV.60 IF (L_OCYCLIC) THEN ORH1F305.4728 C CV_TO_UV.62 C Make cyclic if necessary. CV_TO_UV.63 C CV_TO_UV.64 do j=j_1,j_jmtm1 ORH3F402.75 data_uv(1,j) = data_uv(imt-1,j) CV_TO_UV.66 data_uv(imt,j) = data_uv(2,j) CV_TO_UV.67 end do CV_TO_UV.68 ENDIF ORH1F305.4729 C CV_TO_UV.70 return CV_TO_UV.71 end CV_TO_UV.72 *ENDIF CV_TO_UV.73