*IF DEF,SCMA S_DPINIT.2 C *****************************COPYRIGHT****************************** S_DPINIT.3 C (c) CROWN COPYRIGHT 1998, METEOROLOGICAL OFFICE, All Rights Reserved. S_DPINIT.4 C S_DPINIT.5 C Use, duplication or disclosure of this code is subject to the S_DPINIT.6 C restrictions as set forth in the contract. S_DPINIT.7 C S_DPINIT.8 C Meteorological Office S_DPINIT.9 C London Road S_DPINIT.10 C BRACKNELL S_DPINIT.11 C Berkshire UK S_DPINIT.12 C RG12 2SZ S_DPINIT.13 C S_DPINIT.14 C If no contract has been raised with this copy of the code, the use, S_DPINIT.15 C duplication or disclosure of it is strictly prohibited. Permission S_DPINIT.16 C to do so must first be obtained in writing from the Head of Numerical S_DPINIT.17 C Modelling at the above address. S_DPINIT.18 C ******************************COPYRIGHT****************************** S_DPINIT.19 C S_DPINIT.20 C = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = S_DPINIT.21 C Subroutine DUMPINIT S_DPINIT.22 C PURPOSE:- To initialise primary variables from RESDUMP S_DPINIT.23 C read in previously from tape S_DPINIT.24 C PROGRAMMER:- J. LEAN S_DPINIT.25 C S_DPINIT.26 C Modification History: S_DPINIT.27 C Version Date S_DPINIT.28 C 4.5 07/98 SCM integrated as a standard UM configuration S_DPINIT.29 C JC Thil. S_DPINIT.30 C = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = S_DPINIT.31 C S_DPINIT.32Subroutine DUMPINIT( 8S_DPINIT.33 C ! IN dimension arrays. S_DPINIT.34 & points, nprimvars, nlevs, nwet, S_DPINIT.35 & nbl_levs, nsoilt_levs, nsoilm_levs, ntrop, S_DPINIT.36 C S_DPINIT.37 & resdump, u, v, t, theta, q, qcl, qcf, layer_cloud, S_DPINIT.38 & pstar, t_deep_soil, smc, canopy, snodep, tstar, zh, z0msea, S_DPINIT.39 & cca, rccb, rcct, smcl) S_DPINIT.40 S_DPINIT.41 Implicit none S_DPINIT.42 S_DPINIT.43 C Arguments : S_DPINIT.44 Integer S_DPINIT.45 & points ! IN no of points S_DPINIT.46 & ,nlevs ! IN no of levels. S_DPINIT.47 & ,nwet ! IN no of model levels in which Q S_DPINIT.48 ! is set. S_DPINIT.49 & ,nbl_levs ! IN Number of Boundary layer levels S_DPINIT.50 & ,nsoilt_levs ! IN Number of soil temperature S_DPINIT.51 ! levels S_DPINIT.52 & ,nsoilm_levs ! IN Number of soil moisture levels S_DPINIT.53 & ,ntrop ! IN Max number of levels in the S_DPINIT.54 ! troposphere S_DPINIT.55 & ,nprimvars ! IN minimum no. of S_DPINIT.56 ! variables required to restart S_DPINIT.57 ! from a dump and is equal to S_DPINIT.58 S_DPINIT.59 S_DPINIT.60 Integer S_DPINIT.61 & i,k ! IN Loop counter S_DPINIT.62 & ,icount ! IN Counter S_DPINIT.63 Real S_DPINIT.64 & resdump(points,nprimvars) ! IN Contains restart dump S_DPINIT.65 & ,u(points,nlevs) ! IN Zonal wind at each level S_DPINIT.66 ! (m s^-2) S_DPINIT.67 & ,v(points,nlevs) ! IN Meridional wind at each level S_DPINIT.68 ! (m s^-2) S_DPINIT.69 & ,t(points,nlevs) ! IN Temperature at each level S_DPINIT.70 & ,theta(points,nlevs) ! IN Potential temp. (K) S_DPINIT.71 & ,q(points,nwet) ! IN Specific humidity (kg kg^-1) S_DPINIT.72 & ,layer_cloud(points,nwet) ! IN Layer cloud amount (decima S_DPINIT.73 & ,qcl(points,nwet) ! IN Cloud water content (kg kg^-1) S_DPINIT.74 & ,qcf(points,nwet) ! IN Cloud ice content (kg kg^-1) S_DPINIT.75 & ,pstar(points) ! IN Pressure at earth's surface S_DPINIT.76 ! (Pa not HPa) S_DPINIT.77 & ,t_deep_soil(points,nsoilt_levs) ! IN Deep soil temperatures S_DPINIT.78 & ,smc(points) ! IN Soil moisture content S_DPINIT.79 ! (kg m^-2) S_DPINIT.80 & ,smcl(points,nsoilm_levs) ! IN soil moisture in layers S_DPINIT.81 ! (kg m^-2) S_DPINIT.82 & ,rccb(points) ! IN Convective cloud base S_DPINIT.83 & ,rcct(points) ! IN Convective cloud top S_DPINIT.84 & ,canopy(points) ! IN Surface canopy water (kg m S_DPINIT.85 & ,snodep(points) ! IN Snow depth (kg m^-2) S_DPINIT.86 & ,tstar(points) ! IN Surface temperature (K) S_DPINIT.87 & ,zh(points) ! IN Height above surface of to S_DPINIT.88 ! IN boundary layer (m) S_DPINIT.89 & ,z0msea(points) ! IN Sea surface roughness leng S_DPINIT.90 & ,cca(points) ! IN Convective cloud amount S_DPINIT.91 S_DPINIT.92 Do k = 1, points S_DPINIT.93 S_DPINIT.94 Do i = 1, nlevs S_DPINIT.95 u(k, i) = resdump(k, i) S_DPINIT.96 enddo S_DPINIT.97 icount = i S_DPINIT.98 Do i = icount, icount + nlevs-1 S_DPINIT.99 v(k, i-icount + 1) = resdump(k, i) S_DPINIT.100 enddo S_DPINIT.101 icount = i S_DPINIT.102 Do i = icount, icount + nlevs-1 S_DPINIT.103 t(k, i-icount + 1) = resdump(k, i) S_DPINIT.104 enddo S_DPINIT.105 icount = i S_DPINIT.106 Do i = icount, icount + nlevs-1 S_DPINIT.107 theta(k, i-icount + 1) = resdump(k, i) S_DPINIT.108 enddo S_DPINIT.109 icount = i S_DPINIT.110 Do i = icount, icount + nwet-1 S_DPINIT.111 q(k, i-icount + 1) = resdump(k, i) S_DPINIT.112 enddo S_DPINIT.113 icount = i S_DPINIT.114 Do i = icount, icount + nwet-1 S_DPINIT.115 qcl(k, i-icount + 1) = resdump(k, i) S_DPINIT.116 enddo S_DPINIT.117 icount = i S_DPINIT.118 Do i = icount, icount + nwet-1 S_DPINIT.119 qcf(k, i-icount + 1) = resdump(k, i) S_DPINIT.120 enddo S_DPINIT.121 icount = i S_DPINIT.122 Do i = icount, icount + nwet-1 S_DPINIT.123 layer_cloud(k, i-icount + 1) = resdump(k, i) S_DPINIT.124 enddo S_DPINIT.125 icount = i S_DPINIT.126 Do i = icount, icount + nsoilt_levs-1 S_DPINIT.127 t_deep_soil(k, i-icount + 1) = resdump(k, i) S_DPINIT.128 enddo S_DPINIT.129 icount = i S_DPINIT.130 pstar(k) = resdump(k, icount) S_DPINIT.131 icount = icount + 1 S_DPINIT.132 smc(k) = resdump(k, icount) S_DPINIT.133 icount = icount + 1 S_DPINIT.134 canopy(k) = resdump(k, icount) S_DPINIT.135 icount = icount + 1 S_DPINIT.136 snodep(k) = resdump(k, icount) S_DPINIT.137 icount = icount + 1 S_DPINIT.138 tstar(k) = resdump(k, icount) S_DPINIT.139 icount = icount + 1 S_DPINIT.140 zh(k) = resdump(k, icount) S_DPINIT.141 icount = icount + 1 S_DPINIT.142 z0msea(k) = resdump(k, icount) S_DPINIT.143 icount = icount + 1 S_DPINIT.144 cca(k) = resdump(k, icount) S_DPINIT.145 icount = icount + 1 S_DPINIT.146 rccb(k) = resdump(k, icount) S_DPINIT.147 icount = icount + 1 S_DPINIT.148 rcct(k) = resdump(k, icount) S_DPINIT.149 Do i = 1, nsoilm_levs S_DPINIT.150 smcl(k, i) = resdump(k, icount + i) S_DPINIT.151 enddo S_DPINIT.152 S_DPINIT.153 enddo ! k S_DPINIT.154 S_DPINIT.155 Return S_DPINIT.156 End ! Subroutine DUMPINIT S_DPINIT.157 *ENDIF S_DPINIT.158