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