chemics_init.F
References to this file elsewhere.
1 !WRF:MODEL_LAYER:INITIALIZATION
2 !
3 subroutine chem_init (id,chem,dt,bioemdt,photdt,chemdt,stepbioe, &
4 stepphot,stepchem,z_at_w,g,aerwrf,config_flags, &
5 alt,t,p,CONVFAC, &
6 tauaer1,tauaer2,tauaer3,tauaer4, &
7 gaer1,gaer2,gaer3,gaer4, &
8 waer1,waer2,waer3,waer4, &
9 pm2_5_dry,pm2_5_water,pm2_5_dry_ec,chem_in_opt, &
10 ids,ide, jds,jde, kds,kde, &
11 ims,ime, jms,jme, kms,kme, &
12 its,ite, jts,jte, kts,kte )
13
14 ! IMPLICIT NONE
15 USE module_domain
16 USE module_configure
17 USE module_state_description
18 USE module_phot_mad
19 USE module_aerosols_sorgam
20 USE module_dep_simple
21 USE module_cbmz_initmixrats, only: cbmz_init_wrf_mixrats
22 USE module_mosaic_driver, only: init_data_mosaic_asect
23 USE module_mosaic_initmixrats, only: mosaic_init_wrf_mixrats
24 USE module_input_chem_data, only: get_last_gas, gasprofile_init_pnnl
25
26 real , intent(in) :: bioemdt,photdt,chemdt,dt
27 INTEGER, INTENT(IN ) :: chem_in_opt
28 INTEGER, INTENT(IN ) :: id, &
29 ids,ide, jds,jde, kds,kde, &
30 ims,ime, jms,jme, kms,kme, &
31 its,ite, jts,jte, kts,kte
32 REAL, DIMENSION( ims:ime , kms:kme , jms:jme ) , &
33 INTENT(INOUT ) :: &
34 pm2_5_dry,pm2_5_water,pm2_5_dry_ec, &
35 tauaer1,tauaer2,tauaer3,tauaer4, &
36 gaer1,gaer2,gaer3,gaer4, &
37 waer1,waer2,waer3,waer4
38 REAL, DIMENSION( ims:ime , kms:kme , jms:jme ) , &
39 INTENT(IN ) :: &
40 z_at_w,t,p,alt,convfac
41 REAL, DIMENSION( ims:ime , kms:kme , jms:jme, num_chem ) , &
42 INTENT(INOUT ) :: &
43 chem
44 REAL, DIMENSION( ims:ime , kms:kme , jms:jme ) , &
45 INTENT(INOUT ) :: &
46 aerwrf
47 real, INTENT (IN) :: g
48 integer, intent(out) :: stepbioe,stepphot,stepchem
49 TYPE (grid_config_rec_type) , INTENT (in) :: config_flags
50 !
51 ! local stuff
52 !
53 integer :: i,j,k,l,numgas
54
55 #ifdef CHEM_DBG_I
56 call print_chem_species_index( config_flags%chem_opt )
57 #endif
58 numgas = get_last_gas(config_flags%chem_opt)
59
60 stepbioe=nint(bioemdt*60./dt)
61 stepphot=nint(photdt*60./dt)
62 stepchem=nint(chemdt*60./dt)
63 stepbioe=max(stepbioe,1)
64 stepphot=max(stepphot,1)
65 stepchem=max(stepchem,1)
66 call wrf_debug( 15, 'in chem_init' )
67 ! print *,'stepbioe,stepphot,stepchem',stepbioe,stepphot,stepchem
68 !
69 ! An alternative ozone profile option
70 !
71 if ( (config_flags%gas_bc_opt == GAS_BC_PNNL) .or. &
72 (config_flags%gas_ic_opt == GAS_IC_PNNL) ) then
73 call gasprofile_init_pnnl
74 end if
75 !
76 ! we are doing initialization here, first photolysis
77 !
78 phot_select: SELECT CASE(config_flags%phot_opt)
79 CASE (PHOTMAD)
80 CALL wrf_debug(15,'call madronich phot initialization')
81 call photmad_init(z_at_w,aerwrf,g, &
82 ids,ide, jds,jde, kds,kde, &
83 ims,ime, jms,jme, kms,kme, &
84 its,ite, jts,jte, kts,kte )
85 !!$ Moved initialization of the mie vars to start_em since they are still
86 !!$ passed around in the met only version and when not using Fast-J.
87 !!$ CASE (PHOTFASTJ)
88 !!$ if( .NOT. config_flags%restart ) then
89 !!$ do j=jts,jte
90 !!$ do k=kts,kte
91 !!$ do i=its,ite
92 !!$ tauaer1(i,k,j) = 0.
93 !!$ tauaer2(i,k,j) = 0.
94 !!$ tauaer3(i,k,j) = 0.
95 !!$ tauaer4(i,k,j) = 0.
96 !!$ gaer1(i,k,j) = 0.
97 !!$ gaer2(i,k,j) = 0.
98 !!$ gaer3(i,k,j) = 0.
99 !!$ gaer4(i,k,j) = 0.
100 !!$ waer1(i,k,j) = 0.
101 !!$ waer2(i,k,j) = 0.
102 !!$ waer3(i,k,j) = 0.
103 !!$ waer4(i,k,j) = 0.
104 !!$ end do
105 !!$ end do
106 !!$ end do
107 !!$ end if
108 END SELECT phot_select
109 !
110 ! initialization for aerosols
111 !
112 kpp_select: SELECT CASE(config_flags%chem_opt)
113 CASE (RACM_KPP,RACMSORG_KPP, RACM_MIM_KPP)
114 do j=jts,jte
115 do k=kts,kte
116 do i=its,ite
117 chem(i,k,j,p_co2)=370.
118 chem(i,k,j,p_ch4)=1.7
119 chem(i,k,j,p_ete)=chem(i,k,j,p_olt)
120 chem(i,k,j,p_ete)=epsilc
121 chem(i,k,j,p_udd)=chem(i,k,j,p_ete)
122 chem(i,k,j,p_hket)=chem(i,k,j,p_ete)
123 chem(i,k,j,p_api)=chem(i,k,j,p_ete)
124 chem(i,k,j,p_lim)=chem(i,k,j,p_ete)
125 chem(i,k,j,p_dien)=chem(i,k,j,p_ete)
126 chem(i,k,j,p_macr)=chem(i,k,j,p_ete)
127 enddo
128 enddo
129 enddo
130 END SELECT kpp_select
131 aer_select: SELECT CASE(config_flags%chem_opt)
132 CASE (RADM2SORG, RADM2SORG_KPP, RACMSORG,RACMSORG_KPP)
133 CALL wrf_debug(15,'call MADE/SORGAM aerosols initialization')
134 #if ( NMM_CORE == 1 )
135 ! do j=jts,jte
136 ! jj=min(jde-1,j)
137 ! do k=kts,kte-1
138 ! kk=min(kde-1,k)
139 ! do i=its,ite
140 ! ii=min(ide-1,i)
141 ! convfac(i,k,j) = p(ii,kk,jj)/rgasuniv/t(ii,kk,jj)
142 ! if(i.eq.its.and.j.eq.jts)write(0,*) 'before aerinit',k,p(ii,kk,jj),convfac(i,k,j),t(ii,kk,jj)
143 ! enddo
144 ! enddo
145 ! enddo
146 #endif
147 #if ( EM_CORE == 1 )
148 ! do j=jts,jte
149 ! jj=min(jde-1,j)
150 ! do k=kts,kte-1
151 ! kk=min(kde-1,k)
152 ! do i=its,ite
153 ! ii=min(ide-1,i)
154 ! tempfac=(t(ii,kk,jj) + t0)*((p(ii,kk,jj) + pb(ii,kk,jj))/p1000mb)**rcp
155 ! convfac(i,k,j) = (p(ii,kk,jj)+pb(ii,kk,jj))/rgasuniv/tempfac
156 ! if(i.eq.its.and.j.eq.jts)print *,k,kk,alt(i,kk,j),convfac(i,k,j)
157 ! enddo
158 ! enddo
159 ! enddo
160 #endif
161
162 call aerosols_sorgam_init(chem,convfac,z_at_w, &
163 pm2_5_dry,pm2_5_water,pm2_5_dry_ec, &
164 chem_in_opt,config_flags%aer_ic_opt, &
165 ids,ide, jds,jde, kds,kde, &
166 ims,ime, jms,jme, kms,kme, &
167 its,ite, jts,jte, kts,kte )
168 !...Convert aerosols to mixing ratio
169 do l=p_so4aj,num_chem
170 do j=jts,jte
171 do k=kts,kte
172 kk = min(k,kte-1)
173 do i=its,ite
174 chem(i,k,j,l)=chem(i,kk,j,l)*alt(i,kk,j)
175 enddo
176 enddo
177 enddo
178 enddo
179
180 chem=max(chem,epsilc)
181
182
183 CASE (CBMZ_MOSAIC_AA, CBMZ_MOSAIC_BB)
184 call wrf_debug(15,'call MOSAIC aerosols initialization')
185 call init_data_mosaic_asect
186 if( .NOT. config_flags%restart ) &
187 call mosaic_init_wrf_mixrats( &
188 0, config_flags, &
189 chem, alt, z_at_w, g, &
190 ids,ide, jds,jde, kds,kde, &
191 ims,ime, jms,jme, kms,kme, &
192 its,ite, jts,jte, kts,kte )
193
194 END SELECT aer_select
195
196 do nv=1,num_chem
197 do j=jms,jme
198 do i=ims,ime
199 chem(i,kde,j,nv)=chem(i,kde-1,j,nv)
200 enddo
201 enddo
202 enddo
203
204 !
205 ! initialization for wesely (gas) dry deposition
206 !
207 drydep_select: SELECT CASE(config_flags%drydep_opt)
208 CASE (WESELY)
209 CALL wrf_debug(15,'initializing dry dep (wesely)')
210 call dep_init(id,config_flags,numgas)
211
212 END SELECT drydep_select
213 !
214 ! initialization for cbmz gas-phase chemistry
215 !
216 cbmz_select: SELECT CASE(config_flags%chem_opt)
217 CASE (CBMZ, CBMZ_BB, CBMZ_MOSAIC_AA, CBMZ_MOSAIC_BB)
218 CALL wrf_debug(15,'initializing cbmz gas-phase chemistry')
219 if( .NOT. config_flags%restart ) &
220 call cbmz_init_wrf_mixrats(config_flags, &
221 z_at_w, g, &
222 chem, numgas, &
223 ids,ide, jds,jde, kds,kde, &
224 ims,ime, jms,jme, kms,kme, &
225 its,ite, jts,jte, kts,kte )
226 END SELECT cbmz_select
227
228 END SUBROUTINE chem_init
229
230 !-----------------------------------------------------------------------
231 #ifdef CHEM_DBG_I
232 subroutine print_chem_species_index( chem_opt )
233 use module_state_description
234 implicit none
235
236 integer, intent(in) :: chem_opt
237
238 print*,'Index numbers for chemistry species:'
239 !
240 ! Gas species...
241 !
242 select case (chem_opt)
243 case (RADM2, RADM2SORG, RADM2_KPP,RADM2SORG_KPP)
244 print*,p_so2,"so2"
245 print*,p_sulf,"sulf"
246 print*,p_no2,"no2"
247 print*,p_no,"no"
248 print*,p_o3,"o3"
249 print*,p_hno3,"hno3"
250 print*,p_h2o2,"h2o2"
251 print*,p_ald,"ald"
252 print*,p_hcho,"hcho"
253 print*,p_op1,"op1"
254 print*,p_op2,"op2"
255 print*,p_paa,"paa"
256 print*,p_ora1,"ora1"
257 print*,p_ora2,"ora2"
258 print*,p_nh3,"nh3"
259 print*,p_n2o5,"n2o5"
260 print*,p_no3,"no3"
261 print*,p_pan,"pan"
262 print*,p_hc3,"hc3"
263 print*,p_hc5,"hc5"
264 print*,p_hc8,"hc8"
265 print*,p_eth,"eth"
266 print*,p_co,"co"
267 print*,p_ol2,"ol2"
268 print*,p_olt,"olt"
269 print*,p_oli,"oli"
270 print*,p_tol,"tol"
271 print*,p_xyl,"xyl"
272 print*,p_aco3,"aco3"
273 print*,p_tpan,"tpan"
274 print*,p_hono,"hono"
275 print*,p_hno4,"hno4"
276 print*,p_ket,"ket"
277 print*,p_gly,"gly"
278 print*,p_mgly,"mgly"
279 print*,p_dcb,"dcb"
280 print*,p_onit,"onit"
281 print*,p_csl,"csl"
282 print*,p_iso,"iso"
283 print*,p_ho,"ho"
284 print*,p_ho2,"ho2"
285 case (RACM, RACMSORG,RACM_KPP,RACMSORG_KPP)
286 print*,p_so2,"so2"
287 print*,p_sulf,"sulf"
288 print*,p_no2,"no2"
289 print*,p_no,"no"
290 print*,p_o3,"o3"
291 print*,p_hno3,"hno3"
292 print*,p_h2o2,"h2o2"
293 print*,p_ald,"ald"
294 print*,p_hcho,"hcho"
295 print*,p_op1,"op1"
296 print*,p_op2,"op2"
297 print*,p_paa,"paa"
298 print*,p_ora1,"ora1"
299 print*,p_ora2,"ora2"
300 print*,p_nh3,"nh3"
301 print*,p_n2o5,"n2o5"
302 print*,p_no3,"no3"
303 print*,p_pan,"pan"
304 print*,p_hc3,"hc3"
305 print*,p_hc5,"hc5"
306 print*,p_hc8,"hc8"
307 print*,p_eth,"eth"
308 print*,p_co,"co"
309 print*,p_ete,"ete"
310 print*,p_olt,"olt"
311 print*,p_oli,"oli"
312 print*,p_tol,"tol"
313 print*,p_xyl,"xyl"
314 print*,p_aco3,"aco3"
315 print*,p_tpan,"tpan"
316 print*,p_hono,"hono"
317 print*,p_hno4,"hno4"
318 print*,p_ket,"ket"
319 print*,p_gly,"gly"
320 print*,p_mgly,"mgly"
321 print*,p_dcb,"dcb"
322 print*,p_onit,"onit"
323 print*,p_csl,"csl"
324 print*,p_iso,"iso"
325 print*,p_co2,"co2"
326 print*,p_ch4,"ch4"
327 print*,p_udd,"udd"
328 print*,p_hket,"hket"
329 print*,p_api,"api"
330 print*,p_lim,"lim"
331 print*,p_dien,"dien"
332 print*,p_macr,"macr"
333 print*,p_ho,"ho"
334 print*,p_ho2,"ho2"
335 case (CBMZ)
336 print*,p_so2,"so2"
337 print*,p_sulf,"sulf"
338 print*,p_no2,"no2"
339 print*,p_no,"no"
340 print*,p_o3,"o3"
341 print*,p_hno3,"hno3"
342 print*,p_h2o2,"h2o2"
343 print*,p_ald,"ald"
344 print*,p_hcho,"hcho"
345 print*,p_op1,"op1"
346 print*,p_op2,"op2"
347 print*,p_paa,"paa"
348 print*,p_ora1,"ora1"
349 print*,p_ora2,"ora2"
350 print*,p_nh3,"nh3"
351 print*,p_n2o5,"n2o5"
352 print*,p_no3,"no3"
353 print*,p_pan,"pan"
354 print*,p_hc3,"hc3"
355 print*,p_hc5,"hc5"
356 print*,p_hc8,"hc8"
357 print*,p_eth,"eth"
358 print*,p_co,"co"
359 print*,p_ol2,"ol2"
360 print*,p_olt,"olt"
361 print*,p_oli,"oli"
362 print*,p_tol,"tol"
363 print*,p_xyl,"xyl"
364 print*,p_aco3,"aco3"
365 print*,p_tpan,"tpan"
366 print*,p_hono,"hono"
367 print*,p_hno4,"hno4"
368 print*,p_ket,"ket"
369 print*,p_gly,"gly"
370 print*,p_mgly,"mgly"
371 print*,p_dcb,"dcb"
372 print*,p_onit,"onit"
373 print*,p_csl,"csl"
374 print*,p_iso,"iso"
375 print*,p_ho,"ho"
376 print*,p_ho2,"ho2"
377 print*,p_hcl,"hcl"
378 print*,p_ch3o2,"ch3o2"
379 print*,p_ethp,"ethp"
380 print*,p_ch3oh,"ch3oh"
381 print*,p_c2h5oh,"c2h5oh"
382 print*,p_par,"par"
383 print*,p_to2,"to2"
384 print*,p_cro,"cro"
385 print*,p_open,"open"
386 print*,p_op3,"op3"
387 print*,p_c2o3,"c2o3"
388 print*,p_ro2,"ro2"
389 print*,p_ano2,"ano2"
390 print*,p_nap,"nap"
391 print*,p_xo2,"xo2"
392 print*,p_xpar,"xpar"
393 print*,p_isoprd,"isoprd"
394 print*,p_isopp,"isopp"
395 print*,p_isopn,"isopn"
396 print*,p_isopo2,"isopo2"
397 print*,p_dms,"dms"
398 print*,p_msa,"msa"
399 print*,p_dmso,"dmso"
400 print*,p_dmso2,"dmso2"
401 print*,p_ch3so2h,"ch3so2h"
402 print*,p_ch3sch2oo,"ch3sch2oo"
403 print*,p_ch3so2,"ch3so2"
404 print*,p_ch3so3,"ch3so3"
405 print*,p_ch3so2oo,"ch3so2oo"
406 print*,p_ch3so2ch2oo,"ch3so2ch2oo"
407 print*,p_mtf,"mtf"
408 case (CBMZ_BB, CBMZ_MOSAIC_AA, CBMZ_MOSAIC_BB)
409 print*,p_so2,"so2"
410 print*,p_sulf,"sulf"
411 print*,p_no2,"no2"
412 print*,p_no,"no"
413 print*,p_o3,"o3"
414 print*,p_hno3,"hno3"
415 print*,p_h2o2,"h2o2"
416 print*,p_ald,"ald"
417 print*,p_hcho,"hcho"
418 print*,p_op1,"op1"
419 print*,p_op2,"op2"
420 print*,p_paa,"paa"
421 print*,p_ora1,"ora1"
422 print*,p_ora2,"ora2"
423 print*,p_nh3,"nh3"
424 print*,p_n2o5,"n2o5"
425 print*,p_no3,"no3"
426 print*,p_pan,"pan"
427 print*,p_hc3,"hc3"
428 print*,p_hc5,"hc5"
429 print*,p_hc8,"hc8"
430 print*,p_eth,"eth"
431 print*,p_co,"co"
432 print*,p_ol2,"ol2"
433 print*,p_olt,"olt"
434 print*,p_oli,"oli"
435 print*,p_tol,"tol"
436 print*,p_xyl,"xyl"
437 print*,p_aco3,"aco3"
438 print*,p_tpan,"tpan"
439 print*,p_hono,"hono"
440 print*,p_hno4,"hno4"
441 print*,p_ket,"ket"
442 print*,p_gly,"gly"
443 print*,p_mgly,"mgly"
444 print*,p_dcb,"dcb"
445 print*,p_onit,"onit"
446 print*,p_csl,"csl"
447 print*,p_iso,"iso"
448 print*,p_ho,"ho"
449 print*,p_ho2,"ho2"
450 print*,p_hcl,"hcl"
451 print*,p_ch3o2,"ch3o2"
452 print*,p_ethp,"ethp"
453 print*,p_ch3oh,"ch3oh"
454 print*,p_c2h5oh,"c2h5oh"
455 print*,p_par,"par"
456 print*,p_to2,"to2"
457 print*,p_cro,"cro"
458 print*,p_open,"open"
459 print*,p_op3,"op3"
460 print*,p_c2o3,"c2o3"
461 print*,p_ro2,"ro2"
462 print*,p_ano2,"ano2"
463 print*,p_nap,"nap"
464 print*,p_xo2,"xo2"
465 print*,p_xpar,"xpar"
466 print*,p_isoprd,"isoprd"
467 print*,p_isopp,"isopp"
468 print*,p_isopn,"isopn"
469 print*,p_isopo2,"isopo2"
470 end select
471 !
472 ! Aerosol species...
473 !
474 select case (chem_opt)
475 case (RADM2SORG, RADM2SORG_KPP, RACMSORG, RACMSORG_KPP)
476 print*,p_so4aj,"so4aj"
477 print*,p_so4ai,"so4ai"
478 print*,p_nh4aj,"nh4aj"
479 print*,p_nh4ai,"nh4ai"
480 print*,p_no3aj,"no3aj"
481 print*,p_no3ai,"no3ai"
482 print*,p_orgaro1j,"orgaro1j"
483 print*,p_orgaro1i,"orgaro1i"
484 print*,p_orgaro2j,"orgaro2j"
485 print*,p_orgaro2i,"orgaro2i"
486 print*,p_orgalk1j,"orgalk1j"
487 print*,p_orgalk1i,"orgalk1i"
488 print*,p_orgole1j,"orgole1j"
489 print*,p_orgole1i,"orgole1i"
490 print*,p_orgba1j,"orgba1j"
491 print*,p_orgba1i,"orgba1i"
492 print*,p_orgba2j,"orgba2j"
493 print*,p_orgba2i,"orgba2i"
494 print*,p_orgba3j,"orgba3j"
495 print*,p_orgba3i,"orgba3i"
496 print*,p_orgba4j,"orgba4j"
497 print*,p_orgba4i,"orgba4i"
498 print*,p_orgpaj,"orgpaj"
499 print*,p_orgpai,"orgpai"
500 print*,p_ecj,"ecj"
501 print*,p_eci,"eci"
502 print*,p_p25j,"p25j"
503 print*,p_p25i,"p25i"
504 print*,p_antha,"antha"
505 print*,p_seas,"seas"
506 print*,p_soila,"soila"
507 print*,p_nu0,"nu0"
508 print*,p_ac0,"ac0"
509 print*,p_corn,"corn"
510 case (CBMZ_MOSAIC_AA)
511 print*,p_so4_a01,"so4_a01"
512 print*,p_no3_a01,"no3_a01"
513 print*,p_cl_a01,"cl_a01"
514 print*,p_nh4_a01,"nh4_a01"
515 print*,p_na_a01,"na_a01"
516 print*,p_oin_a01,"oin_a01"
517 print*,p_oc_a01,"oc_a01"
518 print*,p_bc_a01,"bc_a01"
519 print*,p_hysw_a01,"hysw_a01"
520 print*,p_water_a01,"water_a01"
521 print*,p_num_a01,"num_a01"
522 print*,p_so4_a02,"so4_a02"
523 print*,p_no3_a02,"no3_a02"
524 print*,p_cl_a02,"cl_a02"
525 print*,p_nh4_a02,"nh4_a02"
526 print*,p_na_a02,"na_a02"
527 print*,p_oin_a02,"oin_a02"
528 print*,p_oc_a02,"oc_a02"
529 print*,p_bc_a02,"bc_a02"
530 print*,p_hysw_a02,"hysw_a02"
531 print*,p_water_a02,"water_a02"
532 print*,p_num_a02,"num_a02"
533 print*,p_so4_a03,"so4_a03"
534 print*,p_no3_a03,"no3_a03"
535 print*,p_cl_a03,"cl_a03"
536 print*,p_nh4_a03,"nh4_a03"
537 print*,p_na_a03,"na_a03"
538 print*,p_oin_a03,"oin_a03"
539 print*,p_oc_a03,"oc_a03"
540 print*,p_bc_a03,"bc_a03"
541 print*,p_hysw_a03,"hysw_a03"
542 print*,p_water_a03,"water_a03"
543 print*,p_num_a03,"num_a03"
544 print*,p_so4_a04,"so4_a04"
545 print*,p_no3_a04,"no3_a04"
546 print*,p_cl_a04,"cl_a04"
547 print*,p_nh4_a04,"nh4_a04"
548 print*,p_na_a04,"na_a04"
549 print*,p_oin_a04,"oin_a04"
550 print*,p_oc_a04,"oc_a04"
551 print*,p_bc_a04,"bc_a04"
552 print*,p_hysw_a04,"hysw_a04"
553 print*,p_water_a04,"water_a04"
554 print*,p_num_a04,"num_a04"
555 case (CBMZ_MOSAIC_BB)
556 print*,p_so4_a01,"so4_a01"
557 print*,p_no3_a01,"no3_a01"
558 print*,p_cl_a01,"cl_a01"
559 print*,p_nh4_a01,"nh4_a01"
560 print*,p_na_a01,"na_a01"
561 print*,p_oin_a01,"oin_a01"
562 print*,p_oc_a01,"oc_a01"
563 print*,p_bc_a01,"bc_a01"
564 print*,p_hysw_a01,"hysw_a01"
565 print*,p_water_a01,"water_a01"
566 print*,p_num_a01,"num_a01"
567 print*,p_so4_a02,"so4_a02"
568 print*,p_no3_a02,"no3_a02"
569 print*,p_cl_a02,"cl_a02"
570 print*,p_nh4_a02,"nh4_a02"
571 print*,p_na_a02,"na_a02"
572 print*,p_oin_a02,"oin_a02"
573 print*,p_oc_a02,"oc_a02"
574 print*,p_bc_a02,"bc_a02"
575 print*,p_hysw_a02,"hysw_a02"
576 print*,p_water_a02,"water_a02"
577 print*,p_num_a02,"num_a02"
578 print*,p_so4_a03,"so4_a03"
579 print*,p_no3_a03,"no3_a03"
580 print*,p_cl_a03,"cl_a03"
581 print*,p_nh4_a03,"nh4_a03"
582 print*,p_na_a03,"na_a03"
583 print*,p_oin_a03,"oin_a03"
584 print*,p_oc_a03,"oc_a03"
585 print*,p_bc_a03,"bc_a03"
586 print*,p_hysw_a03,"hysw_a03"
587 print*,p_water_a03,"water_a03"
588 print*,p_num_a03,"num_a03"
589 print*,p_so4_a04,"so4_a04"
590 print*,p_no3_a04,"no3_a04"
591 print*,p_cl_a04,"cl_a04"
592 print*,p_nh4_a04,"nh4_a04"
593 print*,p_na_a04,"na_a04"
594 print*,p_oin_a04,"oin_a04"
595 print*,p_oc_a04,"oc_a04"
596 print*,p_bc_a04,"bc_a04"
597 print*,p_hysw_a04,"hysw_a04"
598 print*,p_water_a04,"water_a04"
599 print*,p_num_a04,"num_a04"
600 print*,p_so4_a05,"so4_a05"
601 print*,p_no3_a05,"no3_a05"
602 print*,p_cl_a05,"cl_a05"
603 print*,p_nh4_a05,"nh4_a05"
604 print*,p_na_a05,"na_a05"
605 print*,p_oin_a05,"oin_a05"
606 print*,p_oc_a05,"oc_a05"
607 print*,p_bc_a05,"bc_a05"
608 print*,p_hysw_a05,"hysw_a05"
609 print*,p_water_a05,"water_a05"
610 print*,p_num_a05,"num_a05"
611 print*,p_so4_a06,"so4_a06"
612 print*,p_no3_a06,"no3_a06"
613 print*,p_cl_a06,"cl_a06"
614 print*,p_nh4_a06,"nh4_a06"
615 print*,p_na_a06,"na_a06"
616 print*,p_oin_a06,"oin_a06"
617 print*,p_oc_a06,"oc_a06"
618 print*,p_bc_a06,"bc_a06"
619 print*,p_hysw_a06,"hysw_a06"
620 print*,p_water_a06,"water_a06"
621 print*,p_num_a06,"num_a06"
622 print*,p_so4_a07,"so4_a07"
623 print*,p_no3_a07,"no3_a07"
624 print*,p_cl_a07,"cl_a07"
625 print*,p_nh4_a07,"nh4_a07"
626 print*,p_na_a07,"na_a07"
627 print*,p_oin_a07,"oin_a07"
628 print*,p_oc_a07,"oc_a07"
629 print*,p_bc_a07,"bc_a07"
630 print*,p_hysw_a07,"hysw_a07"
631 print*,p_water_a07,"water_a07"
632 print*,p_num_a07,"num_a07"
633 print*,p_so4_a08,"so4_a08"
634 print*,p_no3_a08,"no3_a08"
635 print*,p_cl_a08,"cl_a08"
636 print*,p_nh4_a08,"nh4_a08"
637 print*,p_na_a08,"na_a08"
638 print*,p_oin_a08,"oin_a08"
639 print*,p_oc_a08,"oc_a08"
640 print*,p_bc_a08,"bc_a08"
641 print*,p_hysw_a08,"hysw_a08"
642 print*,p_water_a08,"water_a08"
643 print*,p_num_a08,"num_a08"
644 end select
645 end subroutine print_chem_species_index
646 #endif