include file: CNTLATM 22
! ----------------------- Comdeck: CNTLATM  ----------------------------   CNTLATM.2      
! Description: COMDECK defining Control variables for the Atmosphere       CNTLATM.3      
!              internal model, and its runtime constants.                  CNTLATM.4      
!                                                                          CNTLATM.5      
! Author : R.T.H.Barnes                                                    CNTLATM.6      
!                                                                          CNTLATM.7      
! History:                                                                 CNTLATM.8      
! Version  Date      Comment.                                              CNTLATM.9      
!  3.5  29/03/95  Sub-Models stage 1: revise History and Control file      CNTLATM.10     
!                 contents.  RTHBarnes.                                    CNTLATM.11     
!  4.0  17/08/95  New variables for long physics timestep,                 ARB0F400.73     
!                 and tracer advection.  RTHBarnes.                        ARB0F400.74     
!  4.0  7/11/95  Logical switches for convective momentum transports       API2F400.248    
!                and CAPE closure added to namelists. Pete Inness.         API2F400.249    
!  4.1  8/5/96   Logical switch for rapidly mixing boundary layer          ASJ3F401.18     
!  4.1 28/05/96  New control switches added for Sulphur Chemistry          GDR1F401.99     
!                Cycle and Hydrology Schemes. D Robinson & D. Goddard.     GDR1F401.100    
!  4.3  18/3/97  Flag to indicate if the HadCM2 approximate treatment      AWI1F403.5      
!                of sulphate aerosol is being used.       William Ingram   AWI1F403.6      
!  4.3 14/04/97  New control switch L_OLD_PWTS for old polar geometric     ATJ0F403.1      
!                weights, needed for HADCM2.    T Johns.                   ATJ0F403.2      
!  4.3 03/02/97  Logical L_MIXLEN for mixing in the boundary layer         ARN1F403.100    
!                  S Jackson                                               ARN1F403.101    
!  4.3 03/02/97  Logical switches L_XSCOMP and L_SDXS for convection       ARN2F403.106    
!                scheme  S Jackson                                         ARN2F403.107    
!  4.4 4/7/97    Add control for IAU  Chris Jones/Stuart Bell              VSB1F404.7      
!  4.4 05/09/97  Logical LFLUX_RESET to indicate when net flux field       GSM3F404.8      
!                needs initialising to 0. S.D. Mullerworth                 GSM3F404.9      
!  4.4 17/09/97  Logical switches L_CCW and L_3D_CCA added to enable       AJX0F404.300    
!                use of anvil package/3D conv. cloud amt. J.Gregory        AJX0F404.301    
!  4.4 08/09/97 Logical switches L_LSPICE, L_BL_LSPICE and L_LSPICE_BDY    ADM3F404.38     
!               for mixed phase precipitation.                             ADM3F404.39     
!                                                       D.Wilson           ADM3F404.40     
!  4.4 10/10/97  Logical switch L_SNOW_ALBEDO.  Richard Essery             ABX2F404.81     
!  4.4 10/10/97  Logical switches L_VEG_FRACS, L_TRIFFID, L_PHENOL,        ABX2F404.82     
!                L_NRUN_MID_TRIF and L_TRIF_EQ for veg.  Richard Betts     ABX2F404.83     
!  4.5   1/07/98  Add logicals to control interactive CO2 use. C.D.Jones   CCN1F405.1      
!   4.5  28/04/98  Add logicals for NH3 and SOOT variables and emiss       AWO0F405.1      
!                                                           M Woodage      AWO0F405.2      
!  4.5 21/08/98  Logical switch l_ssice_albedo.  Jonathan Gregory          AJG1F405.22     
!  4.5 20/05/98  Logical switch L_NEG_TSTAR for negative surface           ABX1F405.1706   
!                temperature error check.  Richard Betts                   ABX1F405.1707   
!  4.5 19/11/98  Add PHENOL_PERIOD and TRIFFID_PERIOD, moved from          ABX1F405.1708   
!                NLSTCATM.  Richard Betts                                  ABX1F405.1709   
!  4.5 19/05/98  Logical switch L_PHASE_LIM for HADAM3 physics in          AJX1F405.1      
!                optimised convection scheme.       Julie Gregory          AJX1F405.2      
!  4.5 26/06/98  Logical switches L_RHCPT, L_CLD_AREA for new              ASK1F405.20     
!                Section 9 parametrizations.             S. Cusack         ASK1F405.21     
!  4.5 22/10/98  Remove redundant switch LMULTIL_HYDROL                    GDG2F405.82     
!                Author D.M. Goddard                                       GDG2F405.83     
!  4.5 05/06/98  Add Logical switch L_VINT_TP.  D Robinson.                GDR4F405.1      
!                                                                          CNTLATM.12     
!    Documentation:  Unified Model Documentation Paper                     CNTLATM.13     
!                    H- History Bricks                                     CNTLATM.14     
!                                                                          CNTLATM.15     
!   Parameter declarations                                                 CNTLATM.16     
      INTEGER MAXSECTS            ! Max. no. of code sections              CNTLATM.17     
      PARAMETER (MAXSECTS=99)                                              CNTLATM.18     
