*IF DEF,CONTROL,AND,DEF,ATMOS                                              MMPPCTL1.2      
C ******************************COPYRIGHT******************************    GTS2F400.6031   
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.6032   
C                                                                          GTS2F400.6033   
C Use, duplication or disclosure of this code is subject to the            GTS2F400.6034   
C restrictions as set forth in the contract.                               GTS2F400.6035   
C                                                                          GTS2F400.6036   
C                Meteorological Office                                     GTS2F400.6037   
C                London Road                                               GTS2F400.6038   
C                BRACKNELL                                                 GTS2F400.6039   
C                Berkshire UK                                              GTS2F400.6040   
C                RG12 2SZ                                                  GTS2F400.6041   
C                                                                          GTS2F400.6042   
C If no contract has been raised with this copy of the code, the use,      GTS2F400.6043   
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.6044   
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.6045   
C Modelling at the above address.                                          GTS2F400.6046   
C ******************************COPYRIGHT******************************    GTS2F400.6047   
C                                                                          GTS2F400.6048   
CLL Subroutine MMPPINIT -----------------------------------------------    MMPPCTL1.3      
CLL                                                                        MMPPCTL1.4      
CLL Purpose : Prints max/min values, patches and other diagnostics         MMPPCTL1.5      
CLL          under control of various logicals.                            MMPPCTL1.6      
CLL          Called from ATM_STEP for initial timestep.                    MMPPCTL1.7      
CLL                                                                        MMPPCTL1.8      
CLL Level 2 control routine                                                MMPPCTL1.9      
CLL Version for CRAY YMP                                                   MMPPCTL1.10     
CLL                                                                        MMPPCTL1.11     
CLL  Model            Modification history:                                MMPPCTL1.12     
CLL version  Date                                                          MMPPCTL1.13     
CLL   3.2  17/06/93  New control interfacing routine required because      MMPPCTL1.14     
CLL                   of dynamic allocation changes. R.T.H.Barnes.         MMPPCTL1.15     
CLL   4.4  10/11/97  Updated to allow for convective cloud on model        AJX0F404.518    
CLL                  levels.                          Julie Gregory        AJX0F404.519    
CLL   4.5  19/01/98  Pass individual soil and veg fields to PPRINT_S.      GDR6F405.228    
CLL                  Remove SOIL_VARS and VEG_VARS. D. Robinson.           GDR6F405.229    
CLL                                                                        MMPPCTL1.16     
CLL Programming standard : unified model documentation paper No 3          MMPPCTL1.17     
CLL                                                                        MMPPCTL1.18     
CLL System components covered :                                            MMPPCTL1.19     
CLL                                                                        MMPPCTL1.20     
CLL System task : Point print diagnostics                                  MMPPCTL1.21     
CLL                                                                        MMPPCTL1.22     
CLL Documentation : Unified model documentation paper no.                  MMPPCTL1.23     
CLL                                                                        MMPPCTL1.24     
CLLEND -----------------------------------------------------------------   MMPPCTL1.25     
C*L Arguments                                                              MMPPCTL1.26     

      SUBROUTINE MMPPINIT(                                                  1,4MMPPCTL1.27     
*CALL ARGSIZE                                                              MMPPCTL1.28     
*CALL ARGD1                                                                MMPPCTL1.29     
*CALL ARGDUMA                                                              MMPPCTL1.30     
*CALL ARGPTRA                                                              MMPPCTL1.31     
*CALL ARGCONA                                                              MMPPCTL1.32     
     &                    ICODE,CMESSAGE)                                  MMPPCTL1.33     
                                                                           MMPPCTL1.34     
      IMPLICIT NONE                                                        MMPPCTL1.35     
                                                                           MMPPCTL1.36     
