*IF DEF,A03_3A AJS1F401.991 CLL Subroutine BL_INTCT ------------------------------------------- BL_IC3A.3 CLL BL_IC3A.4 CLL Purpose : Intermediate control level to call requested version of BL_IC3A.5 CLL BDY_LAYR with the appropriate arguments. BL_IC3A.6 CLL BL_IC3A.7 CLL Level 3 control routine BL_IC3A.8 CLL version for CRAY YMP BL_IC3A.9 CLL BL_IC3A.10 CLL C.Bunton <- programmer of some or all of previous code or changes BL_IC3A.11 CLL BL_IC3A.12 CLL Model Modification history from model version 3.0: BL_IC3A.13 CLL version Date BL_IC3A.14 CLL 4.0 22/05/95 Original code to introduce intermediate control BL_IC3A.15 CLL level-all arguments for every version BL_IC3A.16 CLL are passed from BL_CTL and then this routine BL_IC3A.17 CLL calls appropriate version of BDY_LAYR with a BL_IC3A.18 CLL subset of these BL_IC3A.19 CLL (Outlined in proposal by S. Foreman 22/08/94) BL_IC3A.20 CLL C.Bunton BL_IC3A.21 CLL 4.0 24/4/95 Diagnostics for 4D-Var project added BL_IC3A.25 CLL Simon Jackson BL_IC3A.26 CLL 4.1 07/05/96 3 surface resistance coefficients to argument list AJS1F401.992 CLL for use in Sulphur Cycle M. Woodage. AJS1F401.993 CLL 4.1 20/5/96 Correct stash flags for sea-ice melt and snow melt ASJ1F401.1 CLL heat fluxes Simon Jackson ASJ1F401.2 CLL 4.3 04/02/97 Logical switches L_MOM and L_MIXLEN passed down ARN1F403.4 CLL to BDY_LYR ARN1F403.5 CLL R.N.B.Smith ARN1F403.6 CLL 4.4 08/09/97 L_BL_LSPICE specifies mixed phase precipitation ADM3F404.194 CLL scheme. D.Wilson ADM3F404.195 CLL ADM3F404.196 CLL ARN1F403.7 !!! 4.4 18/09/97 Extra arguments RAD_HR and RADHR_DIM1 for BDYLYR6A ARN1F404.155 !!! Cyndy Bunton ARN1F404.156 !!! 4.5 24/4/98 New diagnostics ZHT and BL_TYPE_1 to _6 for ARN0F405.114 !!! BDYLYR6A R.N.B.Smith ARN0F405.115 !!! 4.5 Jul. 98 Kill the IBM specific lines. (JCThil) AJC1F405.344 !!! 4.5 27/04/98 Add dummy arguments LAND_FIELD_TRIF, NPFT_TRIF, ABX1F405.678 !!! GPP_FT, RESP_P_FT, TILE_FRAC, L_PHENOL and L_TRIFFID ABX1F405.679 !!! and change TILE_INDEX and TILE_PTS from IN to OUT, ABX1F405.680 !!! consistent with changes to BL_CTL required for ABX1F405.681 !!! TRIFFID. ABX1F405.682 !!! Richard Betts ABX1F405.683 CLL Programming standard : unified model documentation paper No 3 BL_IC3A.27 CLL BL_IC3A.28 CLL System components covered : P24 BL_IC3A.29 CLL BL_IC3A.30 CLL System task : P0 BL_IC3A.31 CLL BL_IC3A.32 CLLEND ----------------------------------------------------------------- BL_IC3A.33 C Arguments :- BL_IC3A.34SUBROUTINE BL_INTCT( 2,8BL_IC3A.35 BL_IC3A.36 C IN values defining field dimensions and subset to be processed : BL_IC3A.37 & P_FIELD,U_FIELD,LAND_FIELD,LAND_FIELD_TRIF,NPFT_TRIF, ABX1F405.684 + P_ROWS,FIRST_ROW,N_ROWS,ROW_LENGTH, AJS1F401.995 BL_IC3A.39 C IN values defining vertical grid of model atmosphere : BL_IC3A.40 + BL_LEVELS,P_LEVELS,AK,BK,AKH,BKH,DELTA_AK,DELTA_BK, AJS1F401.996 + EXNER, AJS1F401.997 BL_IC3A.43 C IN soil/vegetation/land surface data : BL_IC3A.44 + LAND_MASK,GATHER,LAND_INDEX, AJS1F401.1000 + ST_LEVELS,SM_LEVELS,CANHT,CANOPY,CATCH,HCAP, AJS1F401.1001 + HCON,LAI,LAYER_DEPTH, AJS1F401.1002 + LYING_SNOW,RESIST,ROOTD,SMC,SMVCCL,SMVCST,SMVCWT, AJS1F401.1003 + VFRAC,Z0V,SIL_OROG_LAND,L_Z0_OROG, AJS1F401.1004 + HO2R2_OROG, AJS1F401.1005 BL_IC3A.53 C IN sea/sea-ice data : BL_IC3A.54 + DI,ICE_FRACT,U_0,V_0, AJS1F401.1006 BL_IC3A.56 C IN cloud data : BL_IC3A.57 + CF,QCF,QCL, AJS1F401.1007 + CCA,CCB,CCT, AJS1F401.1008 BL_IC3A.60 C IN everything not covered so far : BL_IC3A.61 & RAD_HR,RADHR_DIM1, ARN1F404.157 + CO2_MMR,PHOTOSYNTH_ACT_RAD,PSTAR,RADNET,TIMESTEP, AJS1F401.1009 + L_RMBL,L_BL_LSPICE,L_MOM,L_MIXLEN, ADM3F404.197 BL_IC3A.63 C INOUT data : BL_IC3A.64 + GS,Q,STHF,STHU,T,T_DEEP_SOIL,TI,TSTAR,U,V,Z0MSEA, AJS1F401.1011 BL_IC3A.66 C OUT Diagnostic not requiring STASH flags : BL_IC3A.67 + CD,CH,E_SEA,ETRAN,FQW,FTL,GPP,H_SEA, AJS1F401.1012 + NPP,RESP_P,RHOKH,RHOKM,RIB,SEA_ICE_HTF, AJS1F401.1013 + TAUX,TAUY,VSHR,ZHT, ARN0F405.116 + EPOT,FSMC, ANG1F405.45 BL_IC3A.70 C OUT diagnostic requiring STASH flags : BL_IC3A.71 + FME,SICE_MLT_HTF,SNOMLT_SURF_HTF,LATENT_HEAT, AJS1F401.1015 + Q1P5M,T1P5M,U10M,V10M, AJS1F401.1016 C (IN) STASH flags :- BL_IC3A.74 + SFME,SIMLT,SMLT,SLH,SQ1P5,ST1P5,SU10,SV10, AJS1F401.1017 BL_IC3A.76 C OUT data required for tracer mixing : BL_IC3A.77 & RHO_ARESIST,ARESIST,RESIST_B, AJS1F401.1018 & NRML, AJS1F401.1019 BL_IC3A.79 C OUT data required for 4D_VAR : BL_IC3A.80 & RHO_CD_MODV1,RHO_KM, AJS1F401.1020 BL_IC3A.82 C OUT data required elsewhere in UM system : BL_IC3A.83 & BL_TYPE_1,BL_TYPE_2,BL_TYPE_3,BL_TYPE_4,BL_TYPE_5,BL_TYPE_6, ARN0F405.117 + ECAN,EI,ES,EXT,SNOWMELT, AJS1F401.1021 *IF DEF,SCMA AJC0F405.247 + SOIL_HT_FLUX,ZH,T1_SD,Q1_SD,ERROR, AJC0F405.248 *ELSE AJC0F405.249 + SURF_HT_FLUX,ZH,T1_SD,Q1_SD,ERROR, AJS1F401.1022 *ENDIF AJC0F405.250 BL_IC3A.85 ! Additional arguments for 7A boundary layer (MOSES II) ARE1F404.155 ! IN ARE1F404.156 & L_PHENOL,L_TRIFFID,L_NEG_TSTAR, ABX1F405.685 & CANHT_FT,CANOPY_TILE,CATCH_TILE,CS,LAI_FT, ARE1F404.158 & FRAC,SNOW_FRAC,RAD_NO_SNOW,RAD_SNOW,TSNOW,Z0V_TILE, ARE1F404.159 & CO2_3D,CO2_DIM,L_CO2_INTERACTIVE, ACN1F405.102 ! INOUT ARE1F404.160 & TSTAR_TILE, ARE1F404.161 & G_LEAF_ACC,NPP_FT_ACC,RESP_W_FT_ACC,RESP_S_ACC, ARE1F404.162 ! OUT ARE1F404.163 & ECAN_TILE,ESOIL_TILE,FTL_TILE, ARE1F404.164 & G_LEAF,GPP_FT,NPP_FT,RESP_P_FT,RESP_S,RESP_W_FT, ABX1F405.686 & RHO_ARESIST_TILE,ARESIST_TILE,RESIST_B_TILE, ARE1F404.166 & RIB_TILE,SNOW_SURF_HTF,SOIL_SURF_HTF, ARE1F404.167 & TILE_INDEX,TILE_PTS,TILE_FRAC, ABX1F405.687 ARE1F404.168 C LOGICAL LTIMER BL_IC3A.86 + LTIMER AJS1F401.1023 *IF DEF,SCMA AJC0F405.14 & ,FACTOR_RHOKH,OBS AJC0F405.15 *ENDIF AJC0F405.16 +) BL_IC3A.88 IMPLICIT NONE BL_IC3A.89 C BL_IC3A.90 C Inputs :- BL_IC3A.91 C BL_IC3A.92 C (a) Defining horizontal grid and subset thereof to be processed. BL_IC3A.93 C BL_IC3A.94 INTEGER BL_IC3A.95 + P_FIELD ! IN No. of P-points in whole grid BL_IC3A.96 C ! (for dimensioning only). BL_IC3A.97 +,RADHR_DIM1 ! IN Dimension for RAD_HR ARN1F404.158 +,U_FIELD ! IN No. of UV-points in whole grid. BL_IC3A.101 C ! (Checked for consistency with BL_IC3A.103 C ! P_FIELD and P_ROWS; there must BL_IC3A.104 C ! be 1 less UV than P row.) BL_IC3A.105 +,LAND_FIELD ! IN No.of land points in whole grid. BL_IC3A.109 C ! (Checked for consistency with BL_IC3A.111 C ! P_FIELD ) BL_IC3A.112 +,P_ROWS ! IN No. of P-rows in whole grid BL_IC3A.117 C ! (for dimensioning only). BL_IC3A.118 +,FIRST_ROW ! IN First row of data to be treated, BL_IC3A.122 C ! referred to P-grid (must be > 1 BL_IC3A.124 C ! since "polar" rows are never BL_IC3A.125 C ! treated). BL_IC3A.126 +,N_ROWS ! IN No. of rows of data to be BL_IC3A.130 C ! treated, referred to P-grid. BL_IC3A.131 C ! FIRST_ROW+N_ROWS-1 must be less BL_IC3A.133 C ! than P_ROWS, since "polar" rows BL_IC3A.134 C ! are never treated. BL_IC3A.135 +,ROW_LENGTH ! IN No. of points in one row. BL_IC3A.139 C ! (Checked for consistency with BL_IC3A.141 C ! P_FIELD and N_ROWS.) BL_IC3A.142 C BL_IC3A.146 C (b) Defining vertical grid of model atmosphere. BL_IC3A.147 C BL_IC3A.148 INTEGER BL_IC3A.149 + BL_LEVELS ! IN Max. no. of "boundary" levels BL_IC3A.150 C ! allowed.Assumed <= 30 for dim- BL_IC3A.151 C ! sioning of GAMMA in common deck BL_IC3A.152 C ! C_GAMMA used in SF_EXCH and KMKH BL_IC3A.153 +,P_LEVELS ! IN Total no. of vertical levels in BL_IC3A.154 C ! the model atmosphere. BL_IC3A.155 REAL BL_IC3A.156 + AK(P_LEVELS) ! IN Hybrid 'A' for all levels. BL_IC3A.157 +,BK(P_LEVELS) ! IN Hybrid 'B' for all levels. BL_IC3A.158 +,AKH(P_LEVELS+1) ! IN Hybrid 'A' for layer interfaces. BL_IC3A.159 +,BKH(P_LEVELS+1) ! IN Hybrid 'B' for layer interfaces. BL_IC3A.160 +,DELTA_AK(P_LEVELS) ! IN Difference of hybrid 'A' across BL_IC3A.161 C ! layers (K-1/2 to K+1/2). BL_IC3A.162 C ! NB: Upper minus lower. BL_IC3A.163 +,DELTA_BK(P_LEVELS) ! IN Difference of hybrid 'B' across BL_IC3A.164 C ! layers (K-1/2 to K+1/2). BL_IC3A.165 C ! NB: Upper minus lower. BL_IC3A.166 +,EXNER(P_FIELD,BL_LEVELS+1) ! IN Exner function. EXNER(,K) is BL_IC3A.167 C ! value for LOWER BOUNDARY of BL_IC3A.168 C ! level K. BL_IC3A.169 C BL_IC3A.170 C (c) Soil/vegetation/land surface parameters (mostly constant). BL_IC3A.171 C BL_IC3A.172 LOGICAL BL_IC3A.173 + LAND_MASK(P_FIELD) ! IN T if land, F elsewhere. BL_IC3A.174 &,L_CO2_INTERACTIVE ! dummy CO2 variable - not used with A03_3A. ACN1F405.103 +,GATHER ! IN T if gather to sea-ice points BL_IC3A.175 C ! in SF_EXCH. Saves a lot of un- BL_IC3A.176 C ! necessary calculations if there BL_IC3A.177 C ! are relatively few sea-ice points BL_IC3A.178 +,L_RMBL ! IN T to use rapidly mixing AJS1F401.1024 C ! boundary scheme in IMPL_CAL AJS GJC0F405.44 +,L_BL_LSPICE ! IN ADM3F404.198 ! TRUE Use scientific treatment of mixed ADM3F404.199 ! phase precip scheme. ADM3F404.200 ! FALSE Do not use mixed phase precip ADM3F404.201 ! considerations ADM3F404.202 +,L_Z0_OROG ! IN T to use simple orog.roughness BL_IC3A.179 &,L_MOM ! IN Switch for convective momentum ARN1F403.10 C ! transport. ARN1F403.11 &,L_MIXLEN ! IN Switch for reducing the turbulent ARN1F403.12 C ! mixing length above the top of the ARN1F403.13 C ! boundary layer. ARN1F403.14 C ! treatment in SF_EXCH BL_IC3A.180 INTEGER BL_IC3A.182 + LAND_INDEX(P_FIELD) ! IN LAND_INDEX(I)=J => the Jth BL_IC3A.183 C ! point in P_FIELD is the Ith BL_IC3A.184 C ! land point. BL_IC3A.185 INTEGER BL_IC3A.187 + ST_LEVELS ! IN No. of deep soil temp levls AJS1F401.1026 +,SM_LEVELS ! IN No. of soil moisture levls AJS1F401.1027 &,CO2_DIM ! dummy CO2 variable - field not used with A03_3A. ACN1F405.104 C ! AJS1F401.1028 REAL BL_IC3A.190 + CANHT(LAND_FIELD) ! IN Canopy height (m) AJS1F401.1029 +,CANOPY(LAND_FIELD) ! IN Surface/canopy water (kg per sq m) AJS1F401.1030 +,CATCH(LAND_FIELD) ! IN Surface/canopy water capacity BL_IC3A.192 C ! (kg per sq m). BL_IC3A.193 +,HCAP(LAND_FIELD) ! IN Soil heat capacity (J/K/m**3) AJS1F401.1031 +,HCON(LAND_FIELD) ! IN Soil thermal conductivity (W/m/K). BL_IC3A.195 +,HO2R2_OROG(LAND_FIELD) ! IN Dummy used only in version 3A. AJS1F401.1032 AJS1F401.1033 +,LAI(LAND_FIELD) ! IN Leaf area index AJS1F401.1034 +,LAYER_DEPTH(SM_LEVELS) ! Dummy Variable not used AJS1F401.1035 C ! in this version AJS1F401.1036 +,LYING_SNOW(P_FIELD) ! IN Lying snow (kg per sq m). BL_IC3A.204 C ! Must be global for coupled model, BL_IC3A.206 C ! ie dimension P_FIELD not LAND_FIEL BL_IC3A.207 +,RESIST(LAND_FIELD) ! IN "Stomatal" resistance to BL_IC3A.209 C ! evaporation (seconds per metre). BL_IC3A.210 +,ROOTD(LAND_FIELD) ! IN Depth of active soil layer ("root BL_IC3A.211 C ! depth") (metres). BL_IC3A.212 +,SMC(LAND_FIELD) ! IN Soil moisture content (kg / sq m). BL_IC3A.213 +,SMVCCL(LAND_FIELD) ! IN Critical volumetric SMC (cubic m BL_IC3A.214 C ! per cubic m of soil). BL_IC3A.215 +,SMVCST(LAND_FIELD) ! IN Volumetric saturation point (cubic AJS1F401.1037 C ! per cubic m of soil). AJS1F401.1038 +,SMVCWT(LAND_FIELD) ! IN Volumetric wilting point (cubic m BL_IC3A.216 C ! per cubic m of soil). BL_IC3A.217 +,VFRAC(LAND_FIELD) ! IN Vegetation fraction. AJS1F401.1039 +,Z0V(P_FIELD) ! IN Vegetative roughness length (m). BL_IC3A.218 C ! NB:UM uses same storage for Z0MSEA BL_IC3A.219 C ! so for sea points this is INOUT. BL_IC3A.220 +,SIL_OROG_LAND(LAND_FIELD) ! IN Dummy used only in version 3A. AJS1F401.1040 C BL_IC3A.226 C (d) Sea/sea-ice data. BL_IC3A.227 C BL_IC3A.228 REAL BL_IC3A.229 + DI(P_FIELD) ! IN "Equivalent thickness" of sea-ice BL_IC3A.230 C ! (m). BL_IC3A.231 +,ICE_FRACT(P_FIELD) ! IN Fraction of gridbox covered by BL_IC3A.232 C ! sea-ice (decimal fraction). BL_IC3A.233 +,U_0(U_FIELD) ! IN W'ly component of surface current BL_IC3A.234 C ! (metres per second). BL_IC3A.235 +,V_0(U_FIELD) ! IN S'ly component of surface current BL_IC3A.236 C ! (metres per second). BL_IC3A.237 C BL_IC3A.238 C (e) Cloud data. BL_IC3A.239 C BL_IC3A.240 REAL BL_IC3A.241 + CF(P_FIELD,BL_LEVELS) ! IN Cloud fraction (decimal). BL_IC3A.242 +,QCF(P_FIELD,BL_LEVELS) ! IN Cloud ice (kg per kg air) BL_IC3A.243 +,QCL(P_FIELD,BL_LEVELS) ! IN Cloud liquid water (kg BL_IC3A.244 C ! per kg air). BL_IC3A.245 +,CCA(P_FIELD) ! IN Convective Cloud Amount (decimal). BL_IC3A.246 INTEGER BL_IC3A.247 + CCB(P_FIELD) ! IN Convective Cloud Base BL_IC3A.248 +,CCT(P_FIELD) ! IN Convective Cloud Top BL_IC3A.249 C BL_IC3A.250 C (f) Atmospheric + any other data not covered so far, incl control. BL_IC3A.251 C BL_IC3A.252 REAL BL_IC3A.253 + CO2_MMR ! IN CO2 Mass Mixing Ratio AJS1F401.1041 &,CO2_3D ! dummy CO2 variable - field not used with A03_3A. ACN1F405.105 +,PHOTOSYNTH_ACT_RAD(P_FIELD) ! IN Net downward shortwave radiation AJS1F401.1042 C ! in band 1 (w/m2). AJS1F401.1043 +,PSTAR(P_FIELD) ! IN Surface pressure (Pascals). AJS1F401.1044 +,RADNET(P_FIELD) ! IN Surface net radiation (W/sq m, BL_IC3A.255 C ! positive downwards). BL_IC3A.256 &,RAD_HR(RADHR_DIM1,BL_LEVELS) ARN1F404.159 ! ! IN Radiative heating rates ARN1F404.160 ! ! - not used in A03_3A. ARN1F404.161 +,TIMESTEP ! IN Timestep (seconds). BL_IC3A.257 C BL_IC3A.258 LOGICAL LTIMER ! Logical switch for TIMER diags BL_IC3A.259 *IF DEF,SCMA AJC0F405.17 LOGICAL OBS ! IN flag for Observational AJC0F405.18 ! diagnostics for SCM AJC0F405.19 *ENDIF AJC0F405.20 C BL_IC3A.260 C STASH flags :- BL_IC3A.261 C BL_IC3A.262 LOGICAL BL_IC3A.263 + SFME ! IN Flag for FME (q.v.). BL_IC3A.264 +,SIMLT ! IN Flag for SICE_MLT_HTF (q.v.) ASJ1F401.4 +,SMLT ! IN Flag for SNOWMLT_SURF_HTF (q.v.) ASJ1F401.5 +,SLH ! IN Flag for LATENT_HEAT (q.v.) BL_IC3A.267 +,SQ1P5 ! IN Flag for Q1P5M (q.v.) BL_IC3A.268 +,ST1P5 ! IN Flag for T1P5M (q.v.) BL_IC3A.269 +,SU10 ! IN Flag for U10M (q.v.) BL_IC3A.270 +,SV10 ! IN Flag for V10M (q.v.) BL_IC3A.271 C BL_IC3A.272 C In/outs :- BL_IC3A.273 C BL_IC3A.274 REAL BL_IC3A.275 + GS(LAND_FIELD) ! INOUT "Stomatal" conductance to AJS1F401.1045 C ! evaporation (m/s). AJS1F401.1046 +,Q(P_FIELD,BL_LEVELS) ! INOUT Input:specific humidity AJS1F401.1047 C ! ( kg water per kg air). BL_IC3A.277 C ! Output:total water content BL_IC3A.278 C ! (Q)(kg water per kg air). BL_IC3A.279 +,STHF(LAND_FIELD,SM_LEVELS) ! INOUT Frozen soil moisture AJS1F401.1048 C ! content of each layer AJS1F401.1049 C ! as a fraction of AJS1F401.1050 C ! saturation. AJS1F401.1051 +,STHU(LAND_FIELD,SM_LEVELS) ! INOUT UNfrozen soil moisture AJS1F401.1052 C ! content of each layer AJS1F401.1053 C ! as a fraction of AJS1F401.1054 C ! saturation. AJS1F401.1055 +,T(P_FIELD,BL_LEVELS) ! INOUT Input:atmospheric temp(K) BL_IC3A.280 C ! Output:liquid/frozen water BL_IC3A.281 C ! temperature (TL) (K) BL_IC3A.282 +,T_DEEP_SOIL(LAND_FIELD,ST_LEVELS) ! INOUT Deep soil temperatures AJS1F401.1056 C ! (K). BL_IC3A.284 +,TI(P_FIELD) ! INOUT Sea-ice surface layer AJS1F401.1057 C ! temperature (K) AJS1F401.1058 +,TSTAR(P_FIELD) ! INOUT Surface temperature BL_IC3A.286 C ! (= top soil layer BL_IC3A.287 C ! temperature) (K). BL_IC3A.288 +,U(U_FIELD,BL_LEVELS) ! INOUT W'ly wind component BL_IC3A.289 C ! (metres per second). BL_IC3A.290 +,V(U_FIELD,BL_LEVELS) ! INOUT S'ly wind component BL_IC3A.291 C ! (metres per second). BL_IC3A.292 +,Z0MSEA(P_FIELD) ! INOUT Sea-surface roughness BL_IC3A.293 C ! length for momentum (m). BL_IC3A.294 C ! NB: same storage is used BL_IC3A.295 C ! for Z0V, so the intent is BL_IC3A.296 C ! IN for land points. BL_IC3A.297 C BL_IC3A.298 C Outputs :- BL_IC3A.299 C BL_IC3A.300 C-1 Diagnostic (or effectively so - includes coupled model requisites):- BL_IC3A.301 C BL_IC3A.302 C (a) Calculated anyway (use STASH space from higher level) :- BL_IC3A.303 C BL_IC3A.304 REAL BL_IC3A.305 & BL_TYPE_1(P_FIELD) ! OUT Dummy (diagnostics for BDYLYR6A) ARN0F405.118 &,BL_TYPE_2(P_FIELD) ! OUT Dummy (diagnostics for BDYLYR6A) ARN0F405.119 &,BL_TYPE_3(P_FIELD) ! OUT Dummy (diagnostics for BDYLYR6A) ARN0F405.120 &,BL_TYPE_4(P_FIELD) ! OUT Dummy (diagnostics for BDYLYR6A) ARN0F405.121 &,BL_TYPE_5(P_FIELD) ! OUT Dummy (diagnostics for BDYLYR6A) ARN0F405.122 &,BL_TYPE_6(P_FIELD) ! OUT Dummy (diagnostics for BDYLYR6A) ARN0F405.123 +,CD(P_FIELD) ! OUT Turbulent surface exchange (bulk ARN0F405.124 C ! transfer) coefficient for BL_IC3A.307 C ! momentum. BL_IC3A.308 +,CH(P_FIELD) ! OUT Turbulent surface exchange (bulk BL_IC3A.309 C ! transfer) coefficient for heat BL_IC3A.310 C ! and/or moisture. BL_IC3A.311 +,E_SEA(P_FIELD) ! OUT Evaporation from sea times leads BL_IC3A.312 C ! fraction. Zero over land. BL_IC3A.313 C ! (kg per square metre per sec). BL_IC3A.314 +,EPOT(P_FIELD) ! Dummy. ANG1F405.46 *IF DEF,SCMA AJC0F405.21 & ,FACTOR_RHOKH(P_FIELD) ! IN Factor for modifying surface AJC0F405.22 ! fluxes if OBS forcing used AJC0F405.23 *ENDIF AJC0F405.24 +,ETRAN(P_FIELD) ! OUT Transpiration (kg/m2/s). AJS1F401.1059 +,EXT(LAND_FIELD,SM_LEVELS) AJS1F401.1060 C ! OUT Extraction of water from AJS1F401.1061 C ! each soil layer (kg/m2/s) AJS1F401.1062 +,FQW(P_FIELD,BL_LEVELS) ! OUT Moisture flux between layers BL_IC3A.315 C ! (kg per square metre per sec). BL_IC3A.316 C ! FQW(,1) is total water flux BL_IC3A.317 C ! from surface, 'E'. BL_IC3A.318 +,FSMC(LAND_FIELD) ! Dummy. ANG1F405.47 +,FTL(P_FIELD,BL_LEVELS) ! OUT FTL(,K) contains net turbulent BL_IC3A.319 C ! sensible heat flux into layer K BL_IC3A.320 C ! from below; so FTL(,1) is the BL_IC3A.321 C ! surface sensible heat, H. (W/m2) BL_IC3A.322 +,GPP(LAND_FIELD) ! OUT Gross primary productivity AJS1F401.1063 C ! (kg C/m2/s). AJS1F401.1064 +,H_SEA(P_FIELD) ! OUT Surface sensible heat flux over BL_IC3A.323 C ! sea times leads fraction. (W/m2) BL_IC3A.324 +,NPP(LAND_FIELD) ! OUT Net primary productivity AJS1F401.1065 C ! (kg C/m2/s). AJS1F401.1066 +,RESP_P(LAND_FIELD) ! OUT Plant respiration (kg C/m2/s). AJS1F401.1067 AJS1F401.1068 +,RHOKH(P_FIELD,BL_LEVELS) ! OUT Exchange coeffs for moisture. BL_IC3A.325 C ! Surface:out of SF_EXCH containing BL_IC3A.326 C ! GAMMA(1)*RHOKH,after IMPL_CAL BL_IC3A.327 C ! contains only RHOKH. BL_IC3A.328 C ! Above surface:out of KMKH cont- BL_IC3A.329 C ! aining GAMMA(1)*RHOKH(,1)*RDZ(,1) BL_IC3A.330 +,RHOKM(U_FIELD,BL_LEVELS) ! OUT Exchange coefficients for BL_IC3A.331 C ! momentum (on UV-grid, with 1st BL_IC3A.332 C ! and last rows undefined (or, at BL_IC3A.333 C ! present, set to "missing data")). BL_IC3A.334 C ! Surface:out of SF_EXCH containing BL_IC3A.335 C ! GAMMA(1)*RHOKH,after IMPL_CAL BL_IC3A.336 C ! contains only RHOKH. BL_IC3A.337 C ! Above surface:out of KMKH cont- BL_IC3A.338 C ! aining GAMMA(1)*RHOKH(,1)*RDZ(,1) BL_IC3A.339 +,RIB(P_FIELD) ! OUT Bulk Richardson number for lowest BL_IC3A.340 C ! layer. BL_IC3A.341 +,SEA_ICE_HTF(P_FIELD) ! OUT Heat flux through sea-ice (W per BL_IC3A.342 C ! sq m, positive downwards). BL_IC3A.343 *IF DEF,SCMA AJC0F405.251 +,SOIL_HT_FLUX(P_FIELD) ! OUT HT FLUX FROM SURF TO DEEP SOIL LE AJC0F405.252 *ELSE AJC0F405.253 +,SOIL_HT_FLUX(P_FIELD) ! OUT Dummy AJS1F401.1069 +,SURF_HT_FLUX(P_FIELD) ! OUT Net downward heat flux at surface AJS1F401.1070 ! ! over land or sea-ice fraction of AJS1F401.1071 ! ! gridbox (W/m2) AJS1F401.1072 *ENDIF AJC0F405.254 +,TAUX(U_FIELD,BL_LEVELS) ! OUT W'ly component of surface wind BL_IC3A.348 C ! stress (N/sq m).(On UV-grid with BL_IC3A.349 C ! first and last rows undefined or BL_IC3A.350 C ! at present, set to 'missing data' BL_IC3A.351 +,TAUY(U_FIELD,BL_LEVELS) ! OUT S'ly component of surface wind BL_IC3A.352 C ! stress (N/sq m). On UV-grid; BL_IC3A.353 C ! comments as per TAUX. BL_IC3A.354 +,VSHR(P_FIELD) ! OUT Magnitude of surface-to-lowest BL_IC3A.355 C ! atm level wind shear (m per s). BL_IC3A.356 C BL_IC3A.357 &,ZHT(P_FIELD) ! OUT Dummy (diagnostics for BDYLYR6A) ARN0F405.125 +,RHO_CD_MODV1(P_FIELD) ! OUT Surface air density * drag coef. BL_IC3A.358 C ! mod(v1 - v0) before interpolation. BL_IC3A.359 BL_IC3A.360 +,RHO_KM(P_FIELD,2:BL_LEVELS)! OUT Air density * turbulent mixing BL_IC3A.361 C ! coef. for momentum before BL_IC3A.362 +,RHO_ARESIST(P_FIELD) ! OUT, RHOSTAR*CD_STD*VSHR for SCYCLE AJS1F401.1073 +,ARESIST(P_FIELD) ! OUT, 1/(CD_STD*VSHR) for SCYCLE AJS1F401.1074 +,RESIST_B(P_FIELD) ! OUT,(1/CH-1/CD_STD)/VSHR for SCYCLE AJS1F401.1075 C AJS1F401.1076 INTEGER BL_IC3A.363 + NRML(P_FIELD) ! OUT Number of model layers in the BL_IC3A.364 C ! Rapidly Mixing Layer; diagnosed BL_IC3A.365 C ! in SF_EXCH and KMKH and used in BL_IC3A.366 C ! IMPL_CAL, SF_EVAP and TR_MIX. BL_IC3A.367 C BL_IC3A.368 C (b) Not passed between lower-level routines (not in workspace at this BL_IC3A.369 C level) :- BL_IC3A.370 C BL_IC3A.371 REAL BL_IC3A.372 + FME(P_FIELD) ! OUT Wind mixing "power" (W per sq m). BL_IC3A.373 +,SICE_MLT_HTF(P_FIELD) ! OUT Heat flux due to melting of sea- BL_IC3A.374 C ! ice (Watts per sq metre). BL_IC3A.375 +,SNOMLT_SURF_HTF(P_FIELD) BL_IC3A.376 +,LATENT_HEAT(P_FIELD) ! OUT Surface latent heat flux, +ve BL_IC3A.377 C ! upwards (Watts per sq m). BL_IC3A.378 +,Q1P5M(P_FIELD) ! OUT Q at 1.5 m (kg water per kg air). BL_IC3A.379 +,T1P5M(P_FIELD) ! OUT T at 1.5 m (K). BL_IC3A.380 +,U10M(U_FIELD) ! OUT U at 10 m (m per s). BL_IC3A.381 +,V10M(U_FIELD) ! OUT V at 10 m (m per s). BL_IC3A.382 ARN0F405.126 ARN0F405.127 C BL_IC3A.383 C-2 Genuinely output, needed by other atmospheric routines :- BL_IC3A.384 C BL_IC3A.385 REAL BL_IC3A.386 + ECAN(P_FIELD) ! OUT Gridbox mean evaporation from canopy/surface AJS1F401.1077 C ! store (kg per sq m per s). Zero over sea. BL_IC3A.389 +,EI(P_FIELD) ! OUT Sublimation from lying snow or sea-ice (kg BL_IC3A.390 C ! per sq m per sec). BL_IC3A.391 +,ES(P_FIELD) ! OUT Surface evapotranspiration through a BL_IC3A.392 C ! resistance which is not entirely aerodynamic BL_IC3A.393 C ! i.e. "soil evaporation". Always non- BL_IC3A.394 C ! negative. Kg per sq m per sec. BL_IC3A.395 +,SNOWMELT(P_FIELD) ! OUT Snowmelt (kg/m/s) AJS1F401.1078 +,ZH(P_FIELD) ! OUT Height above surface of top of boundary BL_IC3A.397 C ! layer (metres). BL_IC3A.398 &,T1_SD(P_FIELD) ! OUT Standard deviation of turbulent fluctuations BL_IC3A.399 C ! of layer 1 temperature; for use in BL_IC3A.400 C ! initiating convection. BL_IC3A.401 &,Q1_SD(P_FIELD) ! OUT Standard deviation of turbulent fluctuations BL_IC3A.402 C ! of layer 1 humidity; for use in initiating BL_IC3A.403 C ! convection. BL_IC3A.404 ! Additional arguments for 7A boundary layer (MOSES II) ARE1F404.169 *CALL NSTYPES
ARE1F404.170 INTEGER ARE1F404.171 & TILE_INDEX(NTYPE) ARE1F404.172 &,TILE_PTS(NTYPE) ARE1F404.173 &,LAND_FIELD_TRIF ABX1F405.688 &,NPFT_TRIF ABX1F405.689 REAL ARE1F404.174 & ARESIST_TILE(NTYPE) ARE1F404.175 &,CANHT_FT(NPFT) ARE1F404.176 &,CANOPY_TILE(NTYPE-1) ARE1F404.177 &,CATCH_TILE(NTYPE-1) ARE1F404.178 &,CS ARE1F404.179 &,ECAN_TILE(NTYPE-1) ARE1F404.180 &,ESOIL_TILE(NTYPE-1) ARE1F404.181 &,FRAC(NTYPE) ARE1F404.182 &,FTL_TILE(NTYPE) ARE1F404.183 &,G_LEAF(NPFT) ARE1F404.184 &,G_LEAF_ACC(NPFT) ARE1F404.185 &,GPP_FT(NPFT) ABX1F405.690 &,LAI_FT(NPFT) ARE1F404.186 &,NPP_FT(NPFT) ARE1F404.187 &,NPP_FT_ACC(NPFT) ARE1F404.188 &,RAD_NO_SNOW(P_FIELD) ARE1F404.189 &,RAD_SNOW(P_FIELD) ARE1F404.190 &,RESIST_B_TILE(NTYPE) ARE1F404.191 &,RESP_P_FT(NPFT) ABX1F405.691 &,RESP_S ARE1F404.192 &,RESP_S_ACC ARE1F404.193 &,RESP_W_FT(NPFT) ARE1F404.194 &,RESP_W_FT_ACC(NPFT) ARE1F404.195 &,RHO_ARESIST_TILE(NTYPE) ARE1F404.196 &,RIB_TILE(NTYPE) ARE1F404.197 &,SNOW_FRAC ARE1F404.198 &,SNOW_SURF_HTF ARE1F404.199 &,SOIL_SURF_HTF ARE1F404.200 &,TILE_FRAC(NPFT) ABX1F405.692 &,TSNOW ARE1F404.201 &,TSTAR_TILE(NTYPE) ARE1F404.202 &,Z0V_TILE(NTYPE) ARE1F404.203 LOGICAL ABX1F405.693 & L_PHENOL ABX1F405.694 &,L_TRIFFID ABX1F405.695 &,L_NEG_TSTAR ABX1F405.696 ARE1F404.204 INTEGER BL_IC3A.405 + ERROR ! OUT 0 - AOK; BL_IC3A.406 +,I AJS1F401.1079 C ! 1 to 7 - bad grid definition detected; BL_IC3A.408 C ! 11 - error in SF_EXCH; BL_IC3A.412 C ! 21 - error in KMKH; BL_IC3A.413 C ! 31 - error in IMPL_CAL; BL_IC3A.414 *IF -DEF,CRAY BL_IC3A.415 C ! 41 - error in SOIL_HTF. BL_IC3A.416 *ENDIF BL_IC3A.417 C*---------------------------------------------------------------------- BL_IC3A.418 BL_IC3A.419 CALL BDY_LAYR
( BL_IC3A.420 BL_IC3A.421 C IN values defining field dimensions and subset to be processed : BL_IC3A.422 + P_FIELD,U_FIELD,LAND_FIELD,P_ROWS,FIRST_ROW,N_ROWS,ROW_LENGTH BL_IC3A.423 BL_IC3A.424 C IN values defining vertical grid of model atmosphere : BL_IC3A.425 +,BL_LEVELS,P_LEVELS,AK,BK,AKH,BKH,DELTA_AK,DELTA_BK BL_IC3A.426 +,EXNER BL_IC3A.427 BL_IC3A.428 C IN soil/vegetation/land surface data : BL_IC3A.429 +,LAND_MASK,GATHER,LAND_INDEX,ST_LEVELS AJS1F401.1082 +,SM_LEVELS,CANOPY,CATCH,HCAP,HCON,LAYER_DEPTH AJS1F401.1083 +,LYING_SNOW,RESIST,ROOTD,SMC,SMVCCL,SMVCWT,Z0V,SIL_OROG_LAND BL_IC3A.436 +,L_Z0_OROG,HO2R2_OROG BL_IC3A.437 BL_IC3A.438 C IN sea/sea-ice data : BL_IC3A.439 +,DI,ICE_FRACT,U_0,V_0 BL_IC3A.440 BL_IC3A.441 C IN cloud data : BL_IC3A.442 +,CF,QCF,QCL BL_IC3A.443 +,CCA,CCB,CCT BL_IC3A.444 BL_IC3A.445 C IN everything not covered so far : BL_IC3A.446 +,PSTAR,RADNET,TIMESTEP,L_RMBL,L_BL_LSPICE,L_MOM,L_MIXLEN ADM3F404.203 BL_IC3A.448 C INOUT data : BL_IC3A.449 +,Q,T,T_DEEP_SOIL,TSTAR,U,V,Z0MSEA BL_IC3A.450 BL_IC3A.451 C OUT Diagnostic not requiring STASH flags : BL_IC3A.452 +,CD,CH,E_SEA,FQW,FTL,H_SEA,RHOKH,RHOKM,RIB BL_IC3A.453 +,SEA_ICE_HTF,SOIL_HT_FLUX,TAUX,TAUY,VSHR BL_IC3A.454 BL_IC3A.455 C OUT diagnostic requiring STASH flags : BL_IC3A.456 +,FME,SICE_MLT_HTF,LATENT_HEAT,Q1P5M,T1P5M,U10M,V10M BL_IC3A.457 C (IN) STASH flags :- BL_IC3A.458 +,SFME,SIMLT,SLH,SQ1P5,ST1P5,SU10,SV10 ASJ1F401.6 BL_IC3A.460 C OUT data required for tracer mixing : BL_IC3A.461 &,NRML BL_IC3A.462 BL_IC3A.463 C OUT data required for 4D-VAR : BL_IC3A.464 &,RHO_CD_MODV1,RHO_KM BL_IC3A.465 BL_IC3A.466 C OUT data required elsewhere in UM system : BL_IC3A.467 +,ECAN,EI,ES,ZH,T1_SD,Q1_SD,ERROR BL_IC3A.468 BL_IC3A.469 C LOGICAL LTIMER BL_IC3A.470 +,LTIMER BL_IC3A.471 *IF DEF,SCMA AJC0F405.25 & ,FACTOR_RHOKH,OBS AJC0F405.26 *ENDIF AJC0F405.27 +) BL_IC3A.472 BL_IC3A.473 RETURN BL_IC3A.474 END BL_IC3A.475 BL_IC3A.476 *ENDIF BL_IC3A.477