1 MODULE module_bioemi_simple
3 ! make sure that whatever you put in here agrees with dry_dep_simple
4 ! and met model luse stuff. This should be improved, but currently,
5 ! there is only usgs in wrf
8 INTEGER, PARAMETER :: nlu = 25, &
9 iswater_temp = 16,isice_temp = 24
10 REAL :: aefiso(nlu), aefmter(nlu), aefovoc(nlu), aef_n(nlu)
11 CHARACTER (4),PARAMETER :: mminlu_loc = 'USGS'
12 INTEGER :: ixxxlu(nlu)
16 SUBROUTINE bio_emissions(id,ktau,dtstep,DX, &
18 gmt,julday,t_phy,moist,p8w,t8w, &
19 e_bio,p_phy,chem,rho_phy,dz8w,ne_area, &
20 ivgtyp,gsw,vegfra,rmol,ust,znt,xlat,xlong,z_at_w, &
22 ids,ide, jds,jde, kds,kde, &
23 ims,ime, jms,jme, kms,kme, &
24 its,ite, jts,jte, kts,kte )
26 USE module_state_description
28 INTEGER, INTENT(IN ) :: id,julday, ne_area, &
29 ids,ide, jds,jde, kds,kde, &
30 ims,ime, jms,jme, kms,kme, &
31 its,ite, jts,jte, kts,kte,numgas
32 INTEGER, INTENT(IN ) :: &
34 REAL, DIMENSION( ims:ime, kms:kme, jms:jme, num_moist ), &
36 REAL, DIMENSION( ims:ime, kms:kme, jms:jme, num_chem ), &
37 INTENT(INOUT ) :: chem
38 REAL, DIMENSION( ims:ime, jms:jme, ne_area ), &
39 INTENT(INOUT ) :: e_bio
40 REAL, DIMENSION( ims:ime , kms:kme , jms:jme ) , &
47 INTEGER,DIMENSION( ims:ime , jms:jme ) , &
50 REAL, DIMENSION( ims:ime , jms:jme ) , &
59 REAL, INTENT(IN ) :: &
61 !--- deposition and emissions stuff
63 TYPE(grid_config_rec_type), INTENT(IN ) :: config_flags
68 ! INTEGER, PARAMETER :: nlu = 25, &
69 ! nseason = 1, nseasons = 2
70 ! REAL :: aefiso(nlu), aefmter(nlu), aefovoc(nlu), aef_n(nlu), &
72 REAL :: emiss_bio(numgas)
73 LOGICAL :: highnh3, rainflag, vegflag, wetflag
74 CHARACTER (4) :: luse_typ
77 REAL :: clwchem,eiso,eisoc,emter,emterc,eovoc,eovocc,e_n,e_nn, &
78 pa,rad, rhchem, ta, ustar, vegfrac, vocsc, xtimin, z1,zntt
79 INTEGER :: i,j,iland, iprt, iseason, n, nr, ipr,jpr,nvr
82 ! .. Intrinsic Functions ..
86 ! print *,'luse_typ,iswater',luse_typ,iswater_temp
88 if(julday.lt.90.or.julday.gt.270)then
90 CALL wrf_debug(100,'setting iseason in bio_emi to 2')
94 ! test program to test chemics stuff in 1-d
96 ! first prepare for biogenic emissions
98 CALL bioemiin(iseason,luse_typ,vegflag)
104 vegfrac = vegfra(i,j)
105 pa = .01*p_phy(i,kts,j)
106 clwchem = moist(i,kts,j,p_qc)
109 z1 = z_at_w(i,kts+1,j)-z_at_w(i,kts,j)
111 ! Set logical default values
116 if(moist(i,kts,j,p_qr).gt.0.)rainflag = .true.
117 ! if(raincv(i,kts,j).gt.0. .and. rainncv(i,kts,j).gt.0. )rainflag = .true.
119 ! qvs = 380.*exp(17.27*(tair-273.)/(tair-36.))/pressure
120 rhchem = MIN( 100.,100. * moist(i,kts,j,p_qv) / &
121 (3.80*exp(17.27*(t_phy(i,kts,j)-273.)/(t_phy(i,kts,j)-36.))/pa))
122 rhchem = max(rhchem,5.)
123 if (rhchem >= 95.) wetflag = .true.
124 ! print *,chem(i,kts,j,p_nh3),chem(i,kts,j,p_so2)
125 if(chem(i,kts,j,p_nh3).gt.2.*chem(i,kts,j,p_so2))highnh3 = .true.
127 !--- biogenic emissions
129 CALL biogen(iland,ta,rad,eiso,emter,eovoc,e_n,vocsc,eisoc,emterc,eovocc, &
130 e_nn,pa,luse_typ,iseason,vegflag)
131 ! if(i.eq.5.and.j.eq.5)then
133 ! print *,ta,rad,vocsc,pa,luse_typ,aefiso,aefovoc,aefmter, &
134 ! aef_n,ixxxlu,vegflag,isice_temp,iswater_temp
135 ! PRINT *, eiso, emter, eovoc, e_n, eisoc, eovocc
138 ! PRINT *, eiso, emter, eovoc, e_n, eisoc, eovocc
139 CALL biosplit(iland,eiso,emter,eovoc,e_n,emiss_bio,numgas,vegfrac, &
141 ! PRINT *, 'emiss_bio(liso) emiss_bio(lald) emiss_bio(lhcho) ', &
143 ! PRINT *, emiss_bio(liso), emiss_bio(lald), emiss_bio(lhcho), &
145 ! DO n = 1, numgas-2 !wig, 22-May-2006: CBMZ uses more species than ne_area so would get array overwrites
147 e_bio(i,j,n) = emiss_bio(n)
148 ! if(i.eq.5.and.j.eq.5)print *,emiss_bio(n)
151 END SUBROUTINE bio_emissions
152 ! **********************************************************************
153 ! ********************** SUBROUTINE BIOEMIIN **************************
154 ! **********************************************************************
155 SUBROUTINE bioemiin(isn,mminlu,vegflag)
156 !**********************************************************************
157 ! THIS SUBROUTINE INITIALIZES THE EMISSION FACTORS
158 ! AND THE SIMPLIFIED LANDUSE SCHEME
159 ! FOR THE BIOGENIC EMISSION AND DEPOSITION SUBROUTINES
160 ! WRITTEN BY: WINFRIED SEIDL (MARCH 2000)
163 !**********************************************************************
164 !**********************************************************************
165 ! REFERENCES FOR EMISSION FACTORS:
166 ! (S+R) T. Schoenemeyer and K. Richter
167 ! (S95) D. Simpson, A. Guenther, C. N. Hewitt, and R. Steinbrecher
168 ! J. Geophysical Research 100D (1995), 22875-22890
169 ! (G94) A. Guenther, P. Zimmerman and M. Wildermuth
170 ! Atmospheric Environment 28 (1994), 1197-1210
171 ! (Z88) P. R. Zimmerman, J. P. Greenberg, and C. E. Westberg
172 ! J. Geophysical Research 93D (1988), 1407-1416
173 ! (K88) W. A. Kaplan, S. C. Wofsy, M. Keller, and J. M. da Costa
174 ! J. Geophysical Research 93D (1988), 1389-1395
175 ! (K94) L. F. Klinger, P. R. Zimmermann, J. P. Greenberg, L. E. Hei
177 ! J. Geophysical Research 99D (1994), 1469-1494
178 ! ---------------------------------------------------------
179 ! PCU/NCAR landuse categories:
180 ! 1 Highrise urban area
181 ! 2 Agricultural land
182 ! 3 Grassland, rangeland
184 ! 5 Coniferous forest
185 ! 6 Mixed forest (including wetland)
187 ! 8 Wet rangeland, nonforested wetland
191 ! 12 Tropical forest land
193 ! ---------------------------------------------------------
194 ! USGS landuse categories:
195 ! 1 Urban and built-up land
196 ! 2 Dryland cropland and pasture
197 ! 3 Irrigated cropland and pasture
198 ! 4 Mix. dry/irrg. cropland and pasture
199 ! 5 Cropland/grassland mosaic
200 ! 6 Cropland/woodland mosaic
203 ! 9 Mixed shrubland/grassland
205 ! 11 Deciduous broadleaf forest
206 ! 12 Deciduous needleleaf forest
207 ! 13 Evergreen broadleaf forest
208 ! 14 Evergreen needleleaf forest
211 ! 17 Herbaceous wetland
213 ! 19 Barren or sparsely vegetated
214 ! 20 Herbaceous Tundra
217 ! 23 Bare Ground Tundra
220 ! ---------------------------------------------------------
221 ! SiB landuse categories:
222 ! 1 Evergreen broadleaf trees
223 ! 2 Broadleaf deciduous trees
224 ! 3 Deciduous and evergreen trees
225 ! 4 Evergreen needleleaf trees
226 ! 5 Deciduous needleleaf trees
227 ! 6 Ground cover with trees and shrubs
228 ! 7 Ground cover only
229 ! 8 Broadleaf shrub with Perennial ground cover
230 ! 9 Broadleaf shrub with bare soil
231 ! 10 Groundcover with dwarf trees and shrubs
233 ! 12 Agriculture or C3 grassland
234 ! 13 Persistent Wetland
235 ! 14 Dry coastal complexes
237 ! 16 Ice cap and glacier
239 !--------------------------------------------------------------
240 ! .. Scalar Arguments ..
242 CHARACTER (4) :: mminlu
245 ! .. Array Arguments ..
246 ! REAL :: aefiso(nlu), aefmter(nlu), aefovoc(nlu), aef_n(nlu)
247 ! INTEGER :: ixxxlu(nlu)
249 ! .. Local Scalars ..
253 !**********************************************************************
254 ! Emission Factors for Isoprene in ug C/(m*m*h)
255 ! PRINT *, 'mminlu = ', mminlu
256 IF (mminlu=='OLD ') THEN
271 ! wetland, emission unknown
279 ! tropical forest (Z88)
284 IF (mminlu=='USGS') THEN
293 ! half agriculture/grassland assumed
295 ! half agriculture/deciduous assumed
317 ! wetland emission unknown
319 ! mixed forest assumed
323 ! tundra (K94) assumed
325 ! tundra (K94) assumed
327 ! tundra (K94) assumed
336 IF (mminlu=='SiB ') THEN
361 ! wetland, emission unknown
372 ! ---------------------------------------------------------
373 ! Emission Factors for Monoterpenes in ug C/(m*m*h)
375 IF (mminlu=='OLD ') THEN
390 ! wetland, emission unknown
398 ! tropical forest (Z88)
403 IF (mminlu=='USGS') THEN
412 ! half agriculture/grassland assumed
414 ! half agriculture/deciduous assumed
436 ! wetland emission unknown
438 ! mixed forest assumed
442 ! tundra (K94) assumed
444 ! tundra (K94) assumed
446 ! tundra (K94) assumed
455 IF (mminlu=='SiB ') THEN
480 ! wetland, emission unknown
491 ! ---------------------------------------------------------
492 ! Emission Factors for Other VOCs in ug C/(m*m*h)
494 IF (mminlu=='OLD ') THEN
509 ! wetland, emission unknown
517 ! tropical forest (Z88)
522 IF (mminlu=='USGS') THEN
531 ! half agriculture/grassland assumed
533 ! half agriculture/deciduous assumed
555 ! wetland emission unknown
557 ! mixed forest assumed
561 ! tundra (K94) assumed
563 ! tundra (K94) assumed
565 ! tundra (K94) assumed
574 IF (mminlu=='SiB ') THEN
599 ! wetland, emission unknown
610 ! ---------------------------------------------------------
611 ! Emission Factors for Nitrogen in ng N /(m*m*sec)
613 IF (mminlu=='OLD ') THEN
628 ! wetland, emission unknown
636 ! tropical forest (Z88)
641 IF (mminlu=='USGS') THEN
650 ! half agriculture/grassland assumed
652 ! half agriculture/deciduous assumed
674 ! wetland emission unknown
676 ! mixed forest assumed
680 ! tundra (K94) assumed
682 ! tundra (K94) assumed
684 ! tundra (K94) assumed
693 IF (mminlu=='SiB ') THEN
704 ! natural vegetation assumed
708 ! natural vegetation assumed
710 ! natural vegetation assumed
712 ! natural vegetation assumed
718 ! wetland, emission unknown
729 ! *********************************************************
731 ! Simplified landuse scheme for deposition and biogenic emission
733 ! (ISWATER and ISICE are already defined elsewhere,
734 ! therefore water and ice are not considered here)
736 ! 1 urban or bare soil
740 ! 5 coniferous and mixed forest
741 ! 6 other natural landuse categories
744 IF (mminlu=='OLD ') THEN
759 IF (mminlu=='USGS') THEN
786 IF (mminlu=='SiB ') THEN
807 !**********************************************************************
808 ! Calculation of seasonal dependence of emissions
809 !**********************************************************************
810 ! (if the season is variable during the model run,
811 ! this section should be placed in the beginning of subroutine BIOGEN)
812 !**********************************************************************
815 IF (mminlu=='OLD ') THEN
831 aefmter(6) = 1001./2.
841 IF (mminlu=='USGS') THEN
842 ! DOES VEGETATION FRACTION EXIST?
846 ! SUM=SUM+VEGFRC(I,J)
855 IF (( .NOT. vegflag) .AND. (isn==2)) THEN
856 ! IF ((.NOT.VEGFLAG)) THEN
857 ! VEGETATION FRACTION DOES NOT EXIST,
858 ! CORRECTION FOR WINTER SEASON
865 ! half agriculture/grassland assumed
867 ! half agriculture/deciduous assumed
869 ! deciduous broadleaf
871 ! deciduous needleleaf
874 aefiso(15) = 5775./2.
875 ! mixed forest assumed
876 aefiso(18) = 5775./2.
889 ! half agriculture/grassland assumed
891 ! half agriculture/deciduous assumed
893 ! deciduous broadleaf
895 ! deciduous needleleaf
898 aefmter(15) = 1001./2.
899 ! mixed forest assumed
900 aefmter(18) = 1001./2.
907 ! half agriculture/grassland assumed
909 ! half agriculture/deciduous assumed
911 ! deciduous broadleaf
913 ! deciduous needleleaf
916 aefovoc(15) = 924./2.
917 ! mixed forest assumed
918 aefovoc(18) = 924./2.
922 IF (mminlu=='SiB ') THEN
952 END SUBROUTINE bioemiin
953 ! **********************************************************************
954 ! *********************** SUBROUTINE BIOGEN **************************
955 ! **********************************************************************
956 SUBROUTINE biogen(iland,ta,rad,eiso,emter,eovoc,e_n,vocsc,eisoc,emterc, &
957 eovocc,e_nn,pa,mminlu,isn,vegflag)
959 ! THIS PROGRAMM COMPUTES THE ACTUAL BIOGENIC EMISSION RATE FOR
960 ! ISOPRENE, MONTERPENES, OTHER ORGANIC COMPOUNDS, AND NITROGEN FOR
961 ! EACH GRID CELL DEPENDING ON TEMPERATURE AND GLOBAL RADIATION
962 !***********************************************************************
963 ! PROGRAM DEVELOPED BY:- THOMAS SCHOENEMEYER (5 JANUARY 1995)
964 ! MODIFIED BY: - THOMAS SCHOENEMEYER (21 AUGUST 1996)
966 ! NACH SIMPSON ET AL.
967 ! - WINFRIED SEIDL (JUNE 1997)
968 ! ADAPTATION FOR USE IN MM5
969 ! - WINFRIED SEIDL (MARCH 2000)
970 ! MODIFICATION FOR MM5 VERSION 3
971 ! - Georg Grell (March 2002) for f90 and WRF
972 !***********************************************************************
973 !...PROGRAM VARIABLES...
974 ! ILAND - Land use category
975 ! TA - Air temperature in K
976 ! RAD - Solare global radiation in W/m2
977 ! EISO - Emission von Isopren in ppm*m/min
978 ! EMTER - Emission von Monoterpenen in ppm*m/min
979 ! EOVOC - Emission sonstiger fluechtiger Kohlenwasserstoffe
981 ! E_N - Emission von Stickstoff in ppm*m/min
982 ! AEFISO(NLU) - Emissionsfaktor fuer Isopren fuer die Land-
983 ! nutzungsart K, standardisiert auf 303 K und
984 ! voller Sonneneinstrahlung in ug C /(m*m*h)
985 ! AEFOVOC(NLU)- Emissionsfaktor fuer sonstige fluechtige
986 ! Kohlenwasserstoffe in ug C /(m*m*h)
987 ! AEFMTER(NLU)- Emissionsfaktor fuer MONOTERPENE
989 ! AEF_N(NLU) - Emissionsfaktor fuer Stickstoff
991 ! ECF_ISO - dimensionsloser Korrekturfaktor fuer Isopren,
992 ! abhaengig von Temperatur und Strahlung
993 ! ECF_OVOC dimensionsloser Korrekturfaktor fuer die
994 ! sonstigen fluechtigen Kohlenwasserstoffe
995 ! ECF_MTER dimensionsloser Korrekturfaktor fuer die
997 ! ECF_N - dimensionsloser Korrekturfaktor fuer
999 ! .. Scalar Arguments ..
1000 REAL :: eiso, eisoc, emter, emterc, eovoc, eovocc, e_n, e_nn, pa, rad, &
1002 INTEGER :: iland, isn
1004 CHARACTER (4) :: mminlu
1006 ! .. Array Arguments ..
1007 ! REAL :: aefiso(nlu), aefmter(nlu), aefovoc(nlu), aef_n(nlu)
1008 ! INTEGER :: ixxxlu(nlu)
1010 ! .. Local Scalars ..
1011 REAL :: alpha, beta, cl, cl1, coniso, conn, conovoc, conter, ct, ct1, &
1012 ct2, ecf_iso, ecf_mter, ecf_n, ecf_ovoc, par, r, rat, tm, ts, tsoil
1014 ! .. Intrinsic Functions ..
1017 ! empirischer Koeffizient
1019 ! empirischer Koeffizient
1021 ! Gaskonstante in J/(K*mol)
1023 ! empirischer Koeffizient in J/mol
1025 ! empirischer Koeffizient in J/mol
1027 ! empirischer Koeffizient in K
1029 ! faktoren bestimmt werden
1031 ! Standardtemperatur bei der Emissions-
1033 !**********************************************************************
1034 !**********************************************************************
1035 ! Temperature and Radiation Dependent Correction Factors
1037 !**********************************************************************
1038 !**********************************************************************
1041 ! *****************************************************************
1042 ! Forest land use categories
1044 ! empirischer TemperaturKoeffizient
1045 IF ((ixxxlu(iland)==4) .OR. (ixxxlu(iland)==5)) THEN
1046 ! ! = photosynthetisch aktive Strahlung;
1048 ! ! Umrechnungsfaktor: 2.0 uE/J (beruecksich
1049 ! auch, dass PAR ein kleinerer Wellenlaeng
1050 ! bereich ist als die Globalstrahlung.
1051 ! Langholz und Haeckl, 1985, Met. Rundscha
1053 ! PAR flux in Mikromol je m**2 und s
1054 cl = alpha*cl1*par/sqrt(1+alpha*alpha*par*par)
1055 ct = exp(ct1*(ta-ts)/(r*ts*ta))/(1+exp(ct2*(ta-tm)/(r*ts*ta)))
1058 ! Korrekturfaktor fuer Isopr
1059 ecf_mter = exp(beta*(ta-ts)) ! Korrekturfaktor fuer MTER
1061 ! Korrekturfaktor fuer OVOC
1062 tsoil = 0.84*(ta-273.15) + 3.6
1063 ecf_n = exp(0.071*tsoil)
1064 ! Korrekturfaktor fuer N
1067 ! *****************************************************************
1068 ! Agricultural land use category
1070 IF (ixxxlu(iland)==2) THEN
1071 ecf_iso = exp(0.1*(ta-30.-273.15)) ! vgl. Hahn et al.
1075 tsoil = 0.72*(ta-273.15) + 5.8
1076 ecf_n = exp(0.071*tsoil)
1079 ! *****************************************************************
1080 ! Grassland and natural nonforested land use categories
1082 IF ((ixxxlu(iland)==3) .OR. (ixxxlu(iland)==6)) THEN
1083 ecf_iso = exp(0.1*(ta-30.-273.15)) ! vgl. Hahn et al.
1087 tsoil = 0.66*(ta-273.15) + 8.8
1088 ecf_n = exp(0.071*tsoil)
1091 ! *****************************************************************
1092 ! Non-emitting land use categories
1094 IF ((ixxxlu(iland)==1) .OR. (iland==iswater_temp) .OR. (iland==isice_temp)) THEN
1100 !**********************************************************************
1101 !**********************************************************************
1102 ! Calculation of Emissions
1103 !**********************************************************************
1104 !**********************************************************************
1106 ! CONVERSION FROM MICROGRAM C/M2/H TO PPM*M/MIN
1107 ! CORRECTION TERM FOR TEMP(K) AND PRESSURE
1108 ! K = (T/P) *R)/(MW*60)
1109 ! R = 8.3143E-2 m3 mbar/(K mole)
1112 ! *****************************************************************
1115 coniso = rat*2.3095E-5
1116 eisoc = aefiso(iland)*ecf_iso
1119 ! *****************************************************************
1122 conter = rat*1.1548E-5
1123 emterc = aefmter(iland)*ecf_mter
1124 emter = conter*emterc
1126 ! *****************************************************************
1129 ! as 3-hexenyl-acetate (C=96g/mole)
1131 conovoc = rat*1.4435E-5
1132 eovocc = aefovoc(iland)*ecf_ovoc
1133 eovoc = conovoc*eovocc
1134 ! *****************************************************************
1137 vocsc = eisoc + emterc + eovocc
1139 ! *****************************************************************
1142 ! CONVERSION FROM NANOGRAM N/M2/SEC TO PPM*M/MIN
1143 ! CORRECTION TERM FOR TEMP(K) AND PRESSURE
1145 ! INPUT TO THE MODEL ASSUMED AS NO
1146 ! K = (T/P) *R*60)/(MW*1000)
1147 ! R = 8.3143E-2 m3 mbar/(K mole)
1149 conn = rat*3.5633E-4
1150 e_nn = aef_n(iland)*ecf_n
1154 END SUBROUTINE biogen
1155 ! **********************************************************************
1156 ! *********************** SUBROUTINE BIOSPLIT *************************
1157 ! **********************************************************************
1158 SUBROUTINE biosplit(iland,eiso,emter,eovoc,e_n,emiss_bio,numgas, &
1159 vegfrc,mminlu,vegflag)
1160 ! THIS PROGRAMM SPLITS THE BIOGENIC EMISSION RATES FOR
1161 ! MONOTERPENES AND OTHER ORGANIC COMPOUNDS INTO THE
1162 ! COMPOUND CLASSES OF THE CHEMISTRY MODEL
1163 ! --- VERSION FOR RADM2 AND RACM CHEMISTRY ---
1164 !***********************************************************************
1165 ! PROGRAM DEVELOPED BY:- WINFRIED SEIDL (JULY 1997)
1166 ! MODIFIED BY: - WINFRIED SEIDL (JULY 1998)
1167 ! FOR RACM-CHEMISTRY
1168 ! - WINFRIED SEIDL (MARCH 2000)
1170 !***********************************************************************
1171 !...PROGRAM VARIABLES...
1172 ! ILAND - Land use category
1173 ! EISO - Emission von Isopren in ppm*m/min
1174 ! EMTER - Emission von Monoterpenen in ppm*m/min
1175 ! EOVOC - Emission sonstiger fluechtiger Kohlenwasserstoffe
1177 ! E_N - Emission von Stickstoff in ppm*m/min
1178 !***********************************************************************
1180 ! The split of the monoterpenes and the other VOCs into RADM clas
1181 ! is mostly rather uncertain. Every plant species emitts a differ
1182 ! mix of chemical substances. So e.g. different types of deciduou
1183 ! trees show totally different emissions. By taking the MM5
1184 ! land use categories, the kind of biogenic emissions can be
1185 ! estimated only roughly. Especially for the other VOCs little
1186 ! is known, so the splits presented here have to be regarded as
1187 ! a preliminary assumption.
1188 ! Some literature on this field:
1189 ! Arey et al., J. Geophys. Res. 96D (1991), 9329-9336
1190 ! Arey et al., Atmospheric Environment 25A (1991), 1063-1075
1191 ! Koenig et al., Atmospheric Environment 29 (1995), 861-874
1192 ! Isidorov et al., Atmospheric Environment 19 (1985), 1-8
1193 ! Martin et al., Abstract Air & Waste Management Association''s
1194 ! 90th Annual Meeting & Exhibition, Toronto 1997, Paper 97-RP139.
1195 ! Winer et al., Final Report 1983, California Air Resources Bord,
1196 ! Contract No. AO-056-32
1197 ! For the RADM 2 chemistry, most of the monoterpenes are grouped
1198 ! into the OLI class
1199 ! (Middleton et al., Atmospheric Environment 24A (1990), 1107-113
1200 ! with a few exceptions:
1201 ! ISO -- myrcene, ocimene
1203 ! For the RACM chemistry, the monoterpenes are split
1204 ! between the API, LIM, ISO and XYL classes:
1205 ! API -- a-pinene, b-pinene, D3-carene, sabinene, camphene,
1206 ! 1,8-cineole, a-terpineole, thujene
1207 ! LIM -- limonene, terpinene, phellandrene, terpinolene
1208 ! ISO -- myrcene, ocimene
1210 ! The other VOCs are grouped according to Middleton et al. (1990)
1211 !***********************************************************************
1212 ! .. Scalar Arguments ..
1213 REAL :: eiso, emter, eovoc, e_n, vegfrc
1214 INTEGER :: iland, numgas
1215 ! INTEGER :: lald, lhc3, lhc5, lhc8, lhcho, liso, lket, lno, &
1216 ! loli, lolt, lora1, lora2, lxyl
1218 ! .. Array Arguments ..
1219 REAL :: emiss_bio(numgas)
1220 ! INTEGER :: ixxxlu(nlu)
1222 ! .. Local Scalars ..
1224 CHARACTER (4) :: mminlu
1226 ! *****************************************************************
1227 ! Correction for vegetation fraction
1228 IF ((mminlu=='USGS') .AND. (vegflag)) THEN
1229 eiso = eiso*vegfrc/100.
1230 emter = emter*vegfrc/100.
1231 eovoc = eovoc*vegfrc/100.
1234 ! *****************************************************************
1237 emiss_bio(liso) = eiso
1238 emiss_bio(lno) = emiss_bio(lno) + e_n
1240 ! *****************************************************************
1243 IF (ixxxlu(iland)==2) THEN
1244 emiss_bio(loli) = emiss_bio(loli) + 0.80*emter
1245 emiss_bio(liso) = emiss_bio(liso) + 0.20*emter
1246 emiss_bio(lhc5) = emiss_bio(lhc5) + 0.16*eovoc
1247 emiss_bio(lhc8) = emiss_bio(lhc8) + 0.27*eovoc
1248 emiss_bio(lolt) = emiss_bio(lolt) + 0.05*eovoc
1249 emiss_bio(loli) = emiss_bio(loli) + 0.37*eovoc
1250 emiss_bio(lket) = emiss_bio(lket) + 0.03*eovoc
1251 emiss_bio(lald) = emiss_bio(lald) + 0.12*eovoc
1254 ! *****************************************************************
1257 IF (ixxxlu(iland)==3) THEN
1258 emiss_bio(loli) = emiss_bio(loli) + 0.98*emter
1259 emiss_bio(liso) = emiss_bio(liso) + 0.02*emter
1260 emiss_bio(lhc5) = emiss_bio(lhc5) + 0.09*eovoc
1261 emiss_bio(lolt) = emiss_bio(lolt) + 0.07*eovoc
1262 emiss_bio(loli) = emiss_bio(loli) + 0.51*eovoc
1263 emiss_bio(lket) = emiss_bio(lket) + 0.15*eovoc
1264 emiss_bio(lald) = emiss_bio(lald) + 0.18*eovoc
1267 ! *****************************************************************
1270 IF (ixxxlu(iland)==4) THEN
1271 emiss_bio(loli) = emiss_bio(loli) + 0.94*emter
1272 emiss_bio(liso) = emiss_bio(liso) + 0.02*emter
1273 emiss_bio(lhcho) = emiss_bio(lhcho) + 0.19*eovoc
1274 emiss_bio(lald) = emiss_bio(lald) + 0.13*eovoc
1275 emiss_bio(lxyl) = emiss_bio(lxyl) + 0.04*emter
1276 emiss_bio(lhc5) = emiss_bio(lhc5) + 0.03*eovoc
1277 emiss_bio(loli) = emiss_bio(loli) + 0.07*eovoc
1278 emiss_bio(lora1) = emiss_bio(lora1) + 0.23*eovoc
1279 emiss_bio(lora2) = emiss_bio(lora2) + 0.35*eovoc
1282 ! *****************************************************************
1283 ! Coniferous forest and mixed forest
1286 IF (ixxxlu(iland)==5) THEN
1287 emiss_bio(loli) = emiss_bio(loli) + 0.85*emter
1288 emiss_bio(liso) = emiss_bio(liso) + 0.15*emter
1289 emiss_bio(lhcho) = emiss_bio(lhcho) + 0.04*eovoc
1290 emiss_bio(lald) = emiss_bio(lald) + 0.14*eovoc
1291 emiss_bio(lhc3) = emiss_bio(lhc3) + 0.07*eovoc
1292 emiss_bio(lhc5) = emiss_bio(lhc5) + 0.07*eovoc
1293 emiss_bio(lolt) = emiss_bio(lolt) + 0.07*eovoc
1294 emiss_bio(loli) = emiss_bio(loli) + 0.50*eovoc
1295 emiss_bio(lket) = emiss_bio(lket) + 0.03*eovoc
1296 emiss_bio(lora1) = emiss_bio(lora1) + 0.03*eovoc
1297 emiss_bio(lora2) = emiss_bio(lora2) + 0.05*eovoc
1300 ! *****************************************************************
1301 ! Tropical forest (not available in SiB and USGS)
1303 IF ((mminlu=='OLD ') .AND. (iland==12)) THEN
1304 emiss_bio(loli) = emiss_bio(loli) + emter
1307 END SUBROUTINE biosplit
1309 END MODULE module_bioemi_simple