*IF DEF,CONTROL,OR,DEF,RECON,OR,DEF,FLDOP GAV0F405.98 C ******************************COPYRIGHT****************************** GTS2F400.12922 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.12923 C GTS2F400.12924 C Use, duplication or disclosure of this code is subject to the GTS2F400.12925 C restrictions as set forth in the contract. GTS2F400.12926 C GTS2F400.12927 C Meteorological Office GTS2F400.12928 C London Road GTS2F400.12929 C BRACKNELL GTS2F400.12930 C Berkshire UK GTS2F400.12931 C RG12 2SZ GTS2F400.12932 C GTS2F400.12933 C If no contract has been raised with this copy of the code, the use, GTS2F400.12934 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.12935 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.12936 C Modelling at the above address. GTS2F400.12937 C GTS2F400.12938 !+ TOTIMP1.3 ! Function Interface: TOTIMP1.4 TOTIMP1.5INTEGER FUNCTION TOTIMP(PERIOD,UNIT,MDL) 12TOTIMP1.6 IMPLICIT NONE TOTIMP1.7 TOTIMP1.8 ! Description: TOTIMP1.9 ! TOTIMP1.10 ! Method: TOTIMP1.11 ! TOTIMP1.12 ! Current code owner: S.J.Swarbrick TOTIMP1.13 ! TOTIMP1.14 ! History: TOTIMP1.15 ! Version Date Comment TOTIMP1.16 ! ======= ==== ======= TOTIMP1.17 ! 3.5 Apr. 95 Original code. S.J.Swarbrick TOTIMP1.18 ! 4.4 Oct. 97 Changed error return value from -1 to -999 GDW1F404.238 ! Shaun de Witt GDW1F404.239 ! 4.5 18/08/98 Added DEF,FLDOP (A Van der Wal) GAV0F405.99 ! TOTIMP1.19 ! Code description: TOTIMP1.20 ! FORTRAN 77 + common Fortran 90 extensions. TOTIMP1.21 ! Written to UM programming standards version 7. TOTIMP1.22 ! TOTIMP1.23 ! System component covered: TOTIMP1.24 ! System task: Sub-Models Project TOTIMP1.25 ! TOTIMP1.26 ! Global variables: TOTIMP1.27 *CALL CSUBMODL
TOTIMP1.29 *CALL VERSION
TOTIMP1.30 *CALL TYPSIZE
GSS3F401.1184 *CALL MODEL
TOTIMP1.31 *CALL CNTLGEN
GSS3F401.1185 GSS3F401.1186 TOTIMP1.32 ! Function arguments: TOTIMP1.33 ! Scalar arguments with intent(in): GSS3F401.1187 INTEGER PERIOD TOTIMP1.37 CHARACTER*2 UNIT TOTIMP1.38 INTEGER MDL GSS3F401.1188 TOTIMP1.40 ! Local scalars: TOTIMP1.41 REAL FAC TOTIMP1.43 TOTIMP1.44 !- End of Header ---------------------------------------------------- TOTIMP1.45 TOTIMP1.46 FAC= GSS3F401.1189 & REAL(STEPS_PER_PERIODim(MDL))/REAL(SECS_PER_PERIODim(MDL)) GSS3F401.1190 IF (UNIT.EQ.'T ') THEN GSS3F401.1191 TOTIMP=PERIOD GSS3F401.1192 ELSE IF (UNIT.EQ.'H ') THEN GSS3F401.1193 TOTIMP=PERIOD*FAC*3600.0 +0.5 GSS3F401.1194 ELSE IF (UNIT.EQ.'DA') THEN GSS3F401.1195 TOTIMP=PERIOD*FAC*3600.0*24.0 +0.5 GSS3F401.1196 ELSE IF (UNIT.EQ.'DU') THEN GSS3F401.1197 IF (DUMPFREQim(MDL).EQ.0) THEN GSS3F401.1198 WRITE(6,*)'TOTIMP:IRREGULAR DUMPS FOR DUMP FREQUENCY' GSS3F401.1199 TOTIMP=-999 GDW1F404.240 ELSE TOTIMP1.63 TOTIMP=PERIOD*DUMPFREQim(MDL) GSS3F401.1201 END IF TOTIMP1.66 ELSE GSS3F401.1202 TOTIMP=-999 GDW1F404.241 WRITE(6,*)'TOTIMP: UNEXPECTED TIME UNIT',UNIT GSS3F401.1204 END IF TOTIMP1.89 TOTIMP1.90 END TOTIMP1.91 TOTIMP1.92 !- End of Function code --------------------------------------------- TOTIMP1.93 *ENDIF TOTIMP1.94