*CALL CMAXSIZE                                                             MMPPCTL1.37     
*CALL TYPSIZE                                                              MMPPCTL1.38     
*CALL TYPD1                                                                MMPPCTL1.39     
*CALL TYPDUMA                                                              MMPPCTL1.40     
*CALL TYPPTRA                                                              MMPPCTL1.41     
*CALL TYPCONA                                                              MMPPCTL1.42     
                                                                           MMPPCTL1.43     
      INTEGER                                                              MMPPCTL1.44     
     &       ICODE        ! Return code : 0 Normal Exit                    MMPPCTL1.45     
C                         !             : >0 Error                         MMPPCTL1.46     
                                                                           MMPPCTL1.47     
      CHARACTER*(*)                                                        MMPPCTL1.48     
     &       CMESSAGE     ! Error message if return code >0                MMPPCTL1.49     
                                                                           MMPPCTL1.50     
*CALL CSUBMODL                                                             MMPPCTL1.51     
*CALL CHSUNITS                                                             MMPPCTL1.52     
*CALL CCONTROL                                                             MMPPCTL1.53     
*CALL CTIME                                                                MMPPCTL1.54     
*CALL CPPRINT                                                              MMPPCTL1.55     
                                                                           MMPPCTL1.56     
C External subroutines called                                              MMPPCTL1.57     
                                                                           MMPPCTL1.58     
      EXTERNAL                                                             MMPPCTL1.59     
     &       PRVXN,                                                        MMPPCTL1.60     
     &       PPRINT_A,                                                     MMPPCTL1.61     
     &       PPRINT_S,                                                     MMPPCTL1.62     
     &       EQTOLL                                                        MMPPCTL1.63     
                                                                           MMPPCTL1.64     
C Local Variables                                                          MMPPCTL1.65     
                                                                           MMPPCTL1.66     
      REAL                                                                 MMPPCTL1.67     
     &       PPRINT_LATT,PPRINT_LONGT                                      MMPPCTL1.68     
                                                                           MMPPCTL1.69     
      ICODE=0                                                              MMPPCTL1.70     
      CMESSAGE='  '                                                        MMPPCTL1.71     
                                                                           MMPPCTL1.72     
C   Max/min and patch print diagnostics from top of ATM_STEP               MMPPCTL1.73     
      IF(LPRVXN) THEN                                                      MMPPCTL1.74     
        LCLOUDP=.FALSE.                                                    MMPPCTL1.75     
        LRADP=.FALSE.                                                      MMPPCTL1.76     
        LTHETAP=.TRUE.                                                     MMPPCTL1.77     
        IF (STEPim(a_im).EQ.1) THEN                                        GDR5F305.96     
          WRITE(6,*)' Check min/max initially'                             MMPPCTL1.79     
          CALL PRVXN(P_FIELD,U_FIELD,P_LEVELS,Q_LEVELS,D1(JTSTAR),         MMPPCTL1.80     
     &        D1(JPSTAR),D1(JP_EXNER(1)),                                  MMPPCTL1.81     
     &        D1(JTHETA(1)),D1(JU(1)),D1(JV(1)),D1(JQ(1)),                 MMPPCTL1.82     
     &        D1(JQCL(1)),D1(JQCF(1)),DUMMY,LCLOUDP,                       MMPPCTL1.83     
     &        DUMMY,AKH,BKH,LTHETAP,LMOISTP,LRADP,                         MMPPCTL1.84     
     &        PRVXN_LEVEL,LPRVXNP)                                         MMPPCTL1.85     
        ENDIF                                                              MMPPCTL1.86     
      ENDIF                                                                MMPPCTL1.87     
                                                                           MMPPCTL1.88     
      IF(LPPRINT) THEN                                                     MMPPCTL1.89     
        LRADP=.FALSE.                                                      MMPPCTL1.90     
        LCLOUDP=.FALSE.                                                    MMPPCTL1.91     
        LTHETAP=.TRUE.                                                     MMPPCTL1.92     
                                                                           MMPPCTL1.93     
