*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