*IF DEF,A08_5A HYD_IC5A.2
C *****************************COPYRIGHT****************************** HYD_IC5A.3
C (c) CROWN COPYRIGHT 1996, METEOROLOGICAL OFFICE, All Rights Reserved. HYD_IC5A.4
C HYD_IC5A.5
C Use, duplication or disclosure of this code is subject to the HYD_IC5A.6
C restrictions as set forth in the contract. HYD_IC5A.7
C HYD_IC5A.8
C Meteorological Office HYD_IC5A.9
C London Road HYD_IC5A.10
C BRACKNELL HYD_IC5A.11
C Berkshire UK HYD_IC5A.12
C RG12 2SZ HYD_IC5A.13
C HYD_IC5A.14
C If no contract has been raised with this copy of the code, the use, HYD_IC5A.15
C duplication or disclosure of it is strictly prohibited. Permission HYD_IC5A.16
C to do so must first be obtained in writing from the Head of Numerical HYD_IC5A.17
C Modelling at the above address. HYD_IC5A.18
C ******************************COPYRIGHT****************************** HYD_IC5A.19
! Subroutine HYD_INTCTL------------------------------------------ HYD_IC5A.20
! HYD_IC5A.21
! Level 3 control routine HYD_IC5A.22
! HYD_IC5A.23
! Purpose: Calls HYDROL to calculate and add hydrology increments. HYD_IC5A.24
! Avoids the need for *IF DEF around calls to different HYD_IC5A.25
! versions of HYDROL. HYD_IC5A.26
! Multilayer Version. HYD_IC5A.27
! HYD_IC5A.28
! Written for the CRAY YMP HYD_IC5A.29
! HYD_IC5A.30
! Author C.Bunton Reviewer J.Lean 4/10/94 HYD_IC5A.31
! HYD_IC5A.32
! Modification history: HYD_IC5A.33
! HYD_IC5A.34
! version Date HYD_IC5A.35
! 4.1 5/6/96 New deck. HYD_IC5A.36
! 4.4 29/10/97 Modified for prognostic snow albedo scheme ARE2F404.426
! ARE2F404.427
! HYD_IC5A.37
! Programming standard : unified model documentation paper No 3 HYD_IC5A.38
! HYD_IC5A.39
! System components covered : P25 HYD_IC5A.40
! HYD_IC5A.41
! System task : P0 HYD_IC5A.42
! HYD_IC5A.43
! Documentation: Unified Model documentation paper P0 HYD_IC5A.44
! version No 11 dated (26/11/90) HYD_IC5A.45
! END ----------------------------------------------------------------- HYD_IC5A.46
! Arguments HYD_IC5A.47
HYD_IC5A.48
SUBROUTINE HYD_INTCTL( 2,3HYD_IC5A.49
& LAND,LICE_PTS,LICE_INDEX,ST_LEVELS,SM_LEVELS, HYD_IC5A.50
& SOIL_PTS,SOIL_INDEX, HYD_IC5A.51
& B_EXP,CAN_CPY,CANOPY_EVAPORATION, HYD_IC5A.52
& CONV_RAIN,CONV_SNOW,EXT, HYD_IC5A.53
& HCAP,HCON,INFIL_FAC, HYD_IC5A.54
& LAYER_DEPTH,LS_RAIN,LS_SNOW, HYD_IC5A.55
& ROOTD,SATCON,SATHH,SNOW_SUBLIMATION, HYD_IC5A.56
& SOILB,SOIL_EVAPORATION,SURF_HT_FLUX, HYD_IC5A.57
& VFRAC,VSAT,VWILT,TIMESTEP, HYD_IC5A.58
& CAN_WCNT,RGRAIN,L_SNOW_ALBEDO,SNODEP,STHF,STHU, ARE2F404.428
& TSTAR,T_DEEP_SOIL, HYD_IC5A.60
& INFIL,STF_HF_SNOW_MELT, HYD_IC5A.61
& HF_SNOW_MELT,SMC,SMCL, HYD_IC5A.62
& SNOW_MELT,STF_HF_SNOMLT_SUB, HYD_IC5A.63
& SNOMLT_SUB_HTF, HYD_IC5A.64
& STF_SUB_SURF_ROFF,SUB_SURF_ROFF,SURF_ROFF, HYD_IC5A.65
& TOT_TFALL HYD_IC5A.66
! Additional arguments for 7A hydrology (MOSES II) ARE1F404.325
& ,TILE_PTS,TILE_INDEX ARE1F404.326
& ,CAN_CPY_TILE,CAN_EVAP_TILE ARE1F404.327
& ,FRAC,SNOW_FRAC,SOIL_SURF_HTF,SNOW_SURF_HTF,TSTAR_SNOW ARE1F404.328
& ,CAN_WCNT_TILE,TSNOW ARE1F404.329
C LOGICAL LTIMER HYD_IC5A.67
+,LTIMER HYD_IC5A.68
+) HYD_IC5A.69
HYD_IC5A.70
IMPLICIT NONE HYD_IC5A.71
HYD_IC5A.72
!---------------------------------------------------------------------- HYD_IC5A.73
! Some of the following variables are 'dummy' as they are used by HYD_IC5A.74
! other HYDROL versions HYD_IC5A.75
!--------------------------------------------------------------------- HYD_IC5A.76
!--------------------------------------------------------------------- HYD_IC5A.77
! IN Variables HYD_IC5A.78
!---------------------------------------------------------------------- HYD_IC5A.79
INTEGER HYD_IC5A.80
& LAND, ! IN No. land only points HYD_IC5A.81
& LICE_PTS, ! IN No. of land-ice points HYD_IC5A.82
& LICE_INDEX(LAND), ! IN Index of land-ice pts. HYD_IC5A.83
! ! on land grid HYD_IC5A.84
& SM_LEVELS, ! IN No. of soil moisture levels HYD_IC5A.85
& ST_LEVELS, ! IN No. deep soil temp. levels HYD_IC5A.86
& SOIL_PTS, ! IN No. of soil points HYD_IC5A.87
! ! excludes land-ice points HYD_IC5A.88
& SOIL_INDEX(LAND) ! IN Index of soil points on land HYD_IC5A.89
! ! grid excludes land-ice pts. HYD_IC5A.90
REAL HYD_IC5A.91
& B_EXP(LAND), ! IN Exponent used in calculation HYD_IC5A.92
! ! of soil water suction and HYD_IC5A.93
! ! hydraulic conductivity HYD_IC5A.94
& CAN_CPY(LAND), ! IN Canopy Capacity (Kg/m2) HYD_IC5A.95
& CANOPY_EVAPORATION(LAND), ! IN Canopy evaporation (Kg/m2/s) HYD_IC5A.96
& CONV_RAIN(LAND), ! IN Convective rain (Kg/m2/s) HYD_IC5A.97
& CONV_SNOW(LAND), ! IN Convective snow(Kg/m2/s) HYD_IC5A.98
& EXT(LAND,SM_LEVELS), ! IN Extraction of water from each HYD_IC5A.99
! ! soil layer (kg/m2/s) HYD_IC5A.100
& HCAP(LAND), ! IN Soil heat capacity (J/K/m3) HYD_IC5A.101
& HCON(LAND), ! IN Soil thermal conductivity (W/M/K) HYD_IC5A.102
& INFIL_FAC(LAND), ! IN Infiltration enhancement factor HYD_IC5A.103
& LAYER_DEPTH(SM_LEVELS), ! IN Layer depths HYD_IC5A.104
& LS_RAIN(LAND), ! IN large scale rain (Kg/m2/s) HYD_IC5A.105
& LS_SNOW(LAND), ! IN large scale snow (Kg/m2/s) HYD_IC5A.106
& ROOTD(LAND), ! IN Root depth (m) HYD_IC5A.107
& SATCON(LAND), ! IN Saturated hydraulic conductivity HYD_IC5A.108
! ! (Kg/m2/s) HYD_IC5A.109
& SATHH(LAND), ! IN Soil water suction (m) HYD_IC5A.110
& SNOW_SUBLIMATION(LAND), ! IN Sublimation of snow (Kg/m2/s) HYD_IC5A.111
& SOILB, ! IN Dummy HYD_IC5A.112
& SOIL_EVAPORATION(LAND), ! IN Surface evaporation (Kg/m2/s) HYD_IC5A.113
& SURF_HT_FLUX(LAND), ! IN Net downward surface heat flux HYD_IC5A.114
! ! (W/m2) HYD_IC5A.115
& TSTAR(LAND), ! IN Surface temperature (K) ARE2F404.429
& VFRAC(LAND), ! IN Vegetated fraction HYD_IC5A.116
& VSAT(LAND), ! IN Volumetric soil moisture content HYD_IC5A.117
! ! at saturation (m3/m3 soil) HYD_IC5A.118
& VWILT(LAND), ! IN Volumetric soil moisture at HYD_IC5A.119
! ! wilting point (m3/m3 soil) HYD_IC5A.120
& TIMESTEP ! IN seconds between HYD_IC5A.121
! ! physics routines call HYD_IC5A.122
HYD_IC5A.123
LOGICAL HYD_IC5A.124
& L_SNOW_ALBEDO, ! IN Flag for prognostic snow albedo ARE2F404.430
& STF_HF_SNOW_MELT, ! IN Stash flag for snow melt heat HYD_IC5A.125
! ! flux HYD_IC5A.126
& STF_HF_SNOMLT_SUB, ! IN Stash flag for sub-surface HYD_IC5A.127
! ! snow melt heat flux HYD_IC5A.128
& STF_SUB_SURF_ROFF ! IN Stash flag for sub-surface runoff HYD_IC5A.129
!--------------------------------------------------------------------- HYD_IC5A.130
! INOUT Variables HYD_IC5A.131
!---------------------------------------------------------------------- HYD_IC5A.132
REAL HYD_IC5A.133
& CAN_WCNT(LAND), ! INOUT Canopy water content (Kg/m2) HYD_IC5A.134
& RGRAIN(LAND), ! INOUT Snow grain size (microns) ARE2F404.431
& SNODEP(LAND), ! INOUT Snow depth (Kg of water) HYD_IC5A.135
& STHF(LAND,SM_LEVELS), ! INOUT Frozen soil moisture content HYD_IC5A.136
! ! of each layer as a fraction HYD_IC5A.137
! ! of saturation HYD_IC5A.138
& STHU(LAND,SM_LEVELS), ! INOUT UNfrozen soil moisture cont HYD_IC5A.139
! ! of each layer as a fraction HYD_IC5A.140
! ! of saturation HYD_IC5A.141
& T_DEEP_SOIL(LAND,ST_LEVELS) ! INOUT Deep soil temps. (K) HYD_IC5A.143
!--------------------------------------------------------------------- HYD_IC5A.144
! OUT Variables HYD_IC5A.145
!---------------------------------------------------------------------- HYD_IC5A.146
REAL HYD_IC5A.147
& INFIL(LAND), ! OUT Maximum surface infiltration HYD_IC5A.148
! ! rate (kg/m2/s) HYD_IC5A.149
& HF_SNOW_MELT(LAND), ! OUT Total snow melt heat flux (W/m2) HYD_IC5A.150
& SMC(LAND), ! OUT Available soil moisture HYD_IC5A.151
! (Kg/m2/s) HYD_IC5A.152
& SMCL(LAND,SM_LEVELS), ! OUT Soil moisture content of each HYD_IC5A.153
! ! layer (Kg/Kg) HYD_IC5A.154
HYD_IC5A.155
& SNOW_MELT(LAND), ! OUT Snow melt (Kg/m2/s) HYD_IC5A.156
& SNOMLT_SUB_HTF(LAND), ! OUT Sub-surface snow melt heat flux HYD_IC5A.157
! ! (W/m2) HYD_IC5A.158
& SUB_SURF_ROFF(LAND), ! OUT Subsurface runoff (Kg/m2/s) HYD_IC5A.159
& SURF_ROFF(LAND), ! OUT Surface runoff (Kg/m2/s) HYD_IC5A.160
& TOT_TFALL(LAND) ! OUT Total throughfall (Kg/m2/s) HYD_IC5A.161
! HYD_IC5A.162
! Additional arguments for 7A hydrology (MOSES II) ARE1F404.330
*CALL NSTYPES
ARE1F404.331
INTEGER ARE1F404.332
& TILE_PTS(NTYPE), ARE1F404.333
& TILE_INDEX(NTYPE) ARE1F404.334
REAL ARE1F404.335
& CAN_CPY_TILE(NTYPE-1), ARE1F404.336
& CAN_EVAP_TILE(NTYPE-1), ARE1F404.337
& CAN_WCNT_TILE(NTYPE-1), ARE1F404.338
& FRAC(NTYPE), ARE1F404.339
& SNOW_FRAC, ARE1F404.340
& SOIL_SURF_HTF, ARE1F404.341
& SNOW_SURF_HTF, ARE1F404.342
& TSTAR_SNOW, ARE1F404.343
& TSNOW ARE1F404.344
ARE1F404.345
! HYD_IC5A.163
LOGICAL LTIMER ! Logical switch for TIMER diags HYD_IC5A.164
! HYD_IC5A.165
! CHARACTER*80 HYD_IC5A.166
! & CMESSAGE ! Error message if return code >0 HYD_IC5A.167
HYD_IC5A.168
! External subroutines called HYD_IC5A.169
HYD_IC5A.170
EXTERNAL HYD_IC5A.171
& HYDROL HYD_IC5A.172
HYD_IC5A.173
HYD_IC5A.174
!--------------- SECTION 8 HYDROLOGY ----------------------------------- HYD_IC5A.175
HYD_IC5A.176
! 8.2 Call HYDROL to calculate and add hydrology increments HYD_IC5A.177
HYD_IC5A.178
! As ST_LEVELS = SM_LEVELS in the MOSES scheme (HYDROL5A) only HYD_IC5A.179
! SM_LEVELS is input to HYDROL5A to avoid changing the variable NSHYD HYD_IC5A.180
! in HYDROL and below. HYD_IC5A.181
! HYD_IC5A.182
CALL HYDROL
( HYD_IC5A.183
& LICE_PTS,LICE_INDEX,SOIL_PTS,SOIL_INDEX, HYD_IC5A.184
& LAND,SM_LEVELS, HYD_IC5A.185
& B_EXP,CAN_CPY, HYD_IC5A.186
& CONV_RAIN,CONV_SNOW,CANOPY_EVAPORATION, HYD_IC5A.187
& EXT,HCAP,HCON,INFIL_FAC,LS_RAIN,LS_SNOW, HYD_IC5A.188
& ROOTD,SATCON,SATHH,SNOW_SUBLIMATION, HYD_IC5A.189
& SURF_HT_FLUX,TIMESTEP, HYD_IC5A.190
& VFRAC,VSAT,VWILT, HYD_IC5A.191
& TSTAR,RGRAIN,L_SNOW_ALBEDO, ARE2F404.432
& CAN_WCNT, HYD_IC5A.192
& HF_SNOW_MELT, HYD_IC5A.193
& STF_HF_SNOW_MELT,SMCL, HYD_IC5A.194
& STHF,STHU,SNODEP,T_DEEP_SOIL, HYD_IC5A.195
& INFIL,SMC,SNOW_MELT, HYD_IC5A.196
& SNOMLT_SUB_HTF, HYD_IC5A.197
& STF_SUB_SURF_ROFF, HYD_IC5A.198
& SUB_SURF_ROFF,SURF_ROFF, HYD_IC5A.199
& TOT_TFALL HYD_IC5A.200
C LOGICAL LTIMER HYD_IC5A.201
+,LTIMER HYD_IC5A.202
+) HYD_IC5A.203
HYD_IC5A.204
HYD_IC5A.205
RETURN HYD_IC5A.206
END HYD_IC5A.207
*ENDIF HYD_IC5A.208