C set LGLOBALP,PPRINT_LAT,PPRINT_LONG from header info if 1st call         MMPPCTL1.94     
                                                                           MMPPCTL1.95     
        IF (STEPim(a_im).LE.PPRINT_FIRST) THEN                             GDR5F305.97     
          LGLOBALP=A_FIXHD(4).EQ.0                                         MMPPCTL1.97     
          PPRINT_LAT=A_REALHD(3) - (INT((PPRINT_POINT-1)/ROW_LENGTH))*     MMPPCTL1.98     
     &             A_REALHD(2)                                             MMPPCTL1.99     
          PPRINT_LONG=A_REALHD(4) +                                        MMPPCTL1.100    
     &              (MOD((PPRINT_POINT-1),ROW_LENGTH))*A_REALHD(1)         MMPPCTL1.101    
          IF(PPRINT_LONG.GT.360.) PPRINT_LONG=PPRINT_LONG-360.             MMPPCTL1.102    
          IF(.NOT.LGLOBALP) THEN                                           MMPPCTL1.103    
          CALL EQTOLL(PPRINT_LAT,PPRINT_LONG,PPRINT_LATT,PPRINT_LONGT,     MMPPCTL1.104    
     &         A_REALHD(5),A_REALHD(6),1)                                  MMPPCTL1.105    
            PPRINT_LAT=PPRINT_LATT                                         MMPPCTL1.106    
            PPRINT_LONG=PPRINT_LONGT                                       MMPPCTL1.107    
          ENDIF                                                            MMPPCTL1.108    
        ENDIF                                                              MMPPCTL1.109    
        IF (STEPim(a_im).EQ. 1) THEN                                       GDR5F305.98     
          WRITE(6,*)' Check point values initially'                        MMPPCTL1.111    
          IF(LPPRINT_A) THEN                                               MMPPCTL1.112    
            CALL PPRINT_A(P_FIELD,U_FIELD,P_LEVELS,Q_LEVELS,               MMPPCTL1.113    
     &       TR_VARS,TR_LEVELS,ROW_LENGTH,P_ROWS,U_ROWS,                   MMPPCTL1.114    
     &       D1(JTSTAR),D1(JPSTAR),D1(JP_EXNER(1)),                        MMPPCTL1.115    
     &       D1(JTHETA(1)),D1(JU(1)),D1(JV(1)),D1(JQ(1)),                  MMPPCTL1.116    
     &       D1(JQCL(1)),D1(JQCF(1)),                                      MMPPCTL1.117    
     &       D1(JTRACER(1,1)),D1(JCCA(1)),D1(JCCB),D1(JCCT),               AJX0F404.520    
     &       D1(JCCLWP),DUMMY,DUMMY,LCLOUDP,                               MMPPCTL1.119    
     &       PPRINT_POINT,PPRINT_LAT,PPRINT_LONG,                          MMPPCTL1.120    
     &       PPRINT_TOL,LVPRINT,LHPRINT,LTHETAP,LRADP,LGLOBALP,            MMPPCTL1.121    
     &       A_LEVDEPC(JAK),A_LEVDEPC(JBK),AKH,BKH,N_CCA_LEV)              AJX0F404.521    
          ENDIF                                                            MMPPCTL1.123    
