*IF DEF,SEAICE ORH1F305.444
C*LL H_TO_UV.3
C ******************************COPYRIGHT****************************** GTS2F400.4231
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.4232
C GTS2F400.4233
C Use, duplication or disclosure of this code is subject to the GTS2F400.4234
C restrictions as set forth in the contract. GTS2F400.4235
C GTS2F400.4236
C Meteorological Office GTS2F400.4237
C London Road GTS2F400.4238
C BRACKNELL GTS2F400.4239
C Berkshire UK GTS2F400.4240
C RG12 2SZ GTS2F400.4241
C GTS2F400.4242
C If no contract has been raised with this copy of the code, the use, GTS2F400.4243
C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.4244
C to do so must first be obtained in writing from the Head of Numerical GTS2F400.4245
C Modelling at the above address. GTS2F400.4246
C ******************************COPYRIGHT****************************** GTS2F400.4247
C GTS2F400.4248
CLL SUBROUTINE H_TO_UV H_TO_UV.4
CLL ------------------- H_TO_UV.5
CLL H_TO_UV.6
CLL DYNAMIC SEA ICE MODEL SUBROUTINE TO INTERPOLATE H GRID FIELDS H_TO_UV.7
CLL TO ARAKAWA B GRID VELOCITY POINTS. H_TO_UV.8
CLL H_TO_UV.9
CLL IT CAN BE COMPILED BY CFT77, BUT DOES NOT CONFORM TO ANSI H_TO_UV.10
CLL FORTRAN77 STANDARDS, BECAUSE OF THE INLINE COMMENTS. H_TO_UV.11
CLL H_TO_UV.12
CLL ALL QUANTITIES IN THIS ROUTINE ARE IN S.I. UNITS UNLESS H_TO_UV.13
CLL OTHERWISE STATED. H_TO_UV.14
CLL H_TO_UV.15
CLL WRITTEN BY J.F.THOMSON (20/05/93) H_TO_UV.16
CLL H_TO_UV.17
CLL MODEL MODIFICATION HISTORY: H_TO_UV.18
CLL VERSION DATE H_TO_UV.19
! 3.5 16.01.95 Remove *IF dependency. R.Hill ORH1F305.4740
CLL H_TO_UV.20
CLL H_TO_UV.21
CLL THIS ROUTINE FORMS PART OF SYSTEM COMPONENT P4. H_TO_UV.22
CLL H_TO_UV.23
CLL ADHERES TO THE STANDARDS OF DOCUMENTATION PAPER 4, VERSION 1. H_TO_UV.24
CLLEND--------------------------------------------------------------- H_TO_UV.25
C*L H_TO_UV.26
subroutine h_to_uv( 5,1H_TO_UV.27
*CALL ARGOINDX
ORH7F402.90
& data_h H_TO_UV.28
&,data_uv H_TO_UV.29
&,imt,jmt,jmtm1 H_TO_UV.30
& ) H_TO_UV.31
C H_TO_UV.32
implicit none H_TO_UV.33
*CALL CNTLOCN
ORH1F305.4741
*CALL TYPOINDX
ORH7F402.91
C H_TO_UV.34
integer H_TO_UV.35
& jmt ! in number of rows on mass grid. H_TO_UV.36
&,jmtm1 ! in number of rows on velocity grid. H_TO_UV.37
&,imt ! in number of points in each mass row. H_TO_UV.38
real H_TO_UV.39
& data_h(imt,jmt) ! in data on mass grid H_TO_UV.40
&,data_uv(imt,jmtm1)! out data on B grid velocity points. H_TO_UV.41
C H_TO_UV.42
C variables local to this subroutine are now defined H_TO_UV.43
C H_TO_UV.44
integer H_TO_UV.45
& i H_TO_UV.46
&,j H_TO_UV.47
&,imtm1 H_TO_UV.48
C* H_TO_UV.49
C start executable code H_TO_UV.50
C H_TO_UV.51
*IF DEF,MPP ORH4F402.164
C===================================================================== ORH4F402.165
C CALL TO SWAPBOUNDS FOR HALO UPDATE IN MPP VERSION ORH4F402.166
C===================================================================== ORH4F402.167
ORH4F402.168
CALL SWAPBOUNDS
(DATA_H,IMT,JMT,O_EW_HALO,O_NS_HALO,1) ORH4F402.169
ORH4F402.170
*ENDIF ORH4F402.171
ORH4F402.172
imtm1 = imt - 1 H_TO_UV.52
C H_TO_UV.53
C Interpolate velocity field. H_TO_UV.54
C H_TO_UV.55
do j=J_1,J_jmtm1 ORH3F402.350
do i=1,imtm1 H_TO_UV.57
data_uv(i,j) = ( data_h(i,j) + data_h(i+1,j) + data_h(i,j+1) H_TO_UV.58
& + data_h(i+1,j+1) ) * 0.25 H_TO_UV.59
end do H_TO_UV.60
end do H_TO_UV.61
do j=J_1,J_jmtm1 ORH3F402.351
data_uv(imt,j) = ( data_h(imt,j) + data_h(imt,j+1) ) * 0.5 H_TO_UV.63
end do H_TO_UV.64
IF (L_OCYCLIC) THEN ORH1F305.4742
C H_TO_UV.66
C Make cyclic if necessary. H_TO_UV.67
C H_TO_UV.68
do j=J_1,J_jmtm1 ORH3F402.352
data_uv(1,j) = data_uv(imtm1,j) H_TO_UV.70
data_uv(imt,j) = data_uv(2,j) H_TO_UV.71
end do H_TO_UV.72
ENDIF ORH1F305.4743
C H_TO_UV.74
return H_TO_UV.75
end H_TO_UV.76
*ENDIF H_TO_UV.77