*IF DEF,SCMA                                                               S_SUBDAT.2      
C *****************************COPYRIGHT******************************     S_SUBDAT.3      
C (c) CROWN COPYRIGHT 1998, METEOROLOGICAL OFFICE, All Rights Reserved.    S_SUBDAT.4      
C                                                                          S_SUBDAT.5      
C Use, duplication or disclosure of this code is subject to the            S_SUBDAT.6      
C restrictions as set forth in the contract.                               S_SUBDAT.7      
C                                                                          S_SUBDAT.8      
C                Meteorological Office                                     S_SUBDAT.9      
C                London Road                                               S_SUBDAT.10     
C                BRACKNELL                                                 S_SUBDAT.11     
C                Berkshire UK                                              S_SUBDAT.12     
C                RG12 2SZ                                                  S_SUBDAT.13     
C                                                                          S_SUBDAT.14     
C If no contract has been raised with this copy of the code, the use,      S_SUBDAT.15     
C duplication or disclosure of it is strictly prohibited.  Permission      S_SUBDAT.16     
C to do so must first be obtained in writing from the Head of Numerical    S_SUBDAT.17     
C Modelling at the above address.                                          S_SUBDAT.18     
C ******************************COPYRIGHT******************************    S_SUBDAT.19     
C                                                                          S_SUBDAT.20     
C Subroutine SUB_DATA                                                      S_SUBDAT.21     
C Purpose:-           To be used in test runs when detailed                S_SUBDAT.22     
C                     sub-timestep diagnostics are required after          S_SUBDAT.23     
C                     calls to each subroutine or when budget calcs.       S_SUBDAT.24     
C                     are required and so called at start and              S_SUBDAT.25     
C                     end of meaning period                                S_SUBDAT.26     
C                                                                          S_SUBDAT.27     
C Programmer:-        J. LEAN  15/6/91                                     S_SUBDAT.28     
C                                                                          S_SUBDAT.29     
C Modification History:                                                    S_SUBDAT.30     
C  4.5     07/98    SCM integrated as a standard UM configuration          S_SUBDAT.31     
C                   JC Thil.                                               S_SUBDAT.32     
C = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =      S_SUBDAT.33     
C                                                                          S_SUBDAT.34     

      Subroutine SUB_DATA(                                                  14S_SUBDAT.35     
C     ! IN leading dimensions of arrays                                    S_SUBDAT.36     
     &  points, nlevs, nwet                                                S_SUBDAT.37     
     &  ,nfor, nbl_levs, nsoilt_levs, nsoilm_levs, ntrop                   S_SUBDAT.38     
C     !                                                                    S_SUBDAT.39     
     &  ,title1, istep, ayear, aday, atime_string, rday                    S_SUBDAT.40     
     &  ,u, v, t, theta, q, qcl, qcf, lca, pstar, t_deep_soil, smc         S_SUBDAT.41     
     &  ,canopy, snodep, tstar, zh, z0msea, cca, iccb, icct, smcl)         S_SUBDAT.42     
                                                                           S_SUBDAT.43     
      Implicit none                                                        S_SUBDAT.44     
