*IF DEF,OCEAN @DYALLOC.4595 C ******************************COPYRIGHT****************************** GTS2F400.7057 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.7058 C GTS2F400.7059 C Use, duplication or disclosure of this code is subject to the GTS2F400.7060 C restrictions as set forth in the contract. GTS2F400.7061 C GTS2F400.7062 C Meteorological Office GTS2F400.7063 C London Road GTS2F400.7064 C BRACKNELL GTS2F400.7065 C Berkshire UK GTS2F400.7066 C RG12 2SZ GTS2F400.7067 C GTS2F400.7068 C If no contract has been raised with this copy of the code, the use, GTS2F400.7069 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.7070 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.7071 C Modelling at the above address. GTS2F400.7072 C ******************************COPYRIGHT****************************** GTS2F400.7073 C GTS2F400.7074SUBROUTINE OCN_FRST( 1OCN_FRST.2 ! Modification History: ORH1F305.5436 ! Version Date Details ORH1F305.5437 ! ------- ------- ------------------------------------------ ORH1F305.5438 ! 3.5 16.01.95 Remove *IF dependency. R.Hill ORH1F305.5439 CLL 4.4 15/06/97 Changes to allow for a mixing timestep to be ORL1F404.736 CLL used with the free surface solution. R.Lenton ORL1F404.737 CLL ORL1F404.738 *CALL ARGSIZE
@DYALLOC.4596 *CALL ARGOCALL
@DYALLOC.4597 *CALL ARGOINDX
ORH7F402.92 & ITT,TTSEC,SWLDEG ORH6F402.66 &,P,PB,PTD,PTDB OCN_FRST.5 &,ETA,ETAB,UBT,UBTBBT,VBT,VBTBBT ORL1F404.739 & ) OCN_FRST.7 C RH141293.30 IMPLICIT NONE RH141293.31 C RH141293.32 INTEGER I, ! Grid point index (Zonal) RH141293.33 & J ! Grid point index (Meridional) RH141293.34 C RH141293.35 *CALL OARRYSIZ
ORH6F401.17 *CALL TYPSIZE
@DYALLOC.4598 *CALL TYPOINDX
PXORDER.29 *CALL TYPOCALL
@DYALLOC.4599 *CALL UMSCALAR
OCN_FRST.10 *CALL CNTLOCN
ORH1F305.5440 OCN_FRST.12 REAL OCN_FRST.13 & TTSEC,SWLDEG ORH6F402.67 &,P(IMT_STREAM,JMT_STREAM),PB(IMT_STREAM,JMT_STREAM) ORH1F305.5442 &,PTD(IMT_STREAM,JMT_STREAM),PTDB(IMT_STREAM,JMT_STREAM) ORH1F305.5443 &,ETA(IMT_FSF,JMT_FSF),ETAB(IMT_FSF,JMT_FSF) ORL1F404.740 &,UBT(IMT_FSF,JMTM1_FSF),UBTBBT(IMT_FSF,JMTM1_FSF) ORL1F404.741 &,VBT(IMT_FSF,JMTM1_FSF),VBTBBT(IMT_FSF,JMTM1_FSF) ORL1F404.742 ORL1F404.743 INTEGER OCN_FRST.18 & ITT OCN_FRST.19 C OCN_FRST.20 C--------------------------------------------------------------------- OCN_FRST.21 C UPDATE PERMUTING DISC I/O UNITS OCN_FRST.22 C--------------------------------------------------------------------- OCN_FRST.23 C OCN_FRST.24 NDISKB= MOD(ITT+2,3)+1 OCN_FRST.25 NDISK = MOD(ITT+0,3)+1 OCN_FRST.26 NDISKA= MOD(ITT+1,3)+1 OCN_FRST.27 C OCN_FRST.28 C--------------------------------------------------------------------- OCN_FRST.29 C ADJUST VARIOUS QUANTITIES FOR MIXING TIMESTEP OCN_FRST.30 C--------------------------------------------------------------------- OCN_FRST.31 C OCN_FRST.32 MIX=0 OCN_FRST.33 C2DTTS=2.0*DTTS OCN_FRST.34 C2DTUV=2.0*DTUV OCN_FRST.35 IF ((.NOT.(L_OFREESFC)).AND.(.NOT.(L_ONOCLIN))) THEN ORL1F404.744 C2DTSF=2.0*DTSF ORH1F305.5445 ENDIF ORH1F305.5446 IF(MOD(ITT,NMIX).EQ.1) THEN OCN_FRST.39 MIX=1 OCN_FRST.40 C2DTTS=DTTS OCN_FRST.41 C2DTUV=DTUV OCN_FRST.42 ORL1F404.745 IF ((.NOT.(L_OFREESFC)).AND.(.NOT.(L_ONOCLIN))) THEN ORL1F404.746 C2DTSF=DTSF ORH1F305.5448 DO J=J_1,J_JMT ORH3F402.232 DO I=1,IMT ORH1F305.5450 PB(I,J)=P(I,J) ORH1F305.5451 ENDDO ! OVER I ORH1F305.5452 ENDDO ! OVER J ORH1F305.5453 ELSE IF ((L_OFREESFC).AND.(.NOT.(L_ONOCLIN))) THEN ORL1F404.747 C ORL1F404.748 C CREATE FREE SURFACE ARRAYS FOR A MIXING TIMESTEP. NOTE THAT BECAUSE ORL1F404.749 C THE FREE SURFACE SOLUTION HAS SMALL BAROTROPIC TIMESTEPS INSIDE THE ORL1F404.750 C BAROCLINIC TIMESTEPS THE TIMESTEPPER C2DTBT CANNOT BE SET HERE. ORL1F404.751 C C2DTBT IS INSTEAD SET TO DTBT FOR THE FIRST BAROTROPIC TIMESTEP ORL1F404.752 C ONLY, INSIDE ROUTINE TROPIC. ORL1F404.753 C ORL1F404.754 DO J=J_1,J_JMTM1 ORL1F404.755 DO I=1,IMT ORL1F404.756 UBTBBT(I,J)=UBT(I,J) ORL1F404.757 VBTBBT(I,J)=VBT(I,J) ORL1F404.758 ENDDO ! over i ORL1F404.759 ENDDO ! over j ORL1F404.760 ORL1F404.761 DO J=J_1,J_JMT ORL1F404.762 DO I=1,IMT ORL1F404.763 ETAB(I,J)=ETA(I,J) ORL1F404.764 ENDDO ! over i ORL1F404.765 ENDDO ! over j ORL1F404.766 ENDIF ORH1F305.5454 ENDIF OCN_FRST.50 182 CONTINUE OCN_FRST.51 RETURN OCN_FRST.52 END OCN_FRST.53 *ENDIF @DYALLOC.4600