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