C                                                                          S_SUBDAT.45     
C---------------------------------------------------------------------     S_SUBDAT.46     
C     Arguments                                                            S_SUBDAT.47     
C---------------------------------------------------------------------     S_SUBDAT.48     
C                                                                          S_SUBDAT.49     
      Integer                                                              S_SUBDAT.50     
     &  points                  ! IN no of model sites.                    S_SUBDAT.51     
     &  ,nlevs                  ! IN no of levels.                         S_SUBDAT.52     
     &  ,nwet                   ! IN no of model levels in which Q is      S_SUBDAT.53     
                                !   set.                                   S_SUBDAT.54     
     &  ,nfor                   ! IN Number terms for observational        S_SUBDAT.55     
                                !   forcing                                S_SUBDAT.56     
     &  ,nbl_levs               ! IN Number of Boundary layer levels       S_SUBDAT.57     
     &  ,nsoilt_levs            ! IN Number of soil temperature            S_SUBDAT.58     
                                !  levels                                  S_SUBDAT.59     
     &  ,nsoilm_levs            ! IN Number of soil moisture levels        S_SUBDAT.60     
     &  ,ntrop                  ! IN Max number of levels in the           S_SUBDAT.61     
                                !  troposphere                             S_SUBDAT.62     
      Character*35                                                         S_SUBDAT.63     
     &  title1                  ! Table heading                            S_SUBDAT.64     
      Character*8                                                          S_SUBDAT.65     
     &  atime_string            ! Actual time at end of timestep           S_SUBDAT.66     
      Integer                                                              S_SUBDAT.67     
     &  iccb(points)            ! Convective cloud base,top                S_SUBDAT.68     
     &  ,icct(points)                                                      S_SUBDAT.69     
     &  ,aday                   ! Actual day number                        S_SUBDAT.70     
     &  ,ayear                  ! Actual year number                       S_SUBDAT.71     
     &  ,rday                   ! Runday number                            S_SUBDAT.72     
     &  ,istep                  ! Timestep number                          S_SUBDAT.73     
      Real                                                                 S_SUBDAT.74     
     &  canopy(points)          ! Surface/canopy water (kg m^-2)           S_SUBDAT.75     
     &  ,cca(points)            ! Convective cloud amount                  S_SUBDAT.76     
     &  ,lca(points,nwet)       ! Layer cloud amount (decimal              S_SUBDAT.77     
                                !  fraction)                               S_SUBDAT.78     
     &  ,Pstar(points)          ! Surface pressure (Pa)                    S_SUBDAT.79     
     &  ,Q(points,nwet)         ! Specific humidity (kg kg^-1)             S_SUBDAT.80     
     &  ,Qcf(points,nwet)       ! Specific cloud ice (kg kg^-1)            S_SUBDAT.81     
     &  ,Qcl(points,nwet)       ! Specific cloud water (kg kg^-1)          S_SUBDAT.82     
     &  ,smc(points)            ! Soil moisture content (kg m^-2)          S_SUBDAT.83     
     &  ,smcl(points,nsoilm_levs) ! Soil moisture inlayers (kg m^-2)       S_SUBDAT.84     
     &  ,snodep(points)         ! Snow depth (kg m^-2)                     S_SUBDAT.85     
     &  ,t_deep_soil(points,nsoilt_levs) ! Soil layer temps (K)            S_SUBDAT.86     
     &  ,t(points,nlevs)        ! Temperature (K)                          S_SUBDAT.87     
     &  ,theta(points,nlevs)    ! Potential temperature (K)                S_SUBDAT.88     
     &  ,Tstar(points)          ! Surface temp.(K)                         S_SUBDAT.89     
     &  ,u(points,nlevs)                                                   S_SUBDAT.90     
     &  ,v(points,nlevs)        ! Zonal,meridional wind (m s^-1)           S_SUBDAT.91     
     &  ,zh(points)             ! Boundary layer depth (m)                 S_SUBDAT.92     
     &  ,Z0mSea(points)         ! Sea surface roughness length(m)          S_SUBDAT.93     