C                                                                          MMPPCTL1.124    
          IF(LPPRINT_S) THEN                                               MMPPCTL1.125    
           CALL PPRINT_S(P_FIELD,LAND_FIELD,                               AJS1F401.1567   
     &       ST_LEVELS,SM_LEVELS,ROW_LENGTH,P_ROWS,                        GDR6F405.230    
     &       D1(JTSTAR),D1(JPSTAR),                                        MMPPCTL1.128    
     &       D1(J_DEEP_SOIL_TEMP(1)),D1(JSMC),D1(JCANOPY_WATER),           MMPPCTL1.129    
     &       D1(JSNODEP),D1(JZH),D1(JZ0),D1(JLAND),LAND_LIST,              MMPPCTL1.130    
     &       D1(JICE_FRACTION),D1(JICE_THICKNESS),D1(JVOL_SMC_WILT),       GDR6F405.231    
     &       D1(JVOL_SMC_CRIT),D1(JVOL_SMC_FCAP),D1(JVOL_SMC_SAT),         GDR6F405.232    
     &       D1(JSAT_SOIL_COND),D1(JEAGLE_EXP),D1(JTHERM_CAP),             GDR6F405.233    
     &       D1(JTHERM_COND),D1(JCLAPP_HORN),                              GDR6F405.234    
     &       D1(JVEG_FRAC),D1(JROOT_DEPTH),D1(JSFA),D1(JMDSA),             GDR6F405.235    
     &       D1(JSURF_RESIST),D1(JSURF_CAP),D1(JINFILT),D1(JOROG),         GDR6F405.236    
     &       D1(JOROG_SD),DUMMY,                                           MMPPCTL1.133    
     &       PPRINT_POINT,PPRINT_LAT,PPRINT_LONG,                          MMPPCTL1.134    
     &       PPRINT_TOL,LRADP,LGLOBALP,LSINGLE_HYDROL,LMOSES)              GDR6F405.237    
          ENDIF                                                            MMPPCTL1.136    
        ENDIF                                                              MMPPCTL1.137    
      ENDIF                                                                MMPPCTL1.138    
                                                                           MMPPCTL1.139    
      RETURN                                                               MMPPCTL1.140    
      END                                                                  MMPPCTL1.141    
                                                                           MMPPCTL1.142    
*ENDIF                                                                     MMPPCTL1.143    
                                                                           MMPPCTL1.144    
*IF DEF,CONTROL,AND,DEF,ATMOS                                              MMPPCTL1.145    
CLL Subroutine MMPP_CTL -----------------------------------------------    MMPPCTL1.146    
CLL                                                                        MMPPCTL1.147    
CLL Purpose : Prints max/min values, patches and other diagnostics         MMPPCTL1.148    
CLL          under control of various logicals.                            MMPPCTL1.149    
CLL          Called from ATM_STEP at end of timestep.                      MMPPCTL1.150    
CLL                                                                        MMPPCTL1.151    
CLL Level 2 control routine                                                MMPPCTL1.152    
CLL Version for CRAY YMP                                                   MMPPCTL1.153    
CLL                                                                        MMPPCTL1.154    
CLL  Model            Modification history:                                MMPPCTL1.155    
CLL version  Date                                                          MMPPCTL1.156    
CLL   3.2  17/06/93  New control interfacing routine required because      MMPPCTL1.157    
CLL                   of dynamic allocation changes. R.T.H.Barnes.         MMPPCTL1.158    
CLL   4.4  10/11/97  Updated to allow for convective cloud on model        AJX0F404.522    
CLL                  levels.                          Julie Gregory        AJX0F404.523    
CLL   4.4  28/08/97  Field increment diagnostics I/O changed from          ARR0F404.24     
CLL                  Fortran to C to free a unit no. R.Rawlins             ARR0F404.25     
CLL   4.5  19/01/98  Pass individual soil and veg fields to PPRINT_S.      GDR6F405.238    
CLL                  Remove SOIL_VARS and VEG_VARS. D. Robinson.           GDR6F405.239    
CLL                                                                        MMPPCTL1.159    
CLL Programming standard : unified model documentation paper No 3          MMPPCTL1.160    
CLL                                                                        MMPPCTL1.161    
CLL System components covered :                                            MMPPCTL1.162    
CLL                                                                        MMPPCTL1.163    
CLL System task : Point print diagnostics                                  MMPPCTL1.164    
CLL                                                                        MMPPCTL1.165    
CLL Documentation : Unified model documentation paper no.                  MMPPCTL1.166    
CLL                                                                        MMPPCTL1.167    
CLLEND -----------------------------------------------------------------   MMPPCTL1.168    
C*L Arguments                                                              MMPPCTL1.169    

      SUBROUTINE MMPP_CTL(                                                  1,4MMPPCTL1.170    
*CALL ARGSIZE                                                              MMPPCTL1.171    
*CALL ARGD1                                                                MMPPCTL1.172    
*CALL ARGDUMA                                                              MMPPCTL1.173    
*CALL ARGPTRA                                                              MMPPCTL1.174    
*CALL ARGCONA                                                              MMPPCTL1.175    
     &                    ICODE,CMESSAGE)                                  MMPPCTL1.176    
                                                                           MMPPCTL1.177    
      IMPLICIT NONE                                                        MMPPCTL1.178    
                                                                           MMPPCTL1.179    