!                                                                          CNTLATM.19     
!   Type declarations                                                      CNTLATM.20     
!                                                                          CNTLATM.21     
      INTEGER H_SWBANDS,      ! Number of shortwave radiation bands        CNTLATM.22     
     &        H_LWBANDS,      ! Number of longwave radiation bands         CNTLATM.23     
     &        A_ADJSTEPS,         ! No. of adjustment timesteps per        CNTLATM.24     
!                                 ! advection step                         CNTLATM.25     
     &        A_SW_RADSTEP,       ! Number of advection steps per          CNTLATM.26     
!                                 ! shortwave radiation step               CNTLATM.27     
     &        A_LW_RADSTEP,       ! Number of advection steps per          CNTLATM.28     
!                                 ! longwave radiation step                CNTLATM.29     
     &        A_SW_SEGMENTS,      ! No of batches used in shortwave code   CNTLATM.30     
     &        A_LW_SEGMENTS,      ! No of batches used in longwave code    CNTLATM.31     
     &        A_CONV_STEP,        ! No of advection timesteps between      CNTLATM.32     
!                                 ! calls to convection scheme             CNTLATM.33     
     &        A_CONVECT_SEGMENTS, ! No of batches in convection code       CNTLATM.34     
     &        A_NSET_FILTER,      ! No of advection steps after which      CNTLATM.35     
!                                 ! filtering wavenumber checked           CNTLATM.36     
     &        A_ENERGYSTEPS,      ! Number of advection steps after        CNTLATM.37     
!                                 ! which energy adjustment performed      CNTLATM.38     
     &        A_ASSIM_START_HR,   ! Time at which data assimilation        CNTLATM.39     
!                                 ! starts (Hours after Basis Time)        CNTLATM.40     
     &        A_ASSIM_END_HR      ! Time at which data assimilation        CNTLATM.41     
!                                 ! ends (Hours after Basis Time)          CNTLATM.42     
     &       ,T_IAU_START, T_IAU_END  ! IAU before and after               VSB1F404.8      
