1 2 SUBROUTINE URBCALC 3 !*********************************************************************** 4 ! URBCALC Module of the AMS/EPA Regulatory Model - AERMOD 5 ! 6 ! PURPOSE: Calculates Parameters for Urban Stable Boundary Layer 7 ! 8 ! PROGRAMMER: Roger Brode, PES, Inc. 9 ! 10 ! DATE: June 11, 1996 11 ! 12 ! MODIFIED: Calculate an urban ustar by setting equivalence 13 ! between convective sigma-w based on urban wtar 14 ! and mechanical sigma-w based on urban ustar at 15 ! a height of 7 times the urban roughness length. 16 ! R.W. Brode, PES, Inc., - 06/10/02 17 ! 18 ! MODIFIED: To set the value for Z_iuo at 400m instead of 19 ! 500m in calculation of ZIURB, based on observed data. 20 ! R.W. Brode, PES, Inc., - 04/08/02 21 ! 22 ! INPUTS: Meteorological Variables for One Hour 23 ! 24 ! OUTPUTS: Urban Mixing Height, Heat Flux, and "Convective 25 ! Velocity Scale" 26 ! 27 ! ASSUMPTIONS: <none> 28 ! 29 ! CALLED FROM: METEXT 30 !*********************************************************************** 31 32 !---- Variable declarations 33 USE MAIN1 34 IMPLICIT NONE 35 CHARACTER MODNAM*12 36 REAL :: DELTUR , URBHF , RHO , HT7Z0 37 38 SAVE 39 40 !---- Variable initializations 41 MODNAM = 'URBCAL' ! 0 42 43 ! Compute Urban-Rural Temperature Difference (DELTRUR = 12.0) 44 !RWB DELTUR = DELTRUR * (0.1046 * ALOG(URBPOP/REFPOP) + 0.9983) 45 !RWB Use rounded values for parameters 46 DELTUR = DELTRUR*(0.1*ALOG(URBPOP/REFPOP)+1.0) 47 48 ! Compute Urban Convective Mixing Height 49 ZIURB = 400.0*(URBPOP/REFPOP)**0.25 50 51 ! Compute Urban Heat Flux, and recalculate Monin-Obukhov length 52 URBHF = 0.03*DELTUR*USTAR 53 RHO = 101325./(287.04*TA) 54 55 ! Compute Urban WSTAR 56 URBWSTR = ((G/TA)*URBHF*ZIURB)**0.333333 57 58 ! Compute Urban USTAR; first set height for equivalence between 59 ! convective and mechanical sigma-w as 7 times the maximum of the 60 ! rural and urban surface roughness length. 61 HT7Z0 = 7.*MAX(URBZ0,SFCZ0) 62 URBUSTR = MAX(USTAR,SQRT(1.6*(HT7Z0/ZIURB)**0.6667) & 63 & /(1.3*(1.-HT7Z0/MAX(ZIURB,ZIMECH))**0.5)*URBWSTR) 64 65 ! Compute equivalent Monin-Obukhov length 66 URBOBULEN = -((TA*URBUSTR**3)/(0.4*G*URBHF)) 67 68 ! Save Rural values of USTAR and OBULEN 69 RURUSTR = USTAR 70 RUROBULEN = OBULEN 71 72 CONTINUE 73 END
HyperKWIC - Version 1.00DD executed at 20:00 on 1 Mar 2018 | Personal or Academic or Evaluation User | Free for Non-Commercial, Non-Government Use