*CALL CMAXSIZE                                                             MMPPCTL1.180    
*CALL TYPSIZE                                                              MMPPCTL1.181    
*CALL TYPD1                                                                MMPPCTL1.182    
*CALL TYPDUMA                                                              MMPPCTL1.183    
*CALL TYPPTRA                                                              MMPPCTL1.184    
*CALL TYPCONA                                                              MMPPCTL1.185    
                                                                           MMPPCTL1.186    
      INTEGER                                                              MMPPCTL1.187    
     &       ICODE        ! Return code : 0 Normal Exit                    MMPPCTL1.188    
C                         !             : >0 Error                         MMPPCTL1.189    
                                                                           MMPPCTL1.190    
      CHARACTER*(*)                                                        MMPPCTL1.191    
     &       CMESSAGE     ! Error message if return code >0                MMPPCTL1.192    
                                                                           MMPPCTL1.193    
*CALL CSUBMODL                                                             MMPPCTL1.194    
*CALL CHSUNITS                                                             MMPPCTL1.195    
*CALL CCONTROL                                                             MMPPCTL1.196    
*CALL CTIME                                                                MMPPCTL1.197    
*CALL CPPRINT                                                              MMPPCTL1.198    
                                                                           MMPPCTL1.199    
C External subroutines called                                              MMPPCTL1.200    
                                                                           MMPPCTL1.201    
      EXTERNAL                                                             MMPPCTL1.202    
     &       PRVXN,                                                        MMPPCTL1.203    
     &       PPRINT_A,                                                     MMPPCTL1.204    
     &       PPRINT_S,                                                     MMPPCTL1.205    
     &       EQTOLL                                                        MMPPCTL1.206    
                                                                           MMPPCTL1.207    
C Local Variables                                                          MMPPCTL1.208    
                                                                           MMPPCTL1.209    
      REAL                                                                 MMPPCTL1.210    
     &       PPRINT_LATT,PPRINT_LONGT                                      MMPPCTL1.211    
                                                                           MMPPCTL1.212    
      ICODE=0                                                              MMPPCTL1.213    
      CMESSAGE='  '                                                        MMPPCTL1.214    
                                                                           MMPPCTL1.215    
