*IF DEF,SEAICE,OR,DEF,S40_1A SJC0F305.10
C ******************************COPYRIGHT****************************** GTS2F400.4195
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.4196
C GTS2F400.4197
C Use, duplication or disclosure of this code is subject to the GTS2F400.4198
C restrictions as set forth in the contract. GTS2F400.4199
C GTS2F400.4200
C Meteorological Office GTS2F400.4201
C London Road GTS2F400.4202
C BRACKNELL GTS2F400.4203
C Berkshire UK GTS2F400.4204
C RG12 2SZ GTS2F400.4205
C GTS2F400.4206
C If no contract has been raised with this copy of the code, the use, GTS2F400.4207
C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.4208
C to do so must first be obtained in writing from the Head of Numerical GTS2F400.4209
C Modelling at the above address. GTS2F400.4210
C ******************************COPYRIGHT****************************** GTS2F400.4211
C GTS2F400.4212
C*LL H_TO_CU.3
CLL SUBROUTINE H_TO_CU H_TO_CU.4
CLL ------------------- H_TO_CU.5
CLL H_TO_CU.6
CLL DYNAMIC SEA ICE MODEL SUBROUTINE TO INTERPOLATE FIELDS ON H_TO_CU.7
CLL ARAKAWA B GRID MASS POINTS TO ARAKAWA C GRID U POINTS. H_TO_CU.8
CLL H_TO_CU.9
CLL IT CAN BE COMPILED BY CFT77, BUT DOES NOT CONFORM TO ANSI H_TO_CU.10
CLL FORTRAN77 STANDARDS, BECAUSE OF THE INLINE COMMENTS. H_TO_CU.11
CLL IT ADHERES TO THE STANDARDS OF DOCUMENTATION PAPER 4, VERSION 1. H_TO_CU.12
CLL H_TO_CU.13
CLL ALL QUANTITIES IN THIS ROUTINE ARE IN S.I. UNITS UNLESS H_TO_CU.14
CLL OTHERWISE STATED. H_TO_CU.15
CLL H_TO_CU.16
CLL WRITTEN BY J.F.THOMSON (07/05/93) H_TO_CU.17
CLL H_TO_CU.18
CLL MODEL MODIFICATION HISTORY: H_TO_CU.19
CLL VERSION DATE H_TO_CU.20
CLL 3.4Generalise for slab model. J Thomson SJT1F304.1057
! 3.5 16.01.95 Remove *IF dependency. R.Hill ORH1F305.4730
CLL H_TO_CU.21
CLL THIS ROUTINE FORMS PART OF SYSTEM COMPONENT P4. H_TO_CU.22
CLL H_TO_CU.23
CLL IT ADHERES TO THE STANDARDS OF DOCUMENTATION PAPER 4, VERSION 1. H_TO_CU.24
CLL H_TO_CU.25
CLLEND--------------------------------------------------------------- H_TO_CU.26
C*L H_TO_CU.27
subroutine h_to_cu( 5,1H_TO_CU.28
*CALL ARGOINDX
ORH7F402.202
& data_h H_TO_CU.29
&,data_cu H_TO_CU.30
&,jmt H_TO_CU.31
&,jmtm1 H_TO_CU.32
&,imt H_TO_CU.33
& ) H_TO_CU.34
C H_TO_CU.35
implicit none H_TO_CU.36
C H_TO_CU.37
! ORH3F402.343
*CALL CNTLOCN
ORH1F305.4731
*CALL TYPOINDX
ORH7F402.203
integer H_TO_CU.38
& jmt ! in number of rows on mass grid. H_TO_CU.39
&,jmtm1 ! in number of rows on velocity grid. H_TO_CU.40
&,imt ! in number of points in each mass row. H_TO_CU.41
real H_TO_CU.42
& data_h(imt,jmt) ! in data on mass grid. H_TO_CU.43
&,data_cu(imt,jmtm1) ! out data on C grid x velocity points. H_TO_CU.44
C H_TO_CU.45
C variables local to this subroutine are now defined H_TO_CU.46
C H_TO_CU.47
integer H_TO_CU.48
& i H_TO_CU.49
&,j H_TO_CU.50
&,imtm1 H_TO_CU.51
C* H_TO_CU.52
C start executable code H_TO_CU.53
*IF DEF,MPP,AND,-DEF,SLAB SCH0F405.49
C===================================================================== ORH4F402.156
C CALL TO SWAPBOUNDS FOR HALO UPDATE IN MPP VERSION ORH4F402.157
C===================================================================== ORH4F402.158
ORH4F402.159
CALL SWAPBOUNDS
(DATA_H,IMT,JMT,O_EW_HALO,O_NS_HALO,1) ORH4F402.160
ORH4F402.161
*ENDIF ORH4F402.162
ORH4F402.163
C H_TO_CU.54
imtm1 = imt - 1 H_TO_CU.55
C H_TO_CU.56
C Interpolate velocity field. H_TO_CU.57
C H_TO_CU.58
do j=J_1,J_jmtm1 ORH3F402.344
do i=1,imtm1 H_TO_CU.60
data_cu(i,j) = ( data_h(i,j+1) + data_h(i+1,j+1) ) * 0.5 H_TO_CU.61
end do H_TO_CU.62
*IF DEF,SLAB SJT1F304.1058
data_cu(imt,j) = ( data_h(imt,j+1) + data_h(1,j+1) ) * 0.5 SJT1F304.1059
*ENDIF SJT1F304.1060
end do H_TO_CU.63
*IF DEF,OCEAN SJT1F304.1061
IF (L_OCYCLIC) THEN ORH1F305.4732
C H_TO_CU.72
C Make cyclic if necessary. H_TO_CU.73
C H_TO_CU.74
do j=J_1,J_jmtm1 ORH3F402.345
data_cu(1,j) = data_cu(imt-1,j) H_TO_CU.76
data_cu(imt,j) = data_cu(2,j) H_TO_CU.77
end do H_TO_CU.78
ELSE ORH1F305.4733
C SJT1F304.1064
C Deal with non cyclic boundaries SJT1F304.1065
C SJT1F304.1066
do j=J_1,J_jmtm1 ORH3F402.346
data_cu(imt,j) = data_h(imt,j+1) SJT1F304.1068
end do SJT1F304.1069
ENDIF ORH1F305.4734
*ENDIF H_TO_CU.79
C H_TO_CU.80
return H_TO_CU.81
end H_TO_CU.82
*ENDIF H_TO_CU.83