C                                                                          S_SUBDAT.94     
C---------------------------------------------------------------------     S_SUBDAT.95     
C     Local variables                                                      S_SUBDAT.96     
C---------------------------------------------------------------------     S_SUBDAT.97     
C                                                                          S_SUBDAT.98     
      Integer                                                              S_SUBDAT.99     
     &  element                 ! Array element number                     S_SUBDAT.100    
     &  ,lastrow                ! Number of elements in the last row       S_SUBDAT.101    
     &  ,ndeeprows, ndeepcount  ! nbl_levs, nclds, ndeep, nlevs,           S_SUBDAT.102    
     &  ,nlevsrows, nlevscount  ! nwet, nsoil elements                     S_SUBDAT.103    
     &  ,nwetrows, nwetcount    !                                          S_SUBDAT.104    
     &  ,ndeep                  ! No of deep soil layers ie                S_SUBDAT.105    
                                !  surface layer                           S_SUBDAT.106    
     &  ,i, l                   ! Loop counters                            S_SUBDAT.107    
      Character*30  c1fmt                                                  S_SUBDAT.108    
      Character*32  c2fmt                                                  S_SUBDAT.109    
      Character*36  ctfmt                                                  S_SUBDAT.110    
      c1fmt = '('' *           '',  (f8.3,3x))'                            S_SUBDAT.111    
      c2fmt = '('' *           '',  (1pe10.3,1x))'                         S_SUBDAT.112    
      ctfmt = '(''0* Variable'',  (3x,''level'',i2,1x))'                   S_SUBDAT.113    
C                                                                          S_SUBDAT.114    
C                                                                          S_SUBDAT.115    
C     Write out headings                                                   S_SUBDAT.116    
C                                                                          S_SUBDAT.117    
      Write (22,199)                                                       S_SUBDAT.118    
      Write (22,200) rday, istep, title1                                   S_SUBDAT.119    
      Write (22,198) ayear, aday, atime_string                             S_SUBDAT.120    
      Write (22,201)                                                       S_SUBDAT.121    
      Write (22,202)                                                       S_SUBDAT.122    
      Write (22,201)                                                       S_SUBDAT.123    
                                                                           S_SUBDAT.124    
C                                                                          S_SUBDAT.125    
C     Loop on the sites                                                    S_SUBDAT.126    
C                                                                          S_SUBDAT.127    
      Do l = 1, points                                                     S_SUBDAT.128    
        If (points .gt. 1) Write (22,*) " Site No : ", l                   S_SUBDAT.129    
C                                                                          S_SUBDAT.130    
C       Write out variables T theta U and V maximum of 10                  S_SUBDAT.131    
C       variables per row                                                  S_SUBDAT.132    
C                                                                          S_SUBDAT.133    
        If (mod(nlevs, 10) .eq. 0) then                                    S_SUBDAT.134    
C                                                                          S_SUBDAT.135    
C         Calculate no. of rows and no. of elements in last row            S_SUBDAT.136    
C                                                                          S_SUBDAT.137    
          nlevsrows = int(nlevs/10)                                        S_SUBDAT.138    
          lastrow = 10                                                     S_SUBDAT.139    
        else                                                               S_SUBDAT.140    
          nlevsrows = int(nlevs/10) + 1                                    S_SUBDAT.141    
          lastrow = mod(nlevs,10)                                          S_SUBDAT.142    
        endif                                                              S_SUBDAT.143    
        Do nlevscount = 1, nlevsrows                                       S_SUBDAT.144    
          element = 10 * (nlevscount-1)                                    S_SUBDAT.145    
          If (nlevscount .lt. nlevsrows) then                              S_SUBDAT.146    
C                                                                          S_SUBDAT.147    
C           Write out all complete rows ie of 10 variables per row         S_SUBDAT.148    
C                                                                          S_SUBDAT.149    
            Write (22,203) (element + i,i = 1, 10)                         S_SUBDAT.150    
            Write (22,204) (u(l, element + i), i = 1, 10),                 S_SUBDAT.151    
     &        (v(l, element + i), i = 1, 10),                              S_SUBDAT.152    
     &        (t(l, element + i), i = 1, 10),                              S_SUBDAT.153    
     &        (theta(l, element + i), i = 1, 10)                           S_SUBDAT.154    
          else                                                             S_SUBDAT.155    