C   Max/min and patch print diagnostics from top of ATM_STEP               MMPPCTL1.216    
      IF(LPRVXN) THEN                                                      MMPPCTL1.217    
        LCLOUDP=.FALSE.                                                    MMPPCTL1.218    
        LRADP=.FALSE.                                                      MMPPCTL1.219    
        LTHETAP=.TRUE.                                                     MMPPCTL1.220    
        IF(MOD(STEPim(a_im)-PRVXN_FIRST,PRVXN_STEP).EQ.0 .AND.             GDR5F305.99     
     &    STEPim(a_im).GE.PRVXN_FIRST .AND.                                GDR5F305.100    
     &    (PRVXN_LAST.LE.0 .OR. STEPim(a_im).LE.PRVXN_LAST)) THEN          GDR5F305.101    
          WRITE(6,*)' Check min/max at end of atm_step'                    MMPPCTL1.224    
          CALL PRVXN(P_FIELD,U_FIELD,P_LEVELS,Q_LEVELS,D1(JTSTAR),         MMPPCTL1.225    
     &        D1(JPSTAR),D1(JP_EXNER(1)),                                  MMPPCTL1.226    
     &        D1(JTHETA(1)),D1(JU(1)),D1(JV(1)),D1(JQ(1)),                 MMPPCTL1.227    
     &        D1(JQCL(1)),D1(JQCF(1)),DUMMY,LCLOUDP,                       MMPPCTL1.228    
     &        DUMMY,AKH,BKH,LTHETAP,LMOISTP,LRADP,                         MMPPCTL1.229    
     &        PRVXN_LEVEL,LPRVXNP)                                         MMPPCTL1.230    
        ENDIF                                                              MMPPCTL1.231    
      ENDIF                                                                MMPPCTL1.232    
                                                                           MMPPCTL1.233    
      IF(LPPRINT) THEN                                                     MMPPCTL1.234    
        LRADP=.FALSE.                                                      MMPPCTL1.235    
        LCLOUDP=.FALSE.                                                    MMPPCTL1.236    
        LTHETAP=.TRUE.                                                     MMPPCTL1.237    
                                                                           MMPPCTL1.238    
        IF(MOD(STEPim(a_im)-PPRINT_FIRST,PPRINT_STEP).EQ.0.AND.            GDR5F305.102    
     &    STEPim(a_im).GE.PPRINT_FIRST .AND.                               GDR5F305.103    
     &    (PPRINT_LAST.LE.0 .OR. STEPim(a_im).LE.PPRINT_LAST)) THEN        GDR5F305.104    
          WRITE(6,*)' Check point values at end of atm_step'               MMPPCTL1.242    
          IF(LPPRINT_A) THEN                                               MMPPCTL1.243    
            CALL PPRINT_A(P_FIELD,U_FIELD,P_LEVELS,Q_LEVELS,               MMPPCTL1.244    
     &       TR_VARS,TR_LEVELS,ROW_LENGTH,P_ROWS,U_ROWS,                   MMPPCTL1.245    
     &       D1(JTSTAR),D1(JPSTAR),D1(JP_EXNER(1)),                        MMPPCTL1.246    
     &       D1(JTHETA(1)),D1(JU(1)),D1(JV(1)),D1(JQ(1)),                  MMPPCTL1.247    
     &       D1(JQCL(1)),D1(JQCF(1)),                                      MMPPCTL1.248    
     &       D1(JTRACER(1,1)),D1(JCCA(1)),D1(JCCB),D1(JCCT),               AJX0F404.524    
     &       D1(JCCLWP),DUMMY,DUMMY,LCLOUDP,                               MMPPCTL1.250    
     &       PPRINT_POINT,PPRINT_LAT,PPRINT_LONG,                          MMPPCTL1.251    
     &       PPRINT_TOL,LVPRINT,LHPRINT,LTHETAP,LRADP,LGLOBALP,            MMPPCTL1.252    
     &       A_LEVDEPC(JAK),A_LEVDEPC(JBK),AKH,BKH,N_CCA_LEV)              AJX0F404.525    
          ENDIF                                                            MMPPCTL1.254    
C                                                                          MMPPCTL1.255    
          IF(LPPRINT_S) THEN                                               MMPPCTL1.256    
           CALL PPRINT_S(P_FIELD,LAND_FIELD,                               AJS1F401.1569   
     &       ST_LEVELS,SM_LEVELS,ROW_LENGTH,P_ROWS,                        GDR6F405.240    
     &       D1(JTSTAR),D1(JPSTAR),                                        MMPPCTL1.259    
     &       D1(J_DEEP_SOIL_TEMP(1)),D1(JSMC),D1(JCANOPY_WATER),           MMPPCTL1.260    
     &       D1(JSNODEP),D1(JZH),D1(JZ0),D1(JLAND),LAND_LIST,              MMPPCTL1.261    
     &       D1(JICE_FRACTION),D1(JICE_THICKNESS),D1(JVOL_SMC_WILT),       GDR6F405.241    
     &       D1(JVOL_SMC_CRIT),D1(JVOL_SMC_FCAP),D1(JVOL_SMC_SAT),         GDR6F405.242    
     &       D1(JSAT_SOIL_COND),D1(JEAGLE_EXP),D1(JTHERM_CAP),             GDR6F405.243    
     &       D1(JTHERM_COND),D1(JCLAPP_HORN),                              GDR6F405.244    
     &       D1(JVEG_FRAC),D1(JROOT_DEPTH),D1(JSFA),D1(JMDSA),             GDR6F405.245    
     &       D1(JSURF_RESIST),D1(JSURF_CAP),D1(JINFILT),D1(JOROG),         GDR6F405.246    
     &       D1(JOROG_SD),DUMMY,                                           MMPPCTL1.264    
     &       PPRINT_POINT,PPRINT_LAT,PPRINT_LONG,                          MMPPCTL1.265    
     &       PPRINT_TOL,LRADP,LGLOBALP,LSINGLE_HYDROL,LMOSES)              GDR6F405.247    
          ENDIF                                                            MMPPCTL1.267    
        ENDIF                                                              MMPPCTL1.268    
      ENDIF                                                                MMPPCTL1.269    
C   Max/min and patch print diagnostics from end of ATM_STEP               MMPPCTL1.270    
                                                                           MMPPCTL1.271    
                                                                           MMPPCTL1.272    
CL                                                                         MMPPCTL1.273    
CL GET STATS OF MAX/MIN/MEAN OF FIELDS AND CHANGES SINCE LAST STEP         MMPPCTL1.274    
CL                                                                         MMPPCTL1.275    
      IF(LPRFLD) THEN                                                      MMPPCTL1.276    
        LTHETAP=.TRUE.                                                     MMPPCTL1.277    
        IF (STEPim(a_im).LE.PRFLD_LAST .AND.                               GDR5F305.105    
     &      STEPim(a_im).GE.PRFLD_FIRST-1) THEN                            GDR5F305.106    
          IF(MOD(STEPim(a_im)-PRFLD_FIRST,PRFLD_STEP).EQ.0) THEN           GDR5F305.107    
            WRITE(6,*) ' Field max/min increments at end of timestep'      MMPPCTL1.280    
            WRITE(6,*) ' -increments over ',PRFLD_STEP,' timesteps'        MMPPCTL1.281    
          ENDIF                                                            MMPPCTL1.282    
          CALL FLDSTAT(P_LEVELS,Q_LEVELS,ROW_LENGTH,P_ROWS,                MMPPCTL1.283    
     +              P_FIELD,U_FIELD,STEPim(a_im),                          GDR5F305.108    
     +              A_LEVDEPC(JAK),A_LEVDEPC(JBK),AKH,BKH,                 MMPPCTL1.285    
     +              D1(JP_EXNER(1)),D1(JPSTAR),D1(JTHETA(1)),D1(JQ(1)),    MMPPCTL1.286    
     +              D1(JU(1)),D1(JV(1)),                                   MMPPCTL1.287    
     &              LTHETAP,PRFLD_STEP,PRFLD_FIRST,PRFLD_LAST,NDEV_FLD,    ARR0F404.26     
     &              LEN_FLD_FILENAME,FLD_FILENAME)                         ARR0F404.27     
        ENDIF                                                              MMPPCTL1.289    
      ENDIF                                                                MMPPCTL1.290    
                                                                           MMPPCTL1.291    
      RETURN                                                               MMPPCTL1.292    
      END                                                                  MMPPCTL1.293    
                                                                           MMPPCTL1.294    
*ENDIF                                                                     MMPPCTL1.295