*IF DEF,SEAICE,OR,DEF,S40_1A SJC0F305.13 C ******************************COPYRIGHT****************************** GTS2F400.10981 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.10982 C GTS2F400.10983 C Use, duplication or disclosure of this code is subject to the GTS2F400.10984 C restrictions as set forth in the contract. GTS2F400.10985 C GTS2F400.10986 C Meteorological Office GTS2F400.10987 C London Road GTS2F400.10988 C BRACKNELL GTS2F400.10989 C Berkshire UK GTS2F400.10990 C RG12 2SZ GTS2F400.10991 C GTS2F400.10992 C If no contract has been raised with this copy of the code, the use, GTS2F400.10993 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.10994 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.10995 C Modelling at the above address. GTS2F400.10996 C ******************************COPYRIGHT****************************** GTS2F400.10997 C GTS2F400.10998 C*LL UV_TO_CV.3 CLL SUBROUTINE UV_TO_CV UV_TO_CV.4 CLL ------------------- UV_TO_CV.5 CLL UV_TO_CV.6 CLL DYNAMIC SEA ICE MODEL SUBROUTINE TO INTERPOLATE Y COMPONENT UV_TO_CV.7 CLL FIELDS ON ARAKAWA B GRID VELOCITY POINTS TO ARAKAWA C GRID. UV_TO_CV.8 CLL UV_TO_CV.9 CLL IT CAN BE COMPILED BY CFT77, BUT DOES NOT CONFORM TO ANSI UV_TO_CV.10 CLL FORTRAN77 STANDARDS, BECAUSE OF THE INLINE COMMENTS. UV_TO_CV.11 CLL UV_TO_CV.12 CLL ALL QUANTITIES IN THIS ROUTINE ARE IN S.I. UNITS UNLESS UV_TO_CV.13 CLL OTHERWISE STATED. UV_TO_CV.14 CLL UV_TO_CV.15 CLL WRITTEN BY J.F.THOMSON (07/05/93) UV_TO_CV.16 CLL UV_TO_CV.17 CLL MODEL MODIFICATION HISTORY: UV_TO_CV.18 CLL VERSION DATE UV_TO_CV.19 CLL 3.4Generalise for slab model. J.Thomson SJT1F304.1045 ! 3.5 16.01.95 Remove *IF dependency. R.Hill ORH1F305.5371 CLL UV_TO_CV.21 CLL IT ADHERES TO THE STANDARDS OF DOCUMENTATION PAPER 4, VERSION 1. UV_TO_CV.22 CLL UV_TO_CV.23 CLL THIS ROUTINE FORMS PART OF SYSTEM COMPONENT P4. UV_TO_CV.24 CLL UV_TO_CV.25 CLLEND--------------------------------------------------------------- UV_TO_CV.26 C*L UV_TO_CV.27subroutine uv_to_cv( 6UV_TO_CV.28 *CALL ARGOINDX
ORH7F402.208 & data_uv UV_TO_CV.29 &,data_cv UV_TO_CV.30 &,jmtm1 UV_TO_CV.31 &,imt UV_TO_CV.32 & ) UV_TO_CV.33 C UV_TO_CV.34 implicit none UV_TO_CV.35 *CALL CNTLOCN
ORH1F305.5372 *CALL TYPOINDX
ORH7F402.209 C UV_TO_CV.36 integer UV_TO_CV.37 & jmtm1 ! in number of rows on velocity grid. UV_TO_CV.38 &,imt ! in number of points in each row. UV_TO_CV.39 real UV_TO_CV.40 & data_uv(imt,jmtm1) ! in data on B grid. UV_TO_CV.41 &,data_cv(imt,jmtm1) ! out data on C grid. UV_TO_CV.42 C UV_TO_CV.43 C variables local to this subroutine are now defined UV_TO_CV.44 C UV_TO_CV.45 integer UV_TO_CV.46 & i UV_TO_CV.47 &,j UV_TO_CV.48 C* UV_TO_CV.49 C start executable code UV_TO_CV.50 C UV_TO_CV.51 C Interpolate velocity field. UV_TO_CV.52 C UV_TO_CV.53 do j=J_1,J_jmtm1 ORH3F402.407 do i=1,imt-1 UV_TO_CV.55 data_cv(i,j) = ( data_uv(i,j) + data_uv(i+1,j) ) * 0.5 UV_TO_CV.56 end do UV_TO_CV.57 *IF DEF,SLAB SJT1F304.1046 data_cv(imt,j) = ( data_uv(imt,j) + data_uv(1,j) ) * 0.5 SJT1F304.1047 *ENDIF UV_TO_CV.60 end do UV_TO_CV.61 *IF DEF,OCEAN SJT1F304.1048 IF (L_OCYCLIC) THEN ORH1F305.5373 C Make cyclic if necessary. SJT1F304.1049 do j=J_1,J_jmtm1 ORH3F402.408 data_cv(1,j) = data_cv(imt-1,j) UV_TO_CV.67 data_cv(imt,j) = data_cv(2,j) UV_TO_CV.68 end do UV_TO_CV.69 ELSE ORH1F305.5374 C Deal with end points SJT1F304.1051 do j=J_1,J_jmtm1 ORH3F402.409 data_cv(imt,j) = data_uv(imt,j) SJT1F304.1053 end do SJT1F304.1054 ENDIF ORH1F305.5375 *ENDIF UV_TO_CV.70 C UV_TO_CV.71 return UV_TO_CV.72 end UV_TO_CV.73 *ENDIF UV_TO_CV.74