!                                                                          CNTLATM.43     
     &       ,A_SWEEPS_DYN ! No.of dynamics sweeps per physics timestep    ARB0F400.75     
     &       ,CALL_CHEM_FREQ ! Frequency of calls to CHEM_CTL              GDR1F401.101    
     &       ,PHENOL_PERIOD ! Update frequency for leaf phenology (days)   ABX1F405.1710   
     &       ,TRIFFID_PERIOD ! Update frequency for TRIFFID (days)         ABX1F405.1711   
                                                                           CNTLATM.83     
      LOGICAL                                                              CNTLATM.84     
     1       L_SW_RADIATE,           ! Activate SW radiation               CNTLATM.85     
     2       L_LW_RADIATE,           ! Activate LW radiation               CNTLATM.86     
     3       LADD_RADINCS,           ! Both SW and LW radiation active     CNTLATM.87     
     &       L_H2_SULPH,             ! HadCM2 approximate sulphate on      AWI1F403.7      
     4       L_SET_FILTER,           ! Recalculate filtering in dynamics   CNTLATM.88     
     5       LDAY,                   ! End-of-day                          CNTLATM.89     
     6       LEXPAND_OZONE,          ! Convert zonal mean ozone to field   CNTLATM.90     
     6       L_COMPRESS_LAND,        ! Compress land points in physics     CNTLATM.91     
     *       L_NEG_THETA,            ! Test for -ve theta in dynamics      CNTLATM.92     
     *       L_NEG_PSTAR,            ! Test for -ve P* in dynamics         CNTLATM.93     
     *       L_NEG_QT,               ! Test for -ve QT over layer          CNTLATM.94     
     &       L_NEG_TSTAR,           ! Test for -ve surface temperature.    ABX1F405.1712   
     *       L_FIELD_FLT,            ! Apply field filtering (atmos)       CNTLATM.95     
     *       L_SUPERBEE,             ! Superbee(T) or Van Leer(F)          CNTLATM.96     
     *                               ! limiter for tracer advection        CNTLATM.97     
     7       LENERGY,                ! Recalculate energy drift            CNTLATM.98     
     &       LFLUX_RESET,            ! Reset net flux field                GSM3F404.10     
     *       L_Z0_OROG,              ! T to use orog.roughness code        CNTLATM.99     
     *       L_RMBL,                 ! T to use rapid mixing BL code       ASJ3F401.19     
     &       L_MIXLEN,               ! T to make mixing length above BL    ARN1F403.102    
     &                               ! top independent of BL depth         ARN1F403.103    
     *       L_CONVECT               ! T call conv.scheme, F add incrs.    CNTLATM.100    
     *      ,L_HALF_TIMESTEP_DYN     ! T if wind threshold exceeded        CNTLATM.101    
     *      ,L_HALF_TIMESTEP_DIV     ! T if diverg. threshold exceeded     CNTLATM.102    
     &      ,L_QT_POS_LOCAL          ! Apply -ve q correction locally.     CNTLATM.104    
     &      ,L_TRACER_THETAL_QT      ! T if using tracer advection         ARB0F400.76     
!                                    !  for thetal & qt                    ARB0F400.77     
     &      ,L_3DVAR_BG,L_AC,L_3DVAR,L_4DVAR !Switches for assm mode       CNTLATM.105    
     &      ,L_OLD_PWTS              ! T if using old polar weights        ATJ0F403.3      
     &      ,L_VINT_TP               ! T: Use V_INT_TP to output Temp      GDR4F405.2      
                                     ! on model levels.                    GDR4F405.3      
C                                                                          CNTLATM.106    
      LOGICAL                       ! Logical switches for:                CNTLATM.107    
     &   LFROUDE        ,           !  Limit max grav wave amp             CNTLATM.108    
     &   LGWLINP        ,           !  Linear grav wave stress prof        CNTLATM.109    
     &   LLINTS         ,           !  Linear TS approx                    CNTLATM.110    
     &   LWHITBROM      ,           !  White & Bromley terms               CNTLATM.111    
     &   LEMCORR        ,           !  Energy & mass correction            CNTLATM.112    
     &   LMICROPHY      ,           !  Microphysics in sw rad scheme       CNTLATM.113    
     &   L_MURK         , !           :Total aerosol field                 CNTLATM.114    
     &   L_MURK_ADVECT  , !           :Aerosol advection                   CNTLATM.115    
     &   L_MURK_SOURCE  , !Bndry      :Aerosol source & sink terms         CNTLATM.116    
     &   L_MURK_BDRY    , !Layer      :UK Mes bndry model                  CNTLATM.117    
     &   L_BL_TRACER_MIX, !model      :Bndry layer tracer mixing           API2F400.250    
     &   L_MOM,                     !  convective momentum mixing          API2F400.251    
     &   L_CAPE,                    !  CAPE closure for convection         ARN2F403.108    
     &   L_SDXS,                    ! Convective excess from turbulent     ARN2F403.109    
!                                   !  fluctuations                        ARN2F403.110    
     &   L_XSCOMP                   ! Environmental compensation for       ARN2F403.111    
