*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.5      

      INTEGER 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