C                                                                          S_SUBDAT.156    
C           Write out last row. Use an internal format statement by        S_SUBDAT.157    
C           creating a character string. This will enable a variable       S_SUBDAT.158    
C           Format to be created eg NF10.6 where N is the no. of           S_SUBDAT.159    
C           elements in the last row which can be written into the         S_SUBDAT.160    
C           Format statement via an internal write statement.              S_SUBDAT.161    
C                                                                          S_SUBDAT.162    
            Write (ctfmt(16:17), '(i2)') lastrow                           S_SUBDAT.163    
            Write (22,ctfmt) (element + i, i = 1, lastrow)                 S_SUBDAT.164    
            Write (c1fmt(18:19), '(i2)')lastrow                            S_SUBDAT.165    
            Write (c1fmt(6:15), '(''U m s^-1  '')')                        S_SUBDAT.166    
            Write (22,c1fmt) (u(l, i + element), i = 1, lastrow)           S_SUBDAT.167    
            Write (c1fmt(6:15), '(''V m s^-1  '')')                        S_SUBDAT.168    
            Write (22,c1fmt) (v(l, i + element), i = 1, lastrow)           S_SUBDAT.169    
            Write (c1fmt(6:15), '(''T K       '')')                        S_SUBDAT.170    
            Write (22,c1fmt) (t(l, i + element), i = 1, lastrow)           S_SUBDAT.171    
            Write (c1fmt(6:15), '(''theta K   '')')                        S_SUBDAT.172    
            Write (22,c1fmt) (theta(l, i + element), i = 1, lastrow)       S_SUBDAT.173    
          endif                                                            S_SUBDAT.174    
        enddo                                                              S_SUBDAT.175    
        Write (22,201)                                                     S_SUBDAT.176    
        Write (22,205)                                                     S_SUBDAT.177    
        Write (22,201)                                                     S_SUBDAT.178    
C                                                                          S_SUBDAT.179    
C       Repeat above section of code for variables on NWET levels          S_SUBDAT.180    
C       Write out variables Q QCL QCF and LCA maximum of 10                S_SUBDAT.181    
C       variables per row                                                  S_SUBDAT.182    
C                                                                          S_SUBDAT.183    
        If (mod(nwet,10) .eq. 0) then                                      S_SUBDAT.184    
C                                                                          S_SUBDAT.185    
C         Calculate no. of rows and no. of elements in last row            S_SUBDAT.186    
C                                                                          S_SUBDAT.187    
          nwetrows = int(nwet/10)                                          S_SUBDAT.188    
          lastrow = 10                                                     S_SUBDAT.189    
        else                                                               S_SUBDAT.190    
          nwetrows = int(nwet/10) + 1                                      S_SUBDAT.191    
          lastrow = mod(nwet,10)                                           S_SUBDAT.192    
        endif                                                              S_SUBDAT.193    
        Do nwetcount = 1, nwetrows                                         S_SUBDAT.194    
          element = 10*(nwetcount-1)                                       S_SUBDAT.195    
          If (nwetcount .lt. nwetrows) then                                S_SUBDAT.196    
C                                                                          S_SUBDAT.197    
C           Write out all complete rows ie of 10 variables per row         S_SUBDAT.198    
C                                                                          S_SUBDAT.199    
            Write (22,203)(element + i,i = 1, 10)                          S_SUBDAT.200    
            Write (22,206)                                                 S_SUBDAT.201    
     &        (q(l, element + i), i = 1, 10),                              S_SUBDAT.202    
     &        (qcl(l, element + i), i = 1, 10),                            S_SUBDAT.203    
     &        (qcf(l, element + i), i = 1, 10),                            S_SUBDAT.204    
     &        (lca(l, element + i), i = 1, 10)                             S_SUBDAT.205    
          else                                                             S_SUBDAT.206    
