*IF DEF,A03_6A BL_IC6A.2 C *****************************COPYRIGHT****************************** BL_IC6A.3 C (c) CROWN COPYRIGHT 1997, METEOROLOGICAL OFFICE, All Rights Reserved. BL_IC6A.4 C BL_IC6A.5 C Use, duplication or disclosure of this code is subject to the BL_IC6A.6 C restrictions as set forth in the contract. BL_IC6A.7 C BL_IC6A.8 C Meteorological Office BL_IC6A.9 C London Road BL_IC6A.10 C BRACKNELL BL_IC6A.11 C Berkshire UK BL_IC6A.12 C RG12 2SZ BL_IC6A.13 C BL_IC6A.14 C If no contract has been raised with this copy of the code, the use, BL_IC6A.15 C duplication or disclosure of it is strictly prohibited. Permission BL_IC6A.16 C to do so must first be obtained in writing from the Head of Numerical BL_IC6A.17 C Modelling at the above address. BL_IC6A.18 C ******************************COPYRIGHT****************************** BL_IC6A.19 !!! Subroutine BL_INTCT ------------------------------------------- BL_IC6A.20 !!! BL_IC6A.21 !!! Purpose : Intermediate control level to call requested version of BL_IC6A.22 !!! BDY_LAYR with the appropriate arguments. BL_IC6A.23 !!! BL_IC6A.24 !!! Level 3 control routine BL_IC6A.25 !!! version for CRAY YMP BL_IC6A.26 !!! BL_IC6A.27 !!! Model Modification history: BL_IC6A.28 !!! version Date BL_IC6A.29 !!! 4.4 10/09/97 New deck. R.N.B.Smith BL_IC6A.30 !!! 4.5 24/04/98 New diagnostics ZHT and BL_TYPE_1 to _6. ARN0F405.141 !!! R.N.B.Smith ARN0F405.142 !!! 4.5 Jul. 98 Kill the IBM specific lines. (JCThil) AJC1F405.342 !!! 4.5 27/04/98 Add dummy arguments LAND_FIELD_TRIF, NPFT_TRIF, ABX1F405.716 !!! GPP_FT, RESP_P_FT, TILE_FRAC_OUT, L_PHENOL and ABX1F405.717 !!! L_TRIFFID and change TILE_INDEX and TILE_PTS from ABX1F405.718 !!! IN to OUT, consistent with changes to BL_CTL ABX1F405.719 !!! required for TRIFFID. Richard Betts ABX1F405.720 !!! BL_IC6A.31 !!! Programming standard : unified model documentation paper No 3 BL_IC6A.32 !!! BL_IC6A.33 !!! System components covered : P24 BL_IC6A.34 !!! BL_IC6A.35 !!! System task : P0 BL_IC6A.36 !!! BL_IC6A.37 !!!END ----------------------------------------------------------------- BL_IC6A.38 ! Arguments :- BL_IC6A.39SUBROUTINE BL_INTCT( 2,8BL_IC6A.40 BL_IC6A.41 ! IN values defining field dimensions and subset to be processed : BL_IC6A.42 & P_FIELD,U_FIELD,LAND_FIELD,LAND_FIELD_TRIF,NPFT_TRIF, ABX1F405.721 & P_ROWS,FIRST_ROW,N_ROWS,ROW_LENGTH, BL_IC6A.44 BL_IC6A.45 ! IN values defining vertical grid of model atmosphere : BL_IC6A.46 & BL_LEVELS,P_LEVELS,AK,BK,AKH,BKH,DELTA_AK,DELTA_BK, BL_IC6A.47 & EXNER, BL_IC6A.48 BL_IC6A.49 ! IN soil/vegetation/land surface data : BL_IC6A.50 & LAND_MASK,GATHER,LAND_INDEX, BL_IC6A.55 & ST_LEVELS,SM_LEVELS,CANHT,CANOPY,CATCH,HCAP, BL_IC6A.56 & HCON,LAI,LAYER_DEPTH, BL_IC6A.57 & LYING_SNOW,RESIST,ROOTD,SMC,SMVCCL,SMVCST,SMVCWT, BL_IC6A.59 & VFRAC,Z0V,SIL_OROG_LAND,L_Z0_OROG, BL_IC6A.60 & HO2R2_OROG, BL_IC6A.61 BL_IC6A.62 ! IN sea/sea-ice data : BL_IC6A.63 & DI,ICE_FRACT,U_0,V_0, BL_IC6A.64 BL_IC6A.65 ! IN cloud data : BL_IC6A.66 & CF,QCF,QCL, BL_IC6A.67 & CCA,CCB,CCT, BL_IC6A.68 BL_IC6A.69 ! IN everything not covered so far : BL_IC6A.70 & RAD_HR,RADHR_DIM1, BL_IC6A.71 & CO2_MMR,PHOTOSYNTH_ACT_RAD,PSTAR,RADNET,TIMESTEP, BL_IC6A.72 & L_RMBL,L_BL_LSPICE,L_MOM,L_MIXLEN, BL_IC6A.73 BL_IC6A.74 ! INOUT data : BL_IC6A.75 & GS,Q,STHF,STHU,T,T_DEEP_SOIL,TI,TSTAR,U,V,Z0MSEA, BL_IC6A.76 BL_IC6A.77 ! OUT Diagnostic not requiring STASH flags : BL_IC6A.78 & CD,CH,E_SEA,ETRAN,FQW,FTL,GPP,H_SEA, BL_IC6A.79 & NPP,RESP_P,RHOKH,RHOKM,RIB,SEA_ICE_HTF, BL_IC6A.80 & TAUX,TAUY,VSHR,ZHT, ARN0F405.143 & EPOT,FSMC, ANG1F405.55 BL_IC6A.82 ! OUT diagnostic requiring STASH flags : BL_IC6A.83 & FME,SICE_MLT_HTF,SNOMLT_SURF_HTF,LATENT_HEAT, BL_IC6A.84 & Q1P5M,T1P5M,U10M,V10M, BL_IC6A.85 ! (IN) STASH flags :- BL_IC6A.86 & SFME,SIMLT,SMLT,SLH,SQ1P5,ST1P5,SU10,SV10, BL_IC6A.87 BL_IC6A.88 ! OUT data required for tracer mixing : BL_IC6A.89 & RHO_ARESIST,ARESIST,RESIST_B, BL_IC6A.90 & NRML, BL_IC6A.91 BL_IC6A.92 ! OUT data required for 4D_VAR : BL_IC6A.93 & RHO_CD_MODV1,RHO_KM, BL_IC6A.94 BL_IC6A.95 ! OUT data required elsewhere in UM system : BL_IC6A.96 & BL_TYPE_1,BL_TYPE_2,BL_TYPE_3,BL_TYPE_4,BL_TYPE_5,BL_TYPE_6, ARN0F405.144 & ECAN,EI,ES,EXT,SNOWMELT, BL_IC6A.97 & SURF_HT_FLUX,ZH,T1_SD,Q1_SD,ERROR, BL_IC6A.98 BL_IC6A.99 ! Additional arguments for A03_7A (MOSES-II) - not used in A03_6A. BL_IC6A.100 ! IN BL_IC6A.101 & L_PHENOL,L_TRIFFID,L_NEG_TSTAR, ABX1F405.722 & CANHT_FT,CANOPY_TILE,CATCH_TILE,CS,LAI_FT, BL_IC6A.103 & FRAC,SNOW_FRAC,RAD_NO_SNOW,RAD_SNOW,TSNOW,Z0V_TILE, BL_IC6A.104 & CO2_3D,CO2_DIM,L_CO2_INTERACTIVE, ACN1F405.110 ! INOUT BL_IC6A.105 & TSTAR_TILE_DUMMY, BL_IC6A.106 & G_LEAF_ACC,NPP_FT_ACC,RESP_W_FT_ACC,RESP_S_ACC, BL_IC6A.107 ! OUT BL_IC6A.108 & ECAN_TILE,ESOIL_TILE,FTL_TILE_DUMMY, BL_IC6A.109 & G_LEAF,GPP_FT,NPP_FT,RESP_P_FT,RESP_S,RESP_W_FT, ABX1F405.723 & RHO_ARESIST_TILE,ARESIST_TILE,RESIST_B_TILE, BL_IC6A.111 & RIB_TILE,SNOW_SURF_HTF,SOIL_SURF_HTF, BL_IC6A.112 & TILE_INDEX,TILE_PTS,TILE_FRAC_OUT, ABX1F405.724 BL_IC6A.113 ! LOGICAL LTIMER BL_IC6A.114 & LTIMER BL_IC6A.115 &) BL_IC6A.116 IMPLICIT NONE BL_IC6A.117 BL_IC6A.118 ! Inputs :- BL_IC6A.119 BL_IC6A.120 ! (a) Defining horizontal grid and subset thereof to be processed. BL_IC6A.121 BL_IC6A.122 INTEGER BL_IC6A.123 & P_FIELD ! IN No. of P-points in whole grid BL_IC6A.124 ! ! (for dimensioning only). BL_IC6A.125 &,RADHR_DIM1 ! IN Dimension of Radiative heating BL_IC6A.126 ! ! rate (P_FIELD but used for BL_IC6A.127 ! ! dynamic allocation) BL_IC6A.128 &,U_FIELD ! IN No. of UV-points in whole grid. BL_IC6A.132 ! ! (Checked for consistency with BL_IC6A.134 ! ! P_FIELD and P_ROWS; there must BL_IC6A.135 ! ! be 1 less UV than P row.) BL_IC6A.136 &,LAND_FIELD ! IN No.of land points in whole grid. BL_IC6A.140 ! ! (Checked for consistency with BL_IC6A.142 ! ! P_FIELD ) BL_IC6A.143 &,P_ROWS ! IN No. of P-rows in whole grid BL_IC6A.148 ! ! (for dimensioning only). BL_IC6A.149 &,FIRST_ROW ! IN First row of data to be treated, BL_IC6A.153 ! ! referred to P-grid (must be > 1 BL_IC6A.155 ! ! since "polar" rows are never BL_IC6A.156 ! ! treated). BL_IC6A.157 &,N_ROWS ! IN No. of rows of data to be BL_IC6A.161 ! ! treated, referred to P-grid. BL_IC6A.162 ! ! FIRST_ROW+N_ROWS-1 must be less BL_IC6A.164 ! ! than P_ROWS, since "polar" rows BL_IC6A.165 ! ! are never treated. BL_IC6A.166 &,ROW_LENGTH ! IN No. of points in one row. BL_IC6A.170 ! ! (Checked for consistency with BL_IC6A.172 ! ! P_FIELD and N_ROWS.) BL_IC6A.173 BL_IC6A.177 ! (b) Defining vertical grid of model atmosphere. BL_IC6A.178 BL_IC6A.179 INTEGER BL_IC6A.180 & BL_LEVELS ! IN Max. no. of "boundary" levels BL_IC6A.181 ! ! allowed.Assumed <= 30 for dim- BL_IC6A.182 ! ! sioning of GAMMA in common deck BL_IC6A.183 ! ! C_GAMMA used in SF_EXCH and KMKH BL_IC6A.184 &,P_LEVELS ! IN Total no. of vertical levels in BL_IC6A.185 ! ! the model atmosphere. BL_IC6A.186 REAL BL_IC6A.187 & AK(P_LEVELS) ! IN Hybrid 'A' for all levels. BL_IC6A.188 &,BK(P_LEVELS) ! IN Hybrid 'B' for all levels. BL_IC6A.189 &,AKH(P_LEVELS+1) ! IN Hybrid 'A' for layer interfaces. BL_IC6A.190 &,BKH(P_LEVELS+1) ! IN Hybrid 'B' for layer interfaces. BL_IC6A.191 &,DELTA_AK(P_LEVELS) ! IN Difference of hybrid 'A' across BL_IC6A.192 ! ! layers (K-1/2 to K+1/2). BL_IC6A.193 ! ! NB: Upper minus lower. BL_IC6A.194 &,DELTA_BK(P_LEVELS) ! IN Difference of hybrid 'B' across BL_IC6A.195 ! ! layers (K-1/2 to K+1/2). BL_IC6A.196 ! ! NB: Upper minus lower. BL_IC6A.197 &,EXNER(P_FIELD,BL_LEVELS+1)! IN Exner function. EXNER(,K) is BL_IC6A.198 ! ! value for LOWER BOUNDARY of BL_IC6A.199 ! ! level K. BL_IC6A.200 BL_IC6A.201 ! (c) Soil/vegetation/land surface parameters (mostly constant). BL_IC6A.202 BL_IC6A.203 LOGICAL BL_IC6A.204 & LAND_MASK(P_FIELD) ! IN T if land, F elsewhere. BL_IC6A.205 &,L_CO2_INTERACTIVE ! dummy CO2 variable - not used with A03_6A. ACN1F405.111 &,GATHER ! IN T if gather to sea-ice points BL_IC6A.206 ! ! in SF_EXCH. Saves a lot of un- BL_IC6A.207 ! ! necessary calculations if there BL_IC6A.208 ! ! are relatively few sea-ice points BL_IC6A.209 &,L_RMBL ! IN T to use rapidly mixing BL_IC6A.210 ! ! boundary scheme in IMPL_CAL BL_IC6A.211 &,L_BL_LSPICE ! IN True if 3A large-scale ppn BL_IC6A.212 ! ! scheme is used. BL_IC6A.213 &,L_MOM ! IN Switch for convective momentum BL_IC6A.214 ! ! transport. BL_IC6A.215 &,L_MIXLEN ! IN Switch for reducing the turbulent BL_IC6A.216 ! ! mixing length above the top of the BL_IC6A.217 ! ! boundary layer - dummy for A03_5B BL_IC6A.218 &,L_Z0_OROG ! IN T to use simple orog.roughness BL_IC6A.219 ! ! treatment in SF_EXCH BL_IC6A.220 INTEGER BL_IC6A.222 & LAND_INDEX(P_FIELD) ! IN LAND_INDEX(I)=J => the Jth BL_IC6A.223 ! ! point in P_FIELD is the Ith BL_IC6A.224 ! ! land point. BL_IC6A.225 INTEGER BL_IC6A.227 & ST_LEVELS ! IN No. of deep soil temp. levels BL_IC6A.228 &,SM_LEVELS ! IN No. of soil moisture levels BL_IC6A.229 &,CO2_DIM ! dummy CO2 variable - field not used with A03_6A. ACN1F405.112 BL_IC6A.230 REAL BL_IC6A.231 & CANHT(LAND_FIELD) ! IN Canopy height (m) BL_IC6A.232 &,CANOPY(LAND_FIELD) ! IN Surface/canopy water (kg per sq m) BL_IC6A.233 &,CATCH(LAND_FIELD) ! IN Surface/canopy water capacity BL_IC6A.234 ! ! (kg per sq m). BL_IC6A.235 &,HCAP(LAND_FIELD) ! IN Soil heat capacity (J/K/m**3) BL_IC6A.236 &,HCON(LAND_FIELD) ! IN Soil thermal conductivity (W/m/K). BL_IC6A.237 &,HO2R2_OROG(LAND_FIELD) ! IN Dummy used only in version 3A. BL_IC6A.238 BL_IC6A.239 &,LAI(LAND_FIELD) ! IN Leaf area index BL_IC6A.240 &,LAYER_DEPTH(SM_LEVELS) ! Dummy Variable not used BL_IC6A.241 ! ! in this version BL_IC6A.242 &,LYING_SNOW(P_FIELD) ! IN Lying snow (kg per sq m). BL_IC6A.243 ! ! Must be global for coupled model, BL_IC6A.245 ! ! ie dimension P_FIELD not LAND_FIEL BL_IC6A.246 &,RESIST(LAND_FIELD) ! IN "Stomatal" resistance to BL_IC6A.248 ! ! evaporation (seconds per metre). BL_IC6A.249 &,ROOTD(LAND_FIELD) ! IN Depth of active soil layer ("root BL_IC6A.250 ! ! depth") (metres). BL_IC6A.251 &,SIL_OROG_LAND(LAND_FIELD) ! IN Silhouette area of unresolved BL_IC6A.252 ! orography per unit horizontal area BL_IC6A.253 ! on land points only. BL_IC6A.254 &,SMC(LAND_FIELD) ! IN Soil moisture content (kg / sq m). BL_IC6A.255 &,SMVCCL(LAND_FIELD) ! IN Critical volumetric SMC (cubic m BL_IC6A.256 ! ! per cubic m of soil). BL_IC6A.257 &,SMVCST(LAND_FIELD) ! IN Volumetric saturation point (cubic BL_IC6A.258 ! ! per cubic m of soil). BL_IC6A.259 &,SMVCWT(LAND_FIELD) ! IN Volumetric wilting point (cubic m BL_IC6A.260 ! ! per cubic m of soil). BL_IC6A.261 &,TILE_FRAC(P_FIELD) ! IN Dummy BL_IC6A.262 &,VFRAC(LAND_FIELD) ! IN Vegetation fraction. BL_IC6A.263 &,Z0V(P_FIELD) ! IN Vegetative roughness length (m). BL_IC6A.264 ! ! NB:UM uses same storage for Z0MSEA BL_IC6A.265 ! ! so for sea points this is INOUT. BL_IC6A.266 ! BL_IC6A.267 ! Additional arrays for A03_7A (MOSES-II) - not used in A03_6A. BL_IC6A.268 *CALL NSTYPES
BL_IC6A.269 INTEGER BL_IC6A.270 & TILE_INDEX(NTYPE) BL_IC6A.271 &,TILE_PTS(NTYPE) BL_IC6A.272 &,LAND_FIELD_TRIF ABX1F405.725 &,NPFT_TRIF ABX1F405.726 REAL BL_IC6A.273 & ARESIST_TILE(NTYPE) BL_IC6A.274 &,CANHT_FT(NPFT) BL_IC6A.275 &,CANOPY_TILE(NTYPE-1) BL_IC6A.276 &,CATCH_TILE(NTYPE-1) BL_IC6A.277 &,CS BL_IC6A.278 &,ECAN_TILE(NTYPE-1) BL_IC6A.279 &,ESOIL_TILE(NTYPE-1) BL_IC6A.280 &,FRAC(NTYPE) BL_IC6A.281 &,FTL_TILE_DUMMY(NTYPE) BL_IC6A.282 &,G_LEAF(NPFT) BL_IC6A.283 &,G_LEAF_ACC(NPFT) BL_IC6A.284 &,GPP_FT(NPFT) ABX1F405.727 &,LAI_FT(NPFT) BL_IC6A.285 &,NPP_FT(NPFT) BL_IC6A.286 &,NPP_FT_ACC(NPFT) BL_IC6A.287 &,RAD_NO_SNOW(P_FIELD) BL_IC6A.288 &,RAD_SNOW(P_FIELD) BL_IC6A.289 &,RESIST_B_TILE(NTYPE) BL_IC6A.290 &,RESP_P_FT(NPFT) ABX1F405.728 &,RESP_S BL_IC6A.291 &,RESP_S_ACC BL_IC6A.292 &,RESP_W_FT(NPFT) BL_IC6A.293 &,RESP_W_FT_ACC(NPFT) BL_IC6A.294 &,RHO_ARESIST_TILE(NTYPE) BL_IC6A.295 &,RIB_TILE(NTYPE) BL_IC6A.296 &,SNOW_FRAC BL_IC6A.297 &,SNOW_SURF_HTF BL_IC6A.298 &,SOIL_SURF_HTF BL_IC6A.299 &,TILE_FRAC_OUT(NPFT) ABX1F405.729 &,TSNOW BL_IC6A.300 &,TSTAR_TILE_DUMMY(NTYPE) BL_IC6A.301 &,Z0V_TILE(NTYPE) BL_IC6A.302 LOGICAL ABX1F405.730 & L_PHENOL ABX1F405.731 &,L_TRIFFID ABX1F405.732 &,L_NEG_TSTAR ABX1F405.733 BL_IC6A.303 ! (d) Sea/sea-ice data. BL_IC6A.304 BL_IC6A.305 REAL BL_IC6A.306 & DI(P_FIELD) ! IN "Equivalent thickness" of sea-ice BL_IC6A.307 ! ! (m). BL_IC6A.308 &,ICE_FRACT(P_FIELD) ! IN Fraction of gridbox covered by BL_IC6A.309 ! ! sea-ice (decimal fraction). BL_IC6A.310 &,U_0(U_FIELD) ! IN W'ly component of surface current BL_IC6A.311 ! ! (metres per second). BL_IC6A.312 &,V_0(U_FIELD) ! IN S'ly component of surface current BL_IC6A.313 ! ! (metres per second). BL_IC6A.314 BL_IC6A.315 ! (e) Cloud data. BL_IC6A.316 BL_IC6A.317 REAL BL_IC6A.318 & CF(P_FIELD,BL_LEVELS) ! IN Cloud fraction (decimal). BL_IC6A.319 &,QCF(P_FIELD,BL_LEVELS) ! IN Cloud ice (kg per kg air) BL_IC6A.320 &,QCL(P_FIELD,BL_LEVELS) ! IN Cloud liquid water (kg/kg air). BL_IC6A.321 &,CCA(P_FIELD) ! IN Convective Cloud Amount (decimal). BL_IC6A.322 BL_IC6A.323 INTEGER BL_IC6A.324 & CCB(P_FIELD) ! IN Convective Cloud Base BL_IC6A.325 &,CCT(P_FIELD) ! IN Convective Cloud Top BL_IC6A.326 BL_IC6A.327 ! (f) Atmospheric + any other data not covered so far, incl control. BL_IC6A.328 BL_IC6A.329 REAL BL_IC6A.330 & CO2_MMR ! IN CO2 Mass Mixing Ratio BL_IC6A.331 &,CO2_3D ! dummy CO2 variable - field not used with A03_6A. ACN1F405.113 &,PHOTOSYNTH_ACT_RAD(P_FIELD) ! IN Net downward shortwave radiation BL_IC6A.332 ! ! in band 1 (w/m2). BL_IC6A.333 &,PSTAR(P_FIELD) ! IN Surface pressure (Pascals). BL_IC6A.334 &,RADNET(P_FIELD) ! IN Surface net radiation (W/sq m, BL_IC6A.335 ! ! positive downwards). BL_IC6A.336 &,RAD_HR(RADHR_DIM1,BL_LEVELS) BL_IC6A.337 ! ! IN Radiative heating rate (K/s). BL_IC6A.338 &,TIMESTEP ! IN Timestep (seconds). BL_IC6A.339 BL_IC6A.340 LOGICAL LTIMER ! Logical switch for TIMER diags BL_IC6A.341 BL_IC6A.342 ! STASH flags :- BL_IC6A.343 BL_IC6A.344 LOGICAL BL_IC6A.345 & SFME ! IN Flag for FME (q.v.). BL_IC6A.346 &,SMLT ! IN Flag for SICE_MLT_HTF (q.v.) BL_IC6A.347 &,SIMLT ! IN Flag BL_IC6A.348 &,SLH ! IN Flag for LATENT_HEAT (q.v.) BL_IC6A.349 &,SQ1P5 ! IN Flag for Q1P5M (q.v.) BL_IC6A.350 &,ST1P5 ! IN Flag for T1P5M (q.v.) BL_IC6A.351 &,SU10 ! IN Flag for U10M (q.v.) BL_IC6A.352 &,SV10 ! IN Flag for V10M (q.v.) BL_IC6A.353 BL_IC6A.354 ! In/outs :- BL_IC6A.355 BL_IC6A.356 REAL BL_IC6A.357 & GS(LAND_FIELD) ! INOUT "Stomatal" conductance to BL_IC6A.358 ! ! evaporation (m/s). BL_IC6A.359 &,Q(P_FIELD,BL_LEVELS) ! INOUT Input:specific humidity BL_IC6A.360 ! ! ( kg water per kg air). BL_IC6A.361 ! ! Output:total water content BL_IC6A.362 ! ! (Q)(kg water per kg air). BL_IC6A.363 &,STHF(LAND_FIELD,SM_LEVELS)! INOUT Frozen soil moisture BL_IC6A.364 ! ! content of each layer BL_IC6A.365 ! ! as a fraction of saturation. BL_IC6A.366 &,STHU(LAND_FIELD,SM_LEVELS)! INOUT UNfrozen soil moisture BL_IC6A.367 ! ! content of each layer BL_IC6A.368 ! ! as a fraction of saturation. BL_IC6A.369 &,T(P_FIELD,BL_LEVELS) ! INOUT Input:atmospheric temp(K) BL_IC6A.370 ! ! Output:liquid/frozen water BL_IC6A.371 ! ! temperature (TL) (K) BL_IC6A.372 &,T_DEEP_SOIL(LAND_FIELD,ST_LEVELS) BL_IC6A.373 ! ! INOUT Deep soil temperatures (K). BL_IC6A.374 &,TI(P_FIELD) ! INOUT Sea-ice surface layer BL_IC6A.375 ! ! temperature (K) BL_IC6A.376 &,TSTAR(P_FIELD) ! INOUT Surface temperature BL_IC6A.377 ! ! (= top soil layer BL_IC6A.378 ! ! temperature) (K). BL_IC6A.379 &,TSTAR_TILE(P_FIELD) ! INOUT Dummy BL_IC6A.380 &,U(U_FIELD,BL_LEVELS) ! INOUT W'ly wind component (m/s). BL_IC6A.381 &,V(U_FIELD,BL_LEVELS) ! INOUT S'ly wind component (m/s). BL_IC6A.382 &,Z0MSEA(P_FIELD) ! INOUT Sea-surface roughness BL_IC6A.383 ! ! length for momentum (m). BL_IC6A.384 ! ! NB: same storage is used BL_IC6A.385 ! ! for Z0V, so the intent is BL_IC6A.386 ! ! IN for land points. BL_IC6A.387 BL_IC6A.388 ! Outputs :- BL_IC6A.389 BL_IC6A.390 !-1 Diagnostic (or effectively so - includes coupled model requisites):- BL_IC6A.391 BL_IC6A.392 ! (a) Calculated anyway (use STASH space from higher level) :- BL_IC6A.393 BL_IC6A.394 REAL BL_IC6A.395 & BL_TYPE_1(P_FIELD) ! OUT Indicator set to 1.0 if stable ARN0F405.145 ! ! b.l. diagnosed, 0.0 otherwise. ARN0F405.146 &,BL_TYPE_2(P_FIELD) ! OUT Indicator set to 1.0 if Sc over ARN0F405.147 ! ! stable surface layer diagnosed, ARN0F405.148 ! ! 0.0 otherwise. ARN0F405.149 &,BL_TYPE_3(P_FIELD) ! OUT Indicator set to 1.0 if well ARN0F405.150 ! ! mixed b.l. diagnosed, ARN0F405.151 ! ! 0.0 otherwise. ARN0F405.152 &,BL_TYPE_4(P_FIELD) ! OUT Indicator set to 1.0 if ARN0F405.153 ! ! decoupled Sc layer (not over ARN0F405.154 ! ! cumulus) diagnosed, ARN0F405.155 ! ! 0.0 otherwise. ARN0F405.156 &,BL_TYPE_5(P_FIELD) ! OUT Indicator set to 1.0 if ARN0F405.157 ! ! decoupled Sc layer over cumulus ARN0F405.158 ! diagnosed, 0.0 otherwise. ARN0F405.159 &,BL_TYPE_6(P_FIELD) ! OUT Indicator set to 1.0 if a ARN0F405.160 ! ! cumulus capped b.l. diagnosed, ARN0F405.161 ! ! 0.0 otherwise. ARN0F405.162 &,CD(P_FIELD) ! OUT Turbulent surface exchange (bulk ARN0F405.163 ! ! transfer) coefficient for BL_IC6A.397 ! ! momentum. BL_IC6A.398 &,CH(P_FIELD) ! OUT Turbulent surface exchange (bulk BL_IC6A.399 ! ! transfer) coefficient for heat BL_IC6A.400 ! ! and/or moisture. BL_IC6A.401 &,E_SEA(P_FIELD) ! OUT Evaporation from sea times leads BL_IC6A.402 ! ! fraction. Zero over land. BL_IC6A.403 ! ! (kg per square metre per sec). BL_IC6A.404 &,EPOT(P_FIELD) ! OUT potential evaporation-rate ANG1F405.56 ! ! (kg/m2/s). ANG1F405.57 &,ETRAN(P_FIELD) ! OUT Transpiration (kg/m2/s). BL_IC6A.405 &,EXT(LAND_FIELD,SM_LEVELS)! OUT Extraction of water from BL_IC6A.406 ! ! each soil layer (kg/m2/s) BL_IC6A.407 &,FQW(P_FIELD,BL_LEVELS) ! OUT Moisture flux between layers BL_IC6A.408 ! ! (kg per square metre per sec). BL_IC6A.409 ! ! FQW(,1) is total water flux BL_IC6A.410 ! ! from surface, 'E'. BL_IC6A.411 &,FSMC(LAND_FIELD) ! OUT soil moisture availability. ANG1F405.58 &,FTL_TILE(P_FIELD) ! OUT Dummy BL_IC6A.412 &,FTL(P_FIELD,BL_LEVELS) ! OUT FTL(,K) contains net turbulent BL_IC6A.413 ! ! sensible heat flux into layer K BL_IC6A.414 ! ! from below; so FTL(,1) is the BL_IC6A.415 ! ! surface sensible heat, H. (W/m2) BL_IC6A.416 &,FQW_TILE(P_FIELD) ! OUT Dummy BL_IC6A.417 &,GPP(LAND_FIELD) ! OUT Gross primary productivity BL_IC6A.418 ! ! (kg C/m2/s). BL_IC6A.419 &,H_SEA(P_FIELD) ! OUT Surface sensible heat flux over BL_IC6A.420 ! ! sea times leads fraction. (W/m2) BL_IC6A.421 &,NPP(LAND_FIELD) ! OUT Net primary productivity BL_IC6A.422 ! ! (kg C/m2/s). BL_IC6A.423 &,RESP_P(LAND_FIELD) ! OUT Plant respiration (kg C/m2/s). BL_IC6A.424 &,RHOKH(P_FIELD,BL_LEVELS) ! OUT Exchange coeffs for moisture. BL_IC6A.425 &,RHOKM(U_FIELD,BL_LEVELS) ! OUT Exchange coefficients for BL_IC6A.426 ! ! momentum (on UV-grid, with 1st BL_IC6A.427 ! ! and last rows undefined (or, at BL_IC6A.428 ! ! present, set to "missing data")). BL_IC6A.429 &,RIB(P_FIELD) ! OUT Bulk Richardson number for lowest BL_IC6A.430 ! ! layer. BL_IC6A.431 &,RIB_GB(P_FIELD) ! OUT Dummy BL_IC6A.432 &,SEA_ICE_HTF(P_FIELD) ! OUT Heat flux through sea-ice (W per BL_IC6A.433 ! ! sq m, positive downwards). BL_IC6A.434 &,SOIL_HT_FLUX(P_FIELD) ! OUT Dummy BL_IC6A.435 &,SURF_HT_FLUX(P_FIELD) ! OUT Net downward heat flux at surface BL_IC6A.436 ! ! over land or sea-ice fraction of BL_IC6A.437 ! ! gridbox (W/m2) BL_IC6A.438 &,TAUX(U_FIELD,BL_LEVELS) ! OUT W'ly component of surface wind BL_IC6A.439 ! ! stress (N/sq m).(On UV-grid with BL_IC6A.440 ! ! first and last rows undefined or BL_IC6A.441 ! ! at present, set to 'missing data' BL_IC6A.442 &,TAUY(U_FIELD,BL_LEVELS) ! OUT S'ly component of surface wind BL_IC6A.443 ! ! stress (N/sq m). On UV-grid; BL_IC6A.444 ! ! comments as per TAUX. BL_IC6A.445 &,VSHR(P_FIELD) ! OUT Magnitude of surface-to-lowest BL_IC6A.446 ! ! atm level wind shear (m per s). BL_IC6A.447 &,ZHT(P_FIELD) ! OUT Height below which there may be ARN0F405.164 ! ! turbulent mixing (m). ARN0F405.165 &,RHO_CD_MODV1(P_FIELD) ! OUT Surface air density * drag coef. BL_IC6A.448 ! ! mod(v1 - v0) before interpolation. BL_IC6A.449 &,RHO_KM(P_FIELD,2:BL_LEVELS)! OUT Air density * turbulent mixing BL_IC6A.450 ! ! coef. for momentum before BL_IC6A.451 &,RHO_ARESIST(P_FIELD) ! OUT, RHOSTAR*CD_STD*VSHR for SCYCLE BL_IC6A.452 &,ARESIST(P_FIELD) ! OUT, 1/(CD_STD*VSHR) for SCYCLE BL_IC6A.453 &,RESIST_B(P_FIELD) ! OUT,(1/CH-1/CD_STD)/VSHR for SCYCLE BL_IC6A.454 ! BL_IC6A.455 INTEGER BL_IC6A.456 & NRML(P_FIELD) ! OUT Number of model layers in the BL_IC6A.457 ! ! Rapidly Mixing Layer; diagnosed BL_IC6A.458 ! ! in SF_EXCH and KMKH and used in BL_IC6A.459 ! ! IMPL_CAL, SF_EVAP and TR_MIX. BL_IC6A.460 BL_IC6A.461 ! (b) Not passed between lower-level routines (not in workspace at this BL_IC6A.462 ! level) :- BL_IC6A.463 BL_IC6A.464 REAL BL_IC6A.465 & FME(P_FIELD) ! OUT Wind mixing "power" (W per sq m). BL_IC6A.466 &,SICE_MLT_HTF(P_FIELD) ! OUT Heat flux due to melting of sea- BL_IC6A.467 ! ! ice (Watts per sq metre). BL_IC6A.468 &,SNOMLT_SURF_HTF(P_FIELD) BL_IC6A.469 &,LATENT_HEAT(P_FIELD) ! OUT Surface latent heat flux, +ve BL_IC6A.470 ! ! upwards (Watts per sq m). BL_IC6A.471 &,Q1P5M(P_FIELD) ! OUT Q at 1.5 m (kg water per kg air). BL_IC6A.472 &,T1P5M(P_FIELD) ! OUT T at 1.5 m (K). BL_IC6A.473 &,U10M(U_FIELD) ! OUT U at 10 m (m per s). BL_IC6A.474 &,V10M(U_FIELD) ! OUT V at 10 m (m per s). BL_IC6A.475 BL_IC6A.476 !-2 Genuinely output, needed by other atmospheric routines :- BL_IC6A.477 BL_IC6A.478 REAL BL_IC6A.479 & ECAN(P_FIELD) ! OUT Gridbox mean evaporation from canopy/surface BL_IC6A.480 ! ! store (kg per sq m per s). Zero over sea. BL_IC6A.481 &,EI(P_FIELD) ! OUT Sublimation from lying snow or sea-ice (kg BL_IC6A.482 ! ! per sq m per sec). BL_IC6A.483 &,ES(P_FIELD) ! OUT Surface evapotranspiration through a BL_IC6A.484 ! ! resistance which is not entirely aerodynamic BL_IC6A.485 ! ! i.e. "soil evaporation". Always non- BL_IC6A.486 ! ! negative. Kg per sq m per sec. BL_IC6A.487 &,SNOWMELT(P_FIELD) ! OUT Snowmelt (kg/m/s) BL_IC6A.488 &,ZH(P_FIELD) ! OUT Height above surface of top of boundary BL_IC6A.489 ! ! layer (metres). BL_IC6A.490 &,T1_SD(P_FIELD) ! OUT Standard deviation of turbulent fluctuations BL_IC6A.491 ! ! of layer 1 temperature; for use in BL_IC6A.492 ! ! initiating convection. BL_IC6A.493 &,Q1_SD(P_FIELD) ! OUT Standard deviation of turbulent fluctuations BL_IC6A.494 ! ! of layer 1 humidity; for use in initiating BL_IC6A.495 ! ! convection. BL_IC6A.496 INTEGER BL_IC6A.497 & ERROR ! OUT 0 - AOK; BL_IC6A.498 &,I BL_IC6A.499 ! ! 1 to 7 - bad grid definition detected; BL_IC6A.501 BL_IC6A.505 BL_IC6A.506 *CALL C_N_TYPES
BL_IC6A.507 BL_IC6A.508 !*---------------------------------------------------------------------- BL_IC6A.509 BL_IC6A.510 BL_IC6A.511 CALL BDY_LAYR
( BL_IC6A.512 BL_IC6A.513 ! IN values defining field dimensions and subset to be processed : BL_IC6A.514 & P_FIELD,U_FIELD,N_TYPES,LAND_FIELD, BL_IC6A.515 & P_ROWS,FIRST_ROW,N_ROWS,ROW_LENGTH, BL_IC6A.516 BL_IC6A.517 ! IN values defining vertical grid of model atmosphere : BL_IC6A.518 & BL_LEVELS,P_LEVELS,AK,BK,AKH,BKH,DELTA_AK,DELTA_BK, BL_IC6A.519 & EXNER, BL_IC6A.520 BL_IC6A.521 ! IN soil/vegetation/land surface data : BL_IC6A.522 & LAND_MASK,GATHER,LAND_INDEX, BL_IC6A.526 & ST_LEVELS,SM_LEVELS,TILE_FRAC,CANHT,CANOPY, BL_IC6A.528 & CATCH,CATCH,HCON, BL_IC6A.529 & LYING_SNOW,RESIST,RESIST,ROOTD,ROOTD, BL_IC6A.530 & SMVCCL,SMVCST,SMVCWT,STHF,STHU, BL_IC6A.531 & VFRAC,Z0V,Z0V,SIL_OROG_LAND,L_Z0_OROG,HO2R2_OROG, BL_IC6A.532 & LAI, BL_IC6A.533 BL_IC6A.534 ! IN sea/sea-ice data : BL_IC6A.535 & DI,ICE_FRACT,U_0,V_0, BL_IC6A.536 BL_IC6A.537 ! IN cloud data : BL_IC6A.538 & CF,QCF,QCL,CCA,CCB,CCT, BL_IC6A.539 BL_IC6A.540 ! IN everything not covered so far : BL_IC6A.541 & CO2_MMR,PHOTOSYNTH_ACT_RAD,PSTAR,RADNET,RAD_HR,RADHR_DIM1, BL_IC6A.542 & TIMESTEP,L_RMBL,L_BL_LSPICE,L_MOM, BL_IC6A.543 BL_IC6A.544 ! INOUT data : BL_IC6A.545 & Q,GS,T,T_DEEP_SOIL,TI,TSTAR,TSTAR_TILE,U,V,Z0MSEA, BL_IC6A.546 BL_IC6A.547 ! OUT Diagnostic not requiring STASH flags : BL_IC6A.548 & CD,CH,E_SEA,EPOT,ETRAN,FQW,FQW_TILE,FSMC,FTL,FTL_TILE, ANG1F405.59 & H_SEA,RHOKH,RHOKM, ANG1F405.60 & RIB_GB,RIB,SEA_ICE_HTF,SURF_HT_FLUX,TAUX,TAUY,VSHR,ZHT, ARN0F405.166 & BL_TYPE_1,BL_TYPE_2,BL_TYPE_3,BL_TYPE_4,BL_TYPE_5,BL_TYPE_6, ARN0F405.167 ARN0F405.168 BL_IC6A.551 ! OUT diagnostic requiring STASH flags : BL_IC6A.552 & FME,SICE_MLT_HTF,SNOMLT_SURF_HTF,LATENT_HEAT, BL_IC6A.553 & Q1P5M,T1P5M,U10M,V10M, BL_IC6A.554 BL_IC6A.555 ! (IN) STASH flags :- BL_IC6A.556 & SFME,SIMLT,SMLT,SLH,SQ1P5,ST1P5,SU10,SV10, BL_IC6A.557 BL_IC6A.558 ! OUT data required for tracer mixing : BL_IC6A.559 & RHO_ARESIST,ARESIST,RESIST_B, BL_IC6A.560 & NRML, BL_IC6A.561 BL_IC6A.562 ! OUT data required for 4D_VAR : BL_IC6A.563 & RHO_CD_MODV1,RHO_KM, BL_IC6A.564 BL_IC6A.565 ! OUT data required elsewhere in UM system : BL_IC6A.566 & ECAN,EI,ES,EXT,SNOWMELT,ZH, BL_IC6A.567 & GPP,NPP,RESP_P, BL_IC6A.568 & T1_SD,Q1_SD,ERROR, BL_IC6A.569 BL_IC6A.570 ! LOGICAL LTIMER BL_IC6A.571 & LTIMER BL_IC6A.572 &) BL_IC6A.573 RETURN BL_IC6A.574 END BL_IC6A.575 BL_IC6A.576 *ENDIF BL_IC6A.577