*IF DEF,OCEAN,AND,DEF,SEAICE CU_TO_UV.2
C ******************************COPYRIGHT****************************** GTS2F400.1531
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.1532
C GTS2F400.1533
C Use, duplication or disclosure of this code is subject to the GTS2F400.1534
C restrictions as set forth in the contract. GTS2F400.1535
C GTS2F400.1536
C Meteorological Office GTS2F400.1537
C London Road GTS2F400.1538
C BRACKNELL GTS2F400.1539
C Berkshire UK GTS2F400.1540
C RG12 2SZ GTS2F400.1541
C GTS2F400.1542
C If no contract has been raised with this copy of the code, the use, GTS2F400.1543
C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.1544
C to do so must first be obtained in writing from the Head of Numerical GTS2F400.1545
C Modelling at the above address. GTS2F400.1546
C ******************************COPYRIGHT****************************** GTS2F400.1547
C GTS2F400.1548
C*LL CU_TO_UV.3
CLL SUBROUTINE CU_TO_UV CU_TO_UV.4
CLL ------------------- CU_TO_UV.5
CLL CU_TO_UV.6
CLL DYNAMIC SEA ICE MODEL SUBROUTINE TO INTERPOLATE FIELDS ON CU_TO_UV.7
CLL ARAKAWA C GRID U POINTS TO ARAKAWA B GRID U POINTS. CU_TO_UV.8
CLL CU_TO_UV.9
CLL IT CAN BE COMPILED BY CFT77, BUT DOES NOT CONFORM TO ANSI CU_TO_UV.10
CLL FORTRAN77 STANDARDS, BECAUSE OF THE INLINE COMMENTS. CU_TO_UV.11
CLL CU_TO_UV.12
CLL ALL QUANTITIES IN THIS ROUTINE ARE IN S.I. UNITS UNLESS CU_TO_UV.13
CLL OTHERWISE STATED. CU_TO_UV.14
CLL CU_TO_UV.15
CLL WRITTEN BY J.F.THOMSON (07/05/93) CU_TO_UV.16
CLL CU_TO_UV.17
CLL MODEL MODIFICATION HISTORY: CU_TO_UV.18
CLL VERSION DATE CU_TO_UV.19
! 3.5 16.01.95 Remove *IF dependency. R.Hill ORH1F305.4715
CLL CU_TO_UV.20
CLL CU_TO_UV.21
CLL THIS ROUTINE FORMS PART OF SYSTEM COMPONENT P4. CU_TO_UV.22
CLL CU_TO_UV.23
CLL ADHERES TO THE STANDARDS OF DOCUMENTATION PAPER 4, VERSION 1. CU_TO_UV.24
CLL CU_TO_UV.25
CLLEND--------------------------------------------------------------- CU_TO_UV.26
C*L CU_TO_UV.27
subroutine cu_to_uv( ,1CU_TO_UV.28
*CALL ARGOINDX
ORH7F402.218
& data_cu CU_TO_UV.29
&,data_uv CU_TO_UV.30
&,jmtm1 CU_TO_UV.31
&,imt CU_TO_UV.32
& ) CU_TO_UV.33
C CU_TO_UV.34
implicit none CU_TO_UV.35
*CALL CNTLOCN
ORH1F305.4716
*CALL TYPOINDX
ORH7F402.219
C CU_TO_UV.36
integer CU_TO_UV.37
& jmtm1 ! in number of rows on velocity grid. CU_TO_UV.38
&,imt ! in number of points in each row. CU_TO_UV.39
real CU_TO_UV.40
& data_cu(imt,jmtm1) ! in data on C grid. CU_TO_UV.41
&,data_uv(imt,jmtm1) ! out data on B grid. CU_TO_UV.42
C CU_TO_UV.43
C variables local to this subroutine are now defined CU_TO_UV.44
C CU_TO_UV.45
integer CU_TO_UV.46
& i CU_TO_UV.47
&,j CU_TO_UV.48
C* CU_TO_UV.49
C start executable code CU_TO_UV.50
*IF DEF,MPP ORH4F402.182
C===================================================================== ORH4F402.183
C CALL TO SWAPBOUNDS FOR HALO UPDATE IN MPP VERSION ORH4F402.184
C===================================================================== ORH4F402.185
ORH4F402.186
CALL SWAPBOUNDS
(DATA_CU,IMT,JMTM1,O_EW_HALO,O_NS_HALO,1) ORH4F402.187
ORH4F402.188
*ENDIF ORH4F402.189
ORH4F402.190
C CU_TO_UV.51
C Interpolate velocity field. CU_TO_UV.52
C CU_TO_UV.53
do j=j_2,j_jmtm1 ORH3F402.45
do i=1,imt CU_TO_UV.55
data_uv(i,j) = ( data_cu(i,j-1) + data_cu(i,j) ) * 0.5 CU_TO_UV.56
end do CU_TO_UV.57
end do CU_TO_UV.58
*IF DEF,MPP ORH3F402.46
IF (JST.EQ.1) THEN ORH3F402.47
*ENDIF ORH3F402.48
do i=1,imt CU_TO_UV.59
data_uv(i,1) = data_cu(i,1) CU_TO_UV.60
end do CU_TO_UV.61
*IF DEF,MPP ORH3F402.49
ENDIF ORH3F402.50
*ENDIF ORH3F402.51
IF (L_OCYCLIC) THEN ORH1F305.4717
C CU_TO_UV.63
C Make cyclic if necessary. CU_TO_UV.64
C CU_TO_UV.65
do j=j_1,j_jmtm1 ORH3F402.52
data_uv(1,j) = data_uv(imt-1,j) CU_TO_UV.67
data_uv(imt,j) = data_uv(2,j) CU_TO_UV.68
end do CU_TO_UV.69
ENDIF ORH1F305.4718
C CU_TO_UV.71
return CU_TO_UV.72
end CU_TO_UV.73
*ENDIF CU_TO_UV.74