C                                                                          S_SUBDAT.207    
C           Write out last row. Use an internal format statement by        S_SUBDAT.208    
C           creating a character string. This will enable a variable       S_SUBDAT.209    
C           Format to be created eg NF10.6 where N is the no. of           S_SUBDAT.210    
C           elements in the last row which can be written into the         S_SUBDAT.211    
C           Format statement via an internal write statement.              S_SUBDAT.212    
C                                                                          S_SUBDAT.213    
            Write (ctfmt(16:17), '(i2)') lastrow                           S_SUBDAT.214    
            Write (22,ctfmt) (element + i, i = 1, lastrow)                 S_SUBDAT.215    
            Write (c2fmt(18:19), '(i2)') lastrow                           S_SUBDAT.216    
            Write (c2fmt(6:15), '(''Q kg/kg   '')')                        S_SUBDAT.217    
            Write (22,c2fmt) (q(l, i + element), i = 1, lastrow)           S_SUBDAT.218    
            Write (c2fmt(6:15), '(''QCL kg/kg '')')                        S_SUBDAT.219    
            Write (22,c2fmt)(qcl(l, i + element), i = 1, lastrow)          S_SUBDAT.220    
            Write (c2fmt(6:15), '(''QCF kg/kg '')')                        S_SUBDAT.221    
            Write (22,c2fmt)(qcf(l, i + element), i = 1, lastrow)          S_SUBDAT.222    
            Write (c2fmt(6:15), '(''LCA       '')')                        S_SUBDAT.223    
            Write (22,c2fmt)(lca(l, i + element), i = 1, lastrow)          S_SUBDAT.224    
          endif                                                            S_SUBDAT.225    
        enddo                                                              S_SUBDAT.226    
        Write (22,207)                                                     S_SUBDAT.227    
        Write (22,208) cca(l), iccb(l), icct(l)                            S_SUBDAT.228    
        Write (22,201)                                                     S_SUBDAT.229    
        Write (22,209)                                                     S_SUBDAT.230    
        Write (22,201)                                                     S_SUBDAT.231    
        ndeep = nsoilt_levs                                                S_SUBDAT.232    
C                                                                          S_SUBDAT.233    
C       Repeat above section of code for variables on nsoil levels         S_SUBDAT.234    
C       write out variables Tdeep maximum of 10                            S_SUBDAT.235    
C       variables per row                                                  S_SUBDAT.236    
C                                                                          S_SUBDAT.237    
        If (mod(ndeep,10) .eq. 0) then                                     S_SUBDAT.238    
C                                                                          S_SUBDAT.239    
C         Calculate no. of rows and no. of elements in last row            S_SUBDAT.240    
C                                                                          S_SUBDAT.241    
          ndeeprows = int(ndeep/10)                                        S_SUBDAT.242    
          lastrow = 10                                                     S_SUBDAT.243    
        else                                                               S_SUBDAT.244    
          ndeeprows = int(ndeep/10) + 1                                    S_SUBDAT.245    
          lastrow = mod(ndeep,10)                                          S_SUBDAT.246    
        endif                                                              S_SUBDAT.247    
        Do ndeepcount = 1, ndeeprows                                       S_SUBDAT.248    
          element = 10*(ndeepcount-1)                                      S_SUBDAT.249    
          if (ndeepcount .lt. ndeeprows) then                              S_SUBDAT.250    
C                                                                          S_SUBDAT.251    
C           Write out all complete rows ie of 10 variables per row         S_SUBDAT.252    
C                                                                          S_SUBDAT.253    
            Write (22,203) (element + i + 1/2, i = 1, 10)                  S_SUBDAT.254    
            Write (22,210)                                                 S_SUBDAT.255    
     &        (t_deep_soil(l, element + i), i = 1, 10)                     S_SUBDAT.256    
          else                                                             S_SUBDAT.257    