!                                   !  parcel excess                       ARN2F403.112    
     &  ,L_3D_CCA                   ! Use 3D conv cloud amount             AJX0F404.302    
     &  ,L_CCW                      ! Rain not inc. in conv water path     AJX0F404.303    
     &  ,L_PHASE_LIM                ! Select 3B physics for A05_3C         AJX1F405.3      
     &  ,L_CLOUD_DEEP               ! Depth criterion applied for anvils   AJX3F405.150    
     &  ,LSINGLE_HYDROL             ! Single level hydrology               GDR1F401.102    
     &  ,LMOSES                     ! MOSES hydrology only                 GDR1F401.104    
     &  ,L_SNOW_ALBEDO              ! Prognostic snow albedo               ABX2F404.84     
     &  ,l_ssice_albedo             ! Sea-ice albedo affected by snow      AJG1F405.23     
     &  ,L_SULPC_SO2                ! Sulphur Cycle : SO2 MMR included     GDR1F401.105    
     &  ,L_SULPC_DMS                ! Sulphur Cycle : DMS MMR included     GDR1F401.106    
     &  ,L_SULPC_OZONE              ! Sulphur Cycle : Ozone included       GDR1F401.107    
     &  ,L_SO2_SURFEM               ! SO2 Surface Emissions                GDR1F401.108    
     &  ,L_SO2_HILEM                ! SO2 High Level Emissions             GDR1F401.109    
     &  ,L_SO2_NATEM                ! SO2 Natural Emissions                GDR1F401.110    
     &  ,L_DMS_EM                   ! DMS Emissions                        GDR1F401.111    
     &  ,L_SULPC_NH3           ! S Cycle : NH3 included                    AWO0F405.3      
     &  ,L_NH3_EM              ! S Cycle : NH3 emiss included              AWO0F405.4      
     &  ,L_SOOT                ! Soot included                             AWO0F405.5      
     &  ,L_SOOT_SUREM          ! surface Soot emiss included               AWO0F405.6      
     &  ,L_SOOT_HILEM          ! elevated Soot emiss included              AWO0F405.7      
     &  ,L_USE_SOOT_DIRECT     ! direct radiative effects of soot          AWO0F405.8      
     &  ,L_USE_SULPC_DIRECT   !\Use SO4 aerosol from sulphur cycle for     GDR1F401.112    
     &  ,L_USE_SULPC_INDIRECT_SW !direct/indirect effect in radiation,     AAJ1F404.1      
     &  ,L_USE_SULPC_INDIRECT_LW !the latter for both SW and LW.           AAJ1F404.2      
     &  ,L_CLIMAT_AEROSOL           ! Switch for climatological            ADB1F402.816    
!                                   ! aerosols in the radiation.           VSB1F404.9      
     &  ,L_RHCPT                     ! controls the use of new RHcrit      ASK1F405.22     
                                     ! parametrization, vn 2B of Sec 9     ASK1F405.23     
     &  ,L_CLD_AREA                  ! controls cloud area parametriz.     ASK1F405.24     
     &  ,L_IAU_DIAG                 ! controls IAU diagnostics             VSB1F404.10     
     &  ,L_IAU                      ! controls IAU calls                   VSB1F404.11     
     &  ,L_IAU_RAMP                 ! controls IAU weights                 VSB1F404.12     
     &  ,L_VEG_FRACS                ! Switch for vegetation fractions      ABX2F404.85     
     &  ,L_TRIFFID                  ! Switch for interactive veg model     ABX2F404.86     
     &  ,L_PHENOL                   ! Switch for leaf phenology            ABX2F404.87     
     &  ,L_NRUN_MID_TRIF            ! Switch for starting NRUN mid-way     ABX2F404.88     
C                                   ! through a TRIFFID calling period     ABX2F404.89     
     &  ,L_TRIF_EQ                  ! Switch for running TRIFFID in        ABX2F404.90     
C                                   ! equilibrium mode                     ABX2F404.91     
     &      ,L_CO2_INTERACTIVE      ! interactive 3D CO2 field for         CCN1F405.2      
                                    !  use with carbon cycle model         CCN1F405.3      
     &      ,L_CO2_EMITS            ! include surface emissions            CCN1F405.4      
      LOGICAL L_LSPICE              ! New cloud/precip microphysics        ADM3F404.41     
     &,       L_BL_LSPICE           ! Full boundary layer treatment        ADM3F404.42     
!                                     with new cloud/precip scheme         ADM3F404.43     
     &,       L_LSPICE_BDY          ! QCF present in lateral boundaries    ADM3F404.44     
!                                                                          CNTLATM.119    
      CHARACTER*5 A_ASSIM_MODE     ! Switch for BG/AC/3DVAR/4DVAR assm     CNTLATM.120    
!                                                                          CNTLATM.121    
      CHARACTER*3 H_SECT(0:MAXSECTS) ! Array of code section versions      CNTLATM.122    
!                                                                          CNTLATM.123    
      NAMELIST / NLSTCATM /                                                CNTLATM.124    
     & L_VEG_FRACS, L_TRIFFID, L_PHENOL, L_NRUN_MID_TRIF, L_TRIF_EQ,       ABX2F404.92     
     & PHENOL_PERIOD, TRIFFID_PERIOD,                                      ABX1F405.1713   
     & H_SWBANDS, H_LWBANDS, A_ADJSTEPS,                                   CNTLATM.125    
     & A_SW_RADSTEP, A_LW_RADSTEP, A_SW_SEGMENTS, A_LW_SEGMENTS,           CNTLATM.126    
     & A_CONV_STEP, A_CONVECT_SEGMENTS, A_NSET_FILTER, A_ENERGYSTEPS,      CNTLATM.127    
     & A_ASSIM_START_HR, A_ASSIM_END_HR, A_SWEEPS_DYN, L_H2_SULPH,         AWI1F403.8      
     & L_SW_RADIATE, L_LW_RADIATE, LADD_RADINCS, L_SET_FILTER,             CNTLATM.129    
     & LDAY, LEXPAND_OZONE, L_COMPRESS_LAND,                               CNTLATM.130    
     & L_NEG_THETA, L_NEG_PSTAR, L_NEG_QT, L_NEG_TSTAR, L_FIELD_FLT,       ABX1F405.1714   
     & L_SUPERBEE, LENERGY, L_Z0_OROG, L_RMBL, L_MIXLEN, L_CONVECT,        ARN1F403.104    
     & L_HALF_TIMESTEP_DYN, L_HALF_TIMESTEP_DIV, L_QT_POS_LOCAL,           CNTLATM.133    
     & L_TRACER_THETAL_QT,LFLUX_RESET,                                     GSM3F404.11     
!    & L_3DVAR_BG,L_AC,L_3DVAR,L_4DVAR, in COMMON but not in NAMELIST      CNTLATM.135    
     & L_OLD_PWTS, L_VINT_TP,                                              GDR4F405.4      
     & LFROUDE, LGWLINP, LLINTS, LWHITBROM, LEMCORR,                       CNTLATM.136    
     & LMICROPHY, L_MURK, L_MURK_ADVECT, L_MURK_SOURCE,                    CNTLATM.137    
     & L_MURK_BDRY, L_BL_TRACER_MIX, L_MOM, L_CAPE, L_SDXS, L_XSCOMP,      ARN2F403.113    
     & L_3D_CCA, L_CCW, L_PHASE_LIM, L_CLOUD_DEEP,                         AJX1F405.4      
     & LSINGLE_HYDROL, LMOSES,                                             GDG2F405.84     
     & L_CO2_INTERACTIVE, L_CO2_EMITS,                                     CCN1F405.5      
     & L_SNOW_ALBEDO,                                                      ABX2F404.93     
     & l_ssice_albedo,                                                     AJG1F405.24     
     &  L_CLIMAT_AEROSOL,                                                  ADB1F402.818    
     &  L_RHCPT,L_CLD_AREA,                                                ASK1F405.25     
     & L_LSPICE,L_BL_LSPICE,L_LSPICE_BDY,                                  ADM3F404.45     
     & L_SULPC_SO2, L_SULPC_DMS, L_SULPC_OZONE,                            GDR1F401.115    
     & L_SO2_SURFEM, L_SO2_HILEM, L_SO2_NATEM, L_DMS_EM,                   GDR1F401.116    
     & L_SULPC_NH3,L_NH3_EM,L_SOOT,L_SOOT_SUREM,L_SOOT_HILEM,              AWO0F405.9      
     & L_USE_SOOT_DIRECT,                                                  AWO0F405.10     
     & L_IAU,L_IAU_RAMP,L_IAU_DIAG,                                        VSB1F404.13     
     & T_IAU_START, T_IAU_END,                                             VSB1F404.14     
     & L_USE_SULPC_DIRECT, L_USE_SULPC_INDIRECT_SW,                        AAJ1F404.3      
     & L_USE_SULPC_INDIRECT_LW, CALL_CHEM_FREQ,                            AAJ1F404.4      
     & A_ASSIM_MODE, H_SECT                                                API2F400.254    
                                                                           CNTLATM.139    
      COMMON / CNTLCATM /                                                  CNTLATM.154    
     & L_VEG_FRACS, L_TRIFFID, L_PHENOL, L_NRUN_MID_TRIF, L_TRIF_EQ,       ABX2F404.94     
     & PHENOL_PERIOD, TRIFFID_PERIOD,                                      ABX1F405.1715   
     & H_SWBANDS, H_LWBANDS, A_ADJSTEPS, L_H2_SULPH,                       AWI1F403.9      
     & A_SW_RADSTEP, A_LW_RADSTEP, A_SW_SEGMENTS, A_LW_SEGMENTS,           CNTLATM.156    
     & A_CONV_STEP, A_CONVECT_SEGMENTS, A_NSET_FILTER, A_ENERGYSTEPS,      CNTLATM.157    
     & A_ASSIM_START_HR, A_ASSIM_END_HR, A_SWEEPS_DYN,                     ARB0F400.80     
     & L_SW_RADIATE, L_LW_RADIATE, LADD_RADINCS, L_SET_FILTER,             CNTLATM.159    
     & LDAY, LEXPAND_OZONE, L_COMPRESS_LAND,                               CNTLATM.160    
     & L_NEG_THETA, L_NEG_PSTAR, L_NEG_QT, L_NEG_TSTAR, L_FIELD_FLT,       ABX1F405.1716   
     & L_SUPERBEE, LENERGY, L_Z0_OROG, L_RMBL, L_MIXLEN, L_CONVECT,        ARN1F403.105    
     & L_HALF_TIMESTEP_DYN, L_HALF_TIMESTEP_DIV, L_QT_POS_LOCAL,           CNTLATM.163    
     & L_TRACER_THETAL_QT,LFLUX_RESET,                                     GSM3F404.12     
     & L_3DVAR_BG,L_AC,L_3DVAR,L_4DVAR,                                    CNTLATM.165    
     & L_OLD_PWTS, L_VINT_TP,                                              GDR4F405.5      
     & LFROUDE, LGWLINP, LLINTS, LWHITBROM, LEMCORR,                       CNTLATM.166    
     & LMICROPHY, L_MURK, L_MURK_ADVECT, L_MURK_SOURCE,                    CNTLATM.167    
     & L_MURK_BDRY, L_BL_TRACER_MIX, L_MOM, L_CAPE, L_SDXS, L_XSCOMP,      ARN2F403.114    
     & L_3D_CCA, L_CCW, L_PHASE_LIM, L_CLOUD_DEEP,                         AJX1F405.5      
     & LSINGLE_HYDROL, LMOSES,                                             GDG2F405.85     
     & L_CO2_INTERACTIVE, L_CO2_EMITS,                                     CCN1F405.6      
     & L_SNOW_ALBEDO,                                                      ABX2F404.95     
     & l_ssice_albedo,                                                     AJG1F405.25     
     &  L_CLIMAT_AEROSOL,                                                  ADB1F402.819    
     &  L_RHCPT,L_CLD_AREA,                                                ASK1F405.26     
     & L_LSPICE,L_BL_LSPICE,L_LSPICE_BDY,                                  ADM3F404.46     
     & L_SULPC_SO2, L_SULPC_DMS, L_SULPC_OZONE,                            GDR1F401.119    
     & L_SO2_SURFEM, L_SO2_HILEM, L_SO2_NATEM, L_DMS_EM,                   GDR1F401.120    
     & L_SULPC_NH3,L_NH3_EM,L_SOOT,L_SOOT_SUREM,L_SOOT_HILEM,              AWO0F405.11     
     & L_USE_SOOT_DIRECT,                                                  AWO0F405.12     
                                                                           AWO0F405.13     
     & L_IAU,L_IAU_RAMP,L_IAU_DIAG,                                        VSB1F404.15     
     & T_IAU_START, T_IAU_END,                                             VSB1F404.16     
     & L_USE_SULPC_DIRECT, L_USE_SULPC_INDIRECT_SW,                        AAJ1F404.5      
     & L_USE_SULPC_INDIRECT_LW, CALL_CHEM_FREQ,                            AAJ1F404.6      
     & A_ASSIM_MODE, H_SECT                                                API2F400.256