*IF DEF,A03_7A SFLINT7A.2
C ******************************COPYRIGHT****************************** SFLINT7A.3
C (c) CROWN COPYRIGHT 1997, METEOROLOGICAL OFFICE, All Rights Reserved. SFLINT7A.4
C SFLINT7A.5
C Use, duplication or disclosure of this code is subject to the SFLINT7A.6
C restrictions as set forth in the contract. SFLINT7A.7
C SFLINT7A.8
C Meteorological Office SFLINT7A.9
C London Road SFLINT7A.10
C BRACKNELL SFLINT7A.11
C Berkshire UK SFLINT7A.12
C RG12 2SZ SFLINT7A.13
C SFLINT7A.14
C If no contract has been raised with this copy of the code, the use, SFLINT7A.15
C duplication or disclosure of it is strictly prohibited. Permission SFLINT7A.16
C to do so must first be obtained in writing from the Head of Numerical SFLINT7A.17
C Modelling at the above address. SFLINT7A.18
C ******************************COPYRIGHT****************************** SFLINT7A.19
C SFLINT7A.20
CLL SUBROUTINES SFL_INT_LAND and SFL_INT_SEA-------------------------- SFLINT7A.21
CLL SFLINT7A.22
CLL Purpose: To calculate interpolation coefficients for 10m winds SFLINT7A.23
CLL and 1.5m temperature/specific humidity diagnostics SFLINT7A.24
CLL using a generalisation of the method of Geleyn (1988). SFLINT7A.25
CLL SFLINT7A.26
CLL Suitable for single column use (via *IF definition IBM). SFLINT7A.27
CLL SFLINT7A.28
CLL Model Modification history: SFLINT7A.29
CLL version Date SFLINT7A.30
CLL SFLINT7A.31
CLL 3.4 18/10/94 *DECK inserted into UM version 3.4. S Jackson SFLINT7A.32
CLL SFLINT7A.33
CLL 4.0 30/12/94 Modified calculation of 10m wind interpolation SFLINT7A.34
CLL factor when effective roughness length used; SFLINT7A.35
CLL 10m wind assumed to lie on "local" profile at SFLINT7A.36
CLL height z0m+10 metres above the surface. SFLINT7A.37
CLL R.N.B.Smith SFLINT7A.38
CLL 4.2 Oct. 96 T3E migration - *DEF CRAY removed SFLINT7A.39
CLL S J Swarbrick SFLINT7A.40
CLL SFLINT7A.41
CLL 4.4 Jul. 97 Split into separate land and sea routines for SFLINT7A.42
CLL the MOSES II tile model (Richard Essery) SFLINT7A.43
CLL SFLINT7A.44
CLL Programming standard: Unified Model Documentation Paper No 4, SFLINT7A.45
CLL Version 2, dated 18/1/90. SFLINT7A.46
CLL SFLINT7A.47
CLL Logical component covered: Part of P243. SFLINT7A.48
CLL SFLINT7A.49
CLL System Task: SFLINT7A.50
CLL SFLINT7A.51
CLL External Documentation: UMDP No.24 SFLINT7A.52
CLL SFLINT7A.53
SFLINT7A.54
CLL--------------------------------------------------------------------- SFLINT7A.55
CLL SUBROUTINE SFL_INT_LAND SFLINT7A.56
CLL--------------------------------------------------------------------- SFLINT7A.57
SFLINT7A.58
SUBROUTINE SFL_INT_LAND ( 1,2SFLINT7A.59
& P_FIELD,LAND_FIELD,TILE_PTS,TILE_INDEX,LAND_INDEX, SFLINT7A.60
& CD_STD,CD,CH,RIB,TILE_FRAC,WIND_PROFILE_FACTOR, SFLINT7A.61
& Z0M,Z0M_EFF,Z0H,Z0F,Z1, SFLINT7A.62
& SU10,SV10,ST1P5,SQ1P5,LTIMER, SFLINT7A.63
& CDR10M,CHR1P5M SFLINT7A.64
& ) SFLINT7A.65
SFLINT7A.66
IMPLICIT NONE SFLINT7A.67
SFLINT7A.68
INTEGER SFLINT7A.69
& P_FIELD ! IN Number of P-grid points. SFLINT7A.70
&,LAND_FIELD ! IN Number of land points. SFLINT7A.71
&,TILE_PTS ! IN Number of tile points. SFLINT7A.72
&,TILE_INDEX(LAND_FIELD) SFLINT7A.73
! ! IN Index of tile points. SFLINT7A.74
&,LAND_INDEX(P_FIELD) SFLINT7A.75
! ! IN Index of land points. SFLINT7A.76
SFLINT7A.77
REAL SFLINT7A.78
& CD_STD(LAND_FIELD)! IN Surface drag coefficient for shear stress SFLINT7A.79
! ! only, i.e. without orographic part of drag SFLINT7A.80
&,CD(LAND_FIELD) ! IN Effective surface drag coefficient, SFLINT7A.81
! ! including orographic part of drag SFLINT7A.82
&,CH(LAND_FIELD) ! IN Surface transfer coefficient for heat and SFLINT7A.83
! ! moisture. SFLINT7A.84
&,RIB(LAND_FIELD) ! IN Bulk Richardson number for SFLINT7A.85
! ! lowest layer. SFLINT7A.86
&,TILE_FRAC(LAND_FIELD) SFLINT7A.87
! ! IN Tile fraction. SFLINT7A.88
&,WIND_PROFILE_FACTOR(LAND_FIELD) SFLINT7A.89
! ! IN Factor for converting effective friction SFLINT7A.90
! ! velocity to local one. SFLINT7A.91
&,Z0M(LAND_FIELD) ! IN Roughness length for momentum (m). SFLINT7A.92
&,Z0M_EFF(LAND_FIELD) SFLINT7A.93
! ! IN Effective roughness length for SFLINT7A.94
! ! momentum (m). SFLINT7A.95
&,Z0H(LAND_FIELD) ! IN Roughness length for heat and SFLINT7A.96
! ! moisture (m). SFLINT7A.97
&,Z0F(LAND_FIELD) ! IN Roughness length in the free SFLINT7A.98
! ! convective limit (m). SFLINT7A.99
&,Z1(P_FIELD) ! IN Height of lowest model level (m). SFLINT7A.100
SFLINT7A.101
LOGICAL SFLINT7A.102
& SU10 ! IN 10m U-wind diagnostic flag SFLINT7A.103
&,SV10 ! IN 10m V-wind diagnostic flag SFLINT7A.104
&,ST1P5 ! IN screen temp diagnostic flag SFLINT7A.105
&,SQ1P5 ! IN screen specific humidity SFLINT7A.106
! ! diagnostic flag SFLINT7A.107
&,LTIMER ! IN TIMER diagnostics flag SFLINT7A.108
SFLINT7A.109
REAL SFLINT7A.110
& CDR10M(P_FIELD) ! INOUT GBM interpolation coeff. for 10m wind SFLINT7A.111
&,CHR1P5M(LAND_FIELD) SFLINT7A.112
! ! OUT Local interpolation coefficient for 1.5m SFLINT7A.113
! ! temperature SFLINT7A.114
SFLINT7A.115
EXTERNAL TIMER SFLINT7A.116
SFLINT7A.117
! Local and other symbolic constants :- SFLINT7A.118
*CALL C_VKMAN
SFLINT7A.119
SFLINT7A.120
REAL Z1P5M,Z10M SFLINT7A.121
PARAMETER ( SFLINT7A.122
& Z1P5M = 1.5 ! for diagnosis of screen values of temperature SFLINT7A.123
! ! and humidity (assumed to be at 1.5m). SFLINT7A.124
&,Z10M = 10.0 ! for diagnosis of 10m winds. SFLINT7A.125
& ) SFLINT7A.126
SFLINT7A.127
! Define local storage. SFLINT7A.128
SFLINT7A.129
! (a) Local work arrays. SFLINT7A.130
SFLINT7A.131
REAL SFLINT7A.132
& Z1E(LAND_FIELD) ! Level 1 height + Z0M_EFF SFLINT7A.133
&,SQRTCD(LAND_FIELD) ! Square root of CD SFLINT7A.134
SFLINT7A.135
! (b) Scalars. SFLINT7A.136
SFLINT7A.137
REAL SFLINT7A.138
& Z1S ! Level 1 height + Z0M_EFF - Z0H SFLINT7A.139
&,Z1P5ME ! Z1P5M + Z0H SFLINT7A.140
&,Z10ME ! Z10M + Z0M SFLINT7A.141
&,SQRTCD_K ! Temporary storage in calc of 1.5 amd 10m diags SFLINT7A.142
&,Z_OVER_Z1 ! Temporary storage in calc of 1.5 amd 10m diags SFLINT7A.143
&,CDNZ ! Neutral drag coef. for momentum @ 10m SFLINT7A.144
&,CDNZ1 ! Neutral drag coef. for momentum @ level1 SFLINT7A.145
&,CHNZ ! Neutral drag coef. for heat/moisture @ 1.5m SFLINT7A.146
&,CHNZ1 ! Neutral drag coef. for heat/moisture @ level1 SFLINT7A.147
&,CDTEMP1 ! Workspace in calc of interpolation coeffs. SFLINT7A.148
&,CDTEMP2 ! Workspace in calc of interpolation coeffs. SFLINT7A.149
&,CDTEMP3 ! Workspace in calc of interpolation coeffs. SFLINT7A.150
&,CD10 ! Local interpolation coeff. for 10m wind SFLINT7A.151
SFLINT7A.152
INTEGER SFLINT7A.153
& I ! Loop counter (horizontal field index). SFLINT7A.154
&,J ! Loop counter (tile point index). SFLINT7A.155
&,L ! Loop counter (land point field index). SFLINT7A.156
SFLINT7A.157
IF (LTIMER) THEN SFLINT7A.158
CALL TIMER
('SFL_INT ',3) SFLINT7A.159
ENDIF SFLINT7A.160
SFLINT7A.161
!----------------------------------------------------------------------- SFLINT7A.162
! If selected calculate interpolation coefficient for 10m winds. SFLINT7A.163
!----------------------------------------------------------------------- SFLINT7A.164
SFLINT7A.165
IF(SU10.OR.SV10) THEN SFLINT7A.166
DO J=1,TILE_PTS SFLINT7A.167
L = TILE_INDEX(J) SFLINT7A.168
I = LAND_INDEX(L) SFLINT7A.169
SFLINT7A.170
Z1E(L) = Z1(I) + Z0M_EFF(L) SFLINT7A.171
Z10ME = Z10M + Z0M(L) SFLINT7A.172
CDNZ = LOG( Z10ME / Z0M(L) ) SFLINT7A.173
CDNZ1 = LOG( Z1E(L) / Z0M_EFF(L) ) SFLINT7A.174
SQRTCD(L) = SQRT(CD(L)) SFLINT7A.175
SQRTCD_K = SQRTCD(L) / VKMAN SFLINT7A.176
Z_OVER_Z1 = Z10M / Z1(I) SFLINT7A.177
SFLINT7A.178
IF (RIB(L).GE.0.0) THEN SFLINT7A.179
SFLINT7A.180
! Stable case SFLINT7A.181
SFLINT7A.182
CD10 = Z_OVER_Z1 + SQRTCD_K * SFLINT7A.183
& (CDNZ - Z_OVER_Z1*CDNZ1) SFLINT7A.184
ELSE SFLINT7A.185
SFLINT7A.186
! Unstable Case SFLINT7A.187
SFLINT7A.188
CDTEMP1 = EXP( 1.0 / SQRTCD_K ) SFLINT7A.189
CDTEMP2 = Z1E(L) / Z0M_EFF(L) SFLINT7A.190
CDTEMP3 = LOG( ( ( Z1E(L) - Z0M(L) ) * CDTEMP1 - SFLINT7A.191
& ( Z0M_EFF(L) - Z0M(L) ) * CDTEMP2 ) / SFLINT7A.192
& ( ( Z1E(L) - Z10ME ) * CDTEMP1 - SFLINT7A.193
& ( Z0M_EFF(L) - Z10ME ) * CDTEMP2 ) ) SFLINT7A.194
CD10 = SQRTCD_K * ( CDNZ + CDTEMP3 ) SFLINT7A.195
ENDIF SFLINT7A.196
CDR10M(I) = CDR10M(I) + SFLINT7A.197
& TILE_FRAC(L)*CD10*WIND_PROFILE_FACTOR(L) SFLINT7A.198
ENDDO SFLINT7A.199
ENDIF SFLINT7A.200
SFLINT7A.201
!----------------------------------------------------------------------- SFLINT7A.202
! If selected calculate interpolation coefficient for 1.5m screen SFLINT7A.203
! temperature and specific humidity. SFLINT7A.204
!----------------------------------------------------------------------- SFLINT7A.205
SFLINT7A.206
IF (ST1P5.OR.SQ1P5) THEN SFLINT7A.207
DO J=1,TILE_PTS SFLINT7A.208
L = TILE_INDEX(J) SFLINT7A.209
I = LAND_INDEX(L) SFLINT7A.210
SFLINT7A.211
! variables to be used later SFLINT7A.212
Z1E(L) = Z1(I) + Z0M_EFF(L) SFLINT7A.213
Z1S = Z1E(L) - Z0H(L) SFLINT7A.214
Z1P5ME = Z1P5M + Z0H(L) SFLINT7A.215
CHNZ = LOG( Z1P5ME / Z0H(L) ) SFLINT7A.216
CHNZ1 = LOG( Z1E(L) / Z0H(L) ) SFLINT7A.217
SQRTCD(L) = SQRT(CD_STD(L)) SFLINT7A.218
SQRTCD_K =0.0 SFLINT7A.219
IF (SQRTCD(L) .GT. 0.0) SQRTCD_K = CH(L) / (SQRTCD(L) * VKMAN) SFLINT7A.220
Z_OVER_Z1 = Z1P5M / Z1S SFLINT7A.221
SFLINT7A.222
! Stable case SFLINT7A.223
SFLINT7A.224
IF (RIB(L).GE.0.0) THEN SFLINT7A.225
CHR1P5M(L) = Z_OVER_Z1 + SQRTCD_K * SFLINT7A.226
& (CHNZ - Z_OVER_Z1 * CHNZ1) SFLINT7A.227
ELSE SFLINT7A.228
SFLINT7A.229
! Unstable Case SFLINT7A.230
SFLINT7A.231
CDTEMP1 = EXP(1.0 / SQRTCD_K) SFLINT7A.232
CDTEMP2 = ( Z1P5M * Z1E(L) + SFLINT7A.233
& Z0H(L) * ( Z1S - Z1P5M ) * CDTEMP1 ) / SFLINT7A.234
& ( Z1S * Z1P5ME ) SFLINT7A.235
CHR1P5M(L) = 1.0 - SQRTCD_K * LOG ( CDTEMP2 ) SFLINT7A.236
ENDIF SFLINT7A.237
SFLINT7A.238
ENDDO SFLINT7A.239
ENDIF SFLINT7A.240
SFLINT7A.241
IF (LTIMER) THEN SFLINT7A.242
CALL TIMER
('SFL_INT ',4) SFLINT7A.243
ENDIF SFLINT7A.244
SFLINT7A.245
RETURN SFLINT7A.246
END SFLINT7A.247
SFLINT7A.248
CLL--------------------------------------------------------------------- SFLINT7A.249
CLL SUBROUTINE SFL_INT_SEA SFLINT7A.250
CLL--------------------------------------------------------------------- SFLINT7A.251
SFLINT7A.252
SUBROUTINE SFL_INT_SEA ( 1,2SFLINT7A.253
& P_POINTS,P_FIELD,P1,CD,CH,RIB,Z0M,Z0H,Z0F,Z1, SFLINT7A.254
& LAND_MASK,SU10,SV10,ST1P5,SQ1P5,LTIMER, SFLINT7A.255
& CDR10M,CHR1P5M SFLINT7A.256
& ) SFLINT7A.257
SFLINT7A.258
IMPLICIT NONE SFLINT7A.259
SFLINT7A.260
INTEGER SFLINT7A.261
& P_POINTS ! IN Number of points to be processed. SFLINT7A.262
&,P_FIELD ! IN Total number points. SFLINT7A.263
&,P1 ! IN First point to be processed. SFLINT7A.264
SFLINT7A.265
REAL SFLINT7A.266
& CD(P_FIELD) ! IN Effective surface drag coefficient, SFLINT7A.267
! ! including orographic part of drag SFLINT7A.268
&,CH(P_FIELD) ! IN Surface transfer coefficient for heat SFLINT7A.269
! ! and moisture. SFLINT7A.270
&,RIB(P_FIELD) ! IN Bulk Richardson number for SFLINT7A.271
! ! lowest layer. SFLINT7A.272
&,Z0M(P_FIELD) ! IN Roughness length for momentum (m). SFLINT7A.273
&,Z0H(P_FIELD) ! IN Roughness length for heat and SFLINT7A.274
! ! moisture (m). SFLINT7A.275
&,Z0F(P_FIELD) ! IN Roughness length in the free SFLINT7A.276
! ! convective limit (m). SFLINT7A.277
&,Z1(P_FIELD) ! IN Height of lowest model level (m). SFLINT7A.278
SFLINT7A.279
LOGICAL SFLINT7A.280
& LAND_MASK(P_FIELD) ! IN T for land points, F otherwise. SFLINT7A.281
&,SU10 ! IN 10m U-wind diagnostic flag SFLINT7A.282
&,SV10 ! IN 10m V-wind diagnostic flag SFLINT7A.283
&,ST1P5 ! IN screen temp diagnostic flag SFLINT7A.284
&,SQ1P5 ! IN screen specific humidity SFLINT7A.285
! ! diagnostic flag SFLINT7A.286
&,LTIMER ! IN TIMER diagnostics flag SFLINT7A.287
SFLINT7A.288
REAL SFLINT7A.289
& CDR10M(P_FIELD) ! OUT interpolation coefficicent for 10m wind SFLINT7A.290
&,CHR1P5M(P_FIELD) ! OUT Interpolation coefficient for 1.5m SFLINT7A.291
! ! temperature SFLINT7A.292
SFLINT7A.293
EXTERNAL TIMER SFLINT7A.294
SFLINT7A.295
! Local and other symbolic constants :- SFLINT7A.296
*CALL C_VKMAN
SFLINT7A.297
REAL Z1P5M,Z10M SFLINT7A.298
PARAMETER ( SFLINT7A.299
& Z1P5M = 1.5 ! for diagnosis of screen values of temperature SFLINT7A.300
! ! and humidity (assumed to be at 1.5m). SFLINT7A.301
&,Z10M = 10.0 ! for diagnosis of 10m winds. SFLINT7A.302
& ) SFLINT7A.303
SFLINT7A.304
! Define local storage. SFLINT7A.305
SFLINT7A.306
! (a) Local work arrays. SFLINT7A.307
SFLINT7A.308
REAL SFLINT7A.309
& Z1E(P_FIELD) ! Level 1 height + Z0M SFLINT7A.310
&,SQRTCD(P_FIELD) ! Square root of CD SFLINT7A.311
SFLINT7A.312
! (b) Scalars. SFLINT7A.313
SFLINT7A.314
REAL SFLINT7A.315
& Z1S ! Level 1 height + Z0M - Z0H SFLINT7A.316
&,Z1P5ME ! Z1P5M + Z0H SFLINT7A.317
&,Z10ME ! Z10M + Z0M SFLINT7A.318
&,SQRTCD_K ! Temporary storage in calc of 1.5 amd 10m diags SFLINT7A.319
&,Z_OVER_Z1 ! Temporary storage in calc of 1.5 amd 10m diags SFLINT7A.320
&,CDNZ ! Neutral drag coef. for momentum @ 10m SFLINT7A.321
&,CDNZ1 ! Neutral drag coef. for momentum @ level1 SFLINT7A.322
&,CHNZ ! Neutral drag coef. for heat/moisture @ 1.5m SFLINT7A.323
&,CHNZ1 ! Neutral drag coef. for heat/moisture @ level1 SFLINT7A.324
&,CDTEMP1 ! Workspace in calc of interpolation coeffs. SFLINT7A.325
&,CDTEMP2 ! Workspace in calc of interpolation coeffs. SFLINT7A.326
&,CDTEMP3 ! Workspace in calc of interpolation coeffs. SFLINT7A.327
SFLINT7A.328
INTEGER SFLINT7A.329
& I ! Loop counter (horizontal field index). SFLINT7A.330
SFLINT7A.331
IF (LTIMER) THEN SFLINT7A.332
CALL TIMER
('SFL_INT ',3) SFLINT7A.333
ENDIF SFLINT7A.334
SFLINT7A.335
DO I=P1,P1+P_POINTS-1 SFLINT7A.336
SQRTCD(I) = SQRT(CD(I)) SFLINT7A.337
Z1E(I) = Z1(I) + Z0M(I) SFLINT7A.338
ENDDO SFLINT7A.339
SFLINT7A.340
!----------------------------------------------------------------------- SFLINT7A.341
! If selected calculate interpolation coefficient for 10m winds. SFLINT7A.342
!----------------------------------------------------------------------- SFLINT7A.343
SFLINT7A.344
IF(SU10.OR.SV10) THEN SFLINT7A.345
DO I=P1,P1+P_POINTS-1 SFLINT7A.346
IF ( .NOT. LAND_MASK(I) ) THEN SFLINT7A.347
SFLINT7A.348
Z10ME = Z10M + Z0M(I) SFLINT7A.349
CDNZ = LOG( Z10ME / Z0M(I) ) SFLINT7A.350
CDNZ1 = LOG( Z1E(I) / Z0M(I) ) SFLINT7A.351
SQRTCD_K = SQRTCD(I) / VKMAN SFLINT7A.352
Z_OVER_Z1 = Z10M / Z1(I) SFLINT7A.353
SFLINT7A.354
IF (RIB(I).GE.0.0) THEN SFLINT7A.355
SFLINT7A.356
! Stable case SFLINT7A.357
SFLINT7A.358
CDR10M(I) = Z_OVER_Z1 + SQRTCD_K * SFLINT7A.359
& (CDNZ - Z_OVER_Z1*CDNZ1) SFLINT7A.360
ELSE SFLINT7A.361
SFLINT7A.362
! Unstable Case SFLINT7A.363
SFLINT7A.364
CDTEMP1 = EXP( 1.0 / SQRTCD_K ) SFLINT7A.365
CDTEMP2 = Z1E(I) / Z0M(I) SFLINT7A.366
CDTEMP3 = LOG( Z1(I)* CDTEMP1 / SFLINT7A.367
& ((Z1(I) - Z10M)*CDTEMP1 + Z10ME*CDTEMP2) ) SFLINT7A.368
CDR10M(I) = SQRTCD_K * ( CDNZ + CDTEMP3 ) SFLINT7A.369
ENDIF SFLINT7A.370
SFLINT7A.371
ENDIF SFLINT7A.372
ENDDO SFLINT7A.373
ENDIF SFLINT7A.374
SFLINT7A.375
!----------------------------------------------------------------------- SFLINT7A.376
! If selected calculate interpolation coefficient for 1.5m screen SFLINT7A.377
! temperature and specific humidity. SFLINT7A.378
!----------------------------------------------------------------------- SFLINT7A.379
SFLINT7A.380
IF (ST1P5.OR.SQ1P5) THEN SFLINT7A.381
DO I=P1,P1+P_POINTS-1 SFLINT7A.382
IF ( .NOT. LAND_MASK(I) ) THEN SFLINT7A.383
SFLINT7A.384
! variables to be used later SFLINT7A.385
Z1S = Z1E(I) - Z0H(I) SFLINT7A.386
Z1P5ME = Z1P5M + Z0H(I) SFLINT7A.387
CHNZ = LOG( Z1P5ME / Z0H(I) ) SFLINT7A.388
CHNZ1 = LOG( Z1E(I) / Z0H(I) ) SFLINT7A.389
SQRTCD(I) = SQRT(CD(I)) SFLINT7A.390
SQRTCD_K =0.0 SFLINT7A.391
IF (SQRTCD(I) .GT. 0.0) SFLINT7A.392
& SQRTCD_K = CH(I) / (SQRTCD(I) * VKMAN) SFLINT7A.393
Z_OVER_Z1 = Z1P5M / Z1S SFLINT7A.394
SFLINT7A.395
! Stable case SFLINT7A.396
SFLINT7A.397
IF (RIB(I).GE.0.0) THEN SFLINT7A.398
CHR1P5M(I) = Z_OVER_Z1 + SQRTCD_K * SFLINT7A.399
& (CHNZ - Z_OVER_Z1 * CHNZ1) SFLINT7A.400
ELSE SFLINT7A.401
SFLINT7A.402
! Unstable Case SFLINT7A.403
SFLINT7A.404
CDTEMP1 = EXP(1.0 / SQRTCD_K) SFLINT7A.405
CDTEMP2 = ( Z1P5M * Z1E(I) + SFLINT7A.406
& Z0H(I) * ( Z1S - Z1P5M ) * CDTEMP1 ) / SFLINT7A.407
& ( Z1S * Z1P5ME ) SFLINT7A.408
CHR1P5M(I) = 1.0 - SQRTCD_K * LOG ( CDTEMP2 ) SFLINT7A.409
ENDIF SFLINT7A.410
SFLINT7A.411
ENDIF SFLINT7A.412
ENDDO SFLINT7A.413
ENDIF SFLINT7A.414
SFLINT7A.415
IF (LTIMER) THEN SFLINT7A.416
CALL TIMER
('SFL_INT ',4) SFLINT7A.417
ENDIF SFLINT7A.418
SFLINT7A.419
RETURN SFLINT7A.420
END SFLINT7A.421
*ENDIF SFLINT7A.422