C                                                                          S_SUBDAT.258    
C           Write out last row. Use an internal format statement by        S_SUBDAT.259    
C           creating a character string. This will enable a variable       S_SUBDAT.260    
C           Format to be created eg NF10.6 where N is the no. of           S_SUBDAT.261    
C           elements in the last row which can be written into the         S_SUBDAT.262    
C           Format statement via an internal write statement.              S_SUBDAT.263    
C                                                                          S_SUBDAT.264    
            Write (ctfmt(16:17), '(i2)') lastrow                           S_SUBDAT.265    
            Write (22,ctfmt) (element + i + 1/2, i = 1, lastrow)           S_SUBDAT.266    
            Write (c1fmt(18:19), '(i2)') lastrow                           S_SUBDAT.267    
            Write (c1fmt(6:15), '(''Tdeep K   '')')                        S_SUBDAT.268    
            Write (22,c1fmt)                                               S_SUBDAT.269    
     &        (t_deep_soil(l,  i + element), i = 1, lastrow)               S_SUBDAT.270    
          endif                                                            S_SUBDAT.271    
        enddo                                                              S_SUBDAT.272    
        Write (22,211)                                                     S_SUBDAT.273    
        Write (22,212)                                                     S_SUBDAT.274    
        Write (22,213) pstar(l), tstar(l), smc(l), canopy(l),              S_SUBDAT.275    
     &    snodep(l), zh(l), Z0mSea(l)                                      S_SUBDAT.276    
*IF DEF,A08_5A                                                             S_SUBDAT.277    
C       Multilayer Hydrology or Moses code                                 S_SUBDAT.278    
        ndeep = nsoilm_levs                                                S_SUBDAT.279    
C                                                                          S_SUBDAT.280    
C       Repeat above section of code for variables on NSOILM levels        S_SUBDAT.281    
C       Write out variables Tdeep maximum of 10                            S_SUBDAT.282    
C       variables per row                                                  S_SUBDAT.283    
C                                                                          S_SUBDAT.284    
        If (mod(ndeep,10) .eq. 0) then                                     S_SUBDAT.285    
C                                                                          S_SUBDAT.286    
C         Calculate no. of rows and no. of elements in last row            S_SUBDAT.287    
C                                                                          S_SUBDAT.288    
          ndeeprows = int(ndeep/10)                                        S_SUBDAT.289    
          lastrow = 10                                                     S_SUBDAT.290    
        else                                                               S_SUBDAT.291    
          ndeeprows = int(ndeep/10) + 1                                    S_SUBDAT.292    
          lastrow = mod(ndeep,10)                                          S_SUBDAT.293    
        endif                                                              S_SUBDAT.294    
        Do ndeepcount = 1, ndeeprows                                       S_SUBDAT.295    
          element = 10 * (ndeepcount-1)                                    S_SUBDAT.296    
          If (ndeepcount .lt. ndeeprows) then                              S_SUBDAT.297    
C                                                                          S_SUBDAT.298    
C           Write out all complete rows ie of 10 variables per row         S_SUBDAT.299    
C                                                                          S_SUBDAT.300    
            Write (22,203) (element + i + 1/2, i = 1, 10)                  S_SUBDAT.301    
            Write (22,214)                                                 S_SUBDAT.302    
     &        (smcl(l, element + i), i = 1, 10)                            S_SUBDAT.303    
          else                                                             S_SUBDAT.304    
C                                                                          S_SUBDAT.305    
C           Write out last row. Use an internal format statement by        S_SUBDAT.306    
C           creating a character string. This will enable a variable       S_SUBDAT.307    
C           Format to be created eg NF10.6 where N is the no. of           S_SUBDAT.308    
C           elements in the last row which can be written into the #       S_SUBDAT.309    
C           Format statement via an internal write statement.              S_SUBDAT.310    
C                                                                          S_SUBDAT.311    
            Write (ctfmt(16:17), '(i2)') lastrow                           S_SUBDAT.312    
            Write (22,ctfmt) (element + i + 1/2, i = 1, lastrow)           S_SUBDAT.313    
            Write (c1fmt(18:19), '(i2)') lastrow                           S_SUBDAT.314    
            Write (c1fmt(6:15), '(''SMCL      '')')                        S_SUBDAT.315    
            Write (22,c1fmt) (smcl(l, i + element), i = 1, lastrow)        S_SUBDAT.316    
          endif                                                            S_SUBDAT.317    
        enddo                   ! ndeep                                    S_SUBDAT.318    
*ENDIF                          ! moses or mult hydrology                  S_SUBDAT.319    
      enddo                     ! l                                        S_SUBDAT.320    
                                                                           S_SUBDAT.321    
 198  Format(' Up to actual year ',i6,', day' i6,', time ', A8)            S_SUBDAT.322    
 200  Format(' Runday',i6' timestep',i5, '   primary variables ',a24)      S_SUBDAT.323    
 201  Format(                                                              S_SUBDAT.324    
     &  ' ***********************************************************'     S_SUBDAT.325    
     &  '************************************************************'     S_SUBDAT.326    
     &  '**')                                                              S_SUBDAT.327    
 199  Format(                                                              S_SUBDAT.328    
     &  '1***********************************************************'     S_SUBDAT.329    
     &  '************************************************************'     S_SUBDAT.330    
     &  '**')                                                              S_SUBDAT.331    
 202  Format(' * Standard model variables',/,                              S_SUBDAT.332    
     &  ' + __________________________')                                   S_SUBDAT.333    
 203  Format('0* Variable   level',i2,9(4x,'level',i2))                    S_SUBDAT.334    
 204  Format(                                                              S_SUBDAT.335    
     &  ' * U m s^-1  ',10(F8.3,3X), /,                                    S_SUBDAT.336    
     &  ' * V m s^-1  ',10(F8.3,3X), /,                                    S_SUBDAT.337    
     &  ' * T K       ',10(F8.3,3X), /,                                    S_SUBDAT.338    
     &  ' * theta K   ',10(F8.3,3X), /)                                    S_SUBDAT.339    
 205  Format(' * Rain and cloud variables',/,                              S_SUBDAT.340    
     &  ' + __________________________')                                   S_SUBDAT.341    
 206  Format(                                                              S_SUBDAT.342    
     &  ' * Q kg/kg   ',10(1pe10.3,1x), /,                                 S_SUBDAT.343    
     &  ' * QCL kg/kg ',10(1pe10.3,1x), /,                                 S_SUBDAT.344    
     &  ' * QCF kg/kg ',10(1pe10.3,1x), /,                                 S_SUBDAT.345    
     &  ' * LCA       ',10(1pe10.3,1x), /)                                 S_SUBDAT.346    
 207  Format('0*   CCA',7x,'CCB',6x,'CCT')                                 S_SUBDAT.347    
 208  Format(' ',1pe10.3,i6,3x,i6)                                         S_SUBDAT.348    
 209  Format(' * Boundary layer and surface variables',/,                  S_SUBDAT.349    
     &  ' + ______________________________________')                       S_SUBDAT.350    
 210  Format(' *Tdeep K    ',10(F10.4))                                    S_SUBDAT.351    
 211  Format('0* Pstar',5X,'Tstar',6X,'smc',6X,'canopy',4X,'snodep',       S_SUBDAT.352    
     &  6X,'zh',6x,'Z0mSea')                                               S_SUBDAT.353    
 212  Format(' *',2X,'(Pa)',6X,'(K)',4X,'(kg m^-2)','(kg m^-2)',           S_SUBDAT.354    
     &  '(kg m^-2)',3X,'(m)',6X,'(m)')                                     S_SUBDAT.355    
 213  Format(' ',f10.3,6f10.4)                                             S_SUBDAT.356    
 214  Format(' *SMCL       ',10(F10.4))                                    S_SUBDAT.357    
      Return                                                               S_SUBDAT.358    
      End                       ! Subroutine SUB_DATA                      S_SUBDAT.359    
*ENDIF                                                                     S_SUBDAT.360