Merge remote-tracking branch 'origin/release-v4.6.1'
[WRF.git] / chem / module_mosaic_driver.F
blobf3e0a5ca26ddc1bcce0a05de9ac174a48bc3bf5c
1 ! hereinafter the Contractor, under Contract No. DE-AC05-76RL0 1830 with
2 ! the Department of Energy (DOE). NEITHER THE GOVERNMENT NOR THE
3 ! CONTRACTOR MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY
4 ! LIABILITY FOR THE USE OF THIS SOFTWARE.
6 ! Aerosol Option:  MOSAIC (Model for Simulating Aerosol Interactions &
7 ! Chemistry)
8 ! * Primary investigator: Rahul A. Zaveri
9 ! * Co-investigator: Richard C. Easter, William I. Gustafson Jr.
10 ! Last update: February 2009
12 ! Contacts:
13 ! Rahul A. Zaveri, PhD                    Jerome D. Fast, PhD
14 ! Senior Research Scientist               Staff Scientist
15 ! Pacific Northwest National Laboratory   Pacific Northwest National Laboratory
16 ! P.O. Box 999, MSIN K9-30                P.O. Box 999, MSIN K9-30
17 ! Richland, WA 99352                      Richland, WA, 99352
18 ! Phone: (509) 372-6159                   Phone: (509) 372-6116
19 ! Email: Rahul.Zaveri@pnl.gov             Email: Jerome.Fast@pnl.gov
21 ! Please report any bugs or problems to Rahul Zaveri, the primary author
22 ! of the code, or Jerome Fast, the WRF-chem implementation team leader
23 ! for PNNL.
25 ! Terms of Use:
26 !  1) Users are requested to consult the primary author prior to
27 !     modifying the MOSAIC code or incorporating it or its submodules in
28 !     another code. This is meant to ensure that the any linkages and/or
29 !     assumptions will not adversely affect the operation of MOSAIC.
30 !  2) The MOSAIC source code is intended for research and educational
31 !     purposes. Users are requested to contact the primary author
32 !     regarding the use of MOSAIC code for any commercial application.
33 !  3) Users preparing publications resulting from the usage of MOSAIC are
34 !     requested to cite one or more of the references below (depending on
35 !     the application) for proper acknowledgement.
37 ! References for MOSAIC (The first one is the primary MOSAIC reference):
38 ! * Zaveri R.A., R.C. Easter, J.D. Fast, and L.K. Peters (2008), Model
39 !   for Simulating Aerosol Interactions and Chemistry (MOSAIC), J.
40 !   Geophys. Res., 113, D13204, doi:10.1029/2007JD008782.
41 ! * Zaveri R.A., R.C. Easter, and A.S. Wexler (2005), A new method for
42 !   multi-component activity coefficients of electrolytes in aqueous
43 !   atmospheric aerosols, J. Geophys. Res., 110, D02201,
44 !   doi:10.1029/2004JD004681.
45 ! * Zaveri R.A., R.C. Easter, and L.K. Peters (2005), A computationally
46 !   efficient multicomponent equilibrium solver for aerosols (MESA), J.
47 !   Geophys. Res., 110, D24203, doi:24203, doi:10.1029/2004JD005618.
49 ! Reference for volatility basis set SOA code:
50 ! * Shrivastava, M., J. Fast, R. Easter, W. I. Gustafson Jr., R. A.
51 !   Zaveri, J. L. Jimenez, P. Saide, and A. Hodzic, 2010: Modeling
52 !   organic aerosols in a megacity: comparison of simple and complex
53 !   representations of the volatility basis set approach. Atmos. Chem.
54 !   Phys., in review.
56 ! Reference for the alternative SOA treatment that is less expensive to run 
57 ! and is used in the package  mozart_mosaic_4bin_vbs0
58 ! SOA is treated using a simplified approach for anthropogenic and biomass burning species based on Hodzic and Jimenez, GMD, 2011
59 ! Hodzic, A. and Jimenez, J. L.: Modeling anthropogenically controlled secondary organic aerosols in a megacity: 
60 ! a simplified framework for global and climate models, Geosci. Model Dev., 4, 901-917, doi:10.5194/gmd-4-901-2011, 2011.
62 ! References for implementation of the aerosol optical properties and
63 ! direct effect in WRF-Chem:
64 ! * Fast, J.D., W.I. Gustafson Jr., R.C. Easter, R.A. Zaveri, J.C.
65 !   Barnard, E.G. Chapman, G.A. Grell, and S.E. Peckham (2005), Evolution
66 !   of ozone, particulates, and aerosol direct radiative forcing in the
67 !   vicinity of Houston using a fully-coupled meteorology-chemistry-
68 !   aerosol model, J. Geophys. Res., 111, D21305,
69 !   doi:10.1029/2005JD006721.
70 ! * Barnard, J.C., J.D. Fast, G. Paredes-Miranda, W.P. Arnott, and
71 !   A. Laskin (2010), Technical note: evaluation of the WRF-Chem
72 !   "aerosol chemical to aerosol optical properties" module using data
73 !   from the MILAGRO campaign, Atmos. Chem. Phys., 10, 7325-7340,
74 !   doi:10.5194/acp-10-7325-2010.
76 ! References for implementation of the aerosol-cloud interactions and
77 ! indirect effects in WRF-Chem:
78 ! * Gustafson, W. I., E. G. Chapman, S. J. Ghan, R. C. Easter, and J. D.
79 !   Fast (2007), Impact on modeled cloud characteristics due to
80 !   simplified treatment of uniform cloud condensation nuclei during
81 !   NEAQS 2004, Geophys. Res. Lett., 34, L19809, L19809,
82 !   doi:10.1029/2007GL0300321.
83 ! * Chapman, E.G., W. I. Gustafson Jr., R. C. Easter, J. C. Barnard,
84 !   S. J. Ghan, M. S. Pekour, and J. D. Fast (2009): Coupling aerosol-
85 !   cloud-radiative processes in the WRF-Chem model: Investigating the
86 !   radiative impact of elevated point sources, Atmos. Chem. Phys., 9,
87 !   945-964, www.atmos-chem-phys.net/9/945/2009/.
89 ! Contact Jerome Fast for updates on the status of manuscripts under
90 ! review.
92 ! Additional information:
93 ! * www.pnl.gov/atmospheric/research/wrf-chem
95 ! Support: 
96 ! Funding for developing and evaluating MOSAIC was provided by the U.S.
97 ! Department of Energy under the auspices of Atmospheric Science Program
98 ! of the Office of Biological and Environmental Research, the NASA Earth
99 ! Sciences Enterprise under grant NAGW 3367, and PNNL Laboratory Directed
100 ! Research and Development program.
101 !************************************************************************
102         module module_mosaic_driver
105         use module_mosaic_sumpm
109 !   *** NOTE - when the cw species are NOT in the registry, then
110 !   then the p_xxx_cwnn variables are not in module_state_description,
111 !   and the following cpp directive should be commented out
113 #define cw_species_are_in_registry
116         contains
118 !-----------------------------------------------------------------------
120 ! rce 2005-feb-18 - one fix involving dcen_sect indices [now (isize,itype)]
122 ! rce 2004-dec-03 - many changes associated with the new aerosol "pointer"
123 !     variables in module_data_mosaic_asect
124 !   nov-04 sg ! replaced amode with aer and expanded aerosol dimension 
125 !     to include type and phase
127 ! rce 11-sep-2004 - numerous changes
128 !   eliminated use of the _wrfch pointers (lptr_xxx_a_wrfch,
129 !       lwaterptr_wrfch, numptr_wrfch); use only the _aer pointers now
130 !   aboxtest_... variables are now in module_data_mosaic_other
132 !-----------------------------------------------------------------------
134         subroutine mosaic_aerchem_driver(                         &
135                 id, curr_secs, ktau, dtstep, ktauc, dtstepc, config_flags, &
136                 t_phy, rho_phy, p_phy,                            &
137                 moist, chem, vbs_nbin,                            &
138                ph_aer01, ph_aer02, ph_aer03, ph_aer04,           &
139                 ids,ide, jds,jde, kds,kde,                        &
140                 ims,ime, jms,jme, kms,kme,                        &
141                 its,ite, jts,jte, kts,kte                         )
144         use module_configure, only:  grid_config_rec_type,            &
145                         p_qv,                                         &
146                         p_so2, p_ho2, p_so4aj, p_corn, p_hcl, p_mtf,  &
147                         p_so4_a01, p_water_a01, p_num_a01,            &
148                         p_so4_a04, p_water_a04, p_num_a04
150         use module_state_description, only:  num_moist, num_chem
152         use module_data_mosaic_asect
153         use module_data_mosaic_other
154         use module_mosaic_therm, only:  aerchemistry, print_mosaic_stats, &
155          iprint_mosaic_fe1, iprint_mosaic_perform_stats, &
156          iprint_mosaic_diag1, iprint_mosaic_input_ok
157         use module_mosaic2_driver, only:  mosaic2_aerchem_driver
158         use module_mosaic_newnuc, only:  mosaic_newnuc_1clm
159         use module_mosaic_coag, only:  mosaic_coag_1clm
160         use module_peg_util, only:  peg_error_fatal, peg_message
162         use module_data_mosaic_therm, only: glysoa_param,                 &
163                glysoa_param_off, glysoa_param_simple, glysoa_param_complex
164         use module_state_description, only: mozart_mosaic_4bin_kpp, &
165          mozart_mosaic_4bin_aq_kpp
167         implicit none
169 !-----------------------------------------------------------------------
170 ! DESCRIPTION
172 ! mosaic_aerchem_driver is the interface between wrf-chem and the
173 !   mosaic aerosol-chemistry routine cat computes condensation/evaporation
174 !   of trace gases to/from aerosol particles (AP).  It currently treats
175 !   water vapor and the 4 inorganic trace gases (nh3, h2so4, hno3, and hcl).
176 !   The aerosol-chemistry routine can work with either a sectional
177 !   (multiple size bins) or modal (multiple modes) representation.  
179 !   In both cases, condensation/evaporation to/from each bins/mode is 
180 !   first computed.  For sectional representation, AP mass and number 
181 !   are then transferred between size bins as a result of AP 
182 !   positive/negative growth.  Either a moving-center or two-moment
183 !   algorithm can be used to compute this transfer.
185 ! mosaic_aerchem_driver is organized as follows
186 !   loop over j and i
187 !       call mapaer_tofrom_host to map 1 column of gas and aerosol mixing 
188 !           ratios from the chem array to the rsub array (and convert units)
189 !       call aerchemistry to do the aerosol chemistry calculations
190 !           for timestep = dtstepc
191 !       call mapaer_tofrom_host to map 1 column of gas and aerosol mixing 
192 !           ratios from the rsub array back to the chem array
194 !-----------------------------------------------------------------------
196 !   subr arguments
197         integer, intent(in) ::              &
198                 id, ktau, ktauc,                &
199                 ids, ide, jds, jde, kds, kde,   &
200                 ims, ime, jms, jme, kms, kme,   &
201                 its, ite, jts, jte, kts, kte,   &
202                 vbs_nbin(1)
203 !   id - domain index
204 !   ktau - time step number
205 !   ktauc - gas and aerosol chemistry time step number
207 !   [ids:ide, kds:kde, jds:jde] - spatial (x,z,y) indices for "domain"
208 !   [ims:ime, kms:kme, jms:jme] - spatial (x,z,y) indices for "memory"
209 !       Most arrays that are arguments to chem_driver 
210 !       are dimensioned with these spatial indices.
211 !   [its:ite, kts:kte, jts:jte] - spatial (x,z,y) indices for "tile"
212 !       chem_driver and routines under it do calculations
213 !       over these spatial indices.
215     real(kind=8), intent(in) :: curr_secs
216         real, intent(in) :: dtstep, dtstepc
217 !   dtstep - main model time step (s)
218 !   dtstepc - time step for gas and aerosol chemistry(s)
220         real, intent(in),   &
221                 dimension( ims:ime, kms:kme, jms:jme ) :: &
222                 t_phy, rho_phy, p_phy
223 !   t_phy - temperature (K)
224 !   rho_phy - air density (kg/m^3)
225 !   p_phy - air pressure (Pa)
227         real, intent(in),   &
228                 dimension( ims:ime, kms:kme, jms:jme, 1:num_moist ) :: &
229                 moist
230 !   moist - mixing ratios of moisture species (water vapor, 
231 !       cloud water, ...) (kg/kg for mass species, #/kg for number species)
233         real, intent(inout),   &
234                 dimension( ims:ime, kms:kme, jms:jme, 1:num_chem ) :: &
235                 chem
236 !   chem - mixing ratios of trace gase (ppm) and aerosol species
237 !       (ug/kg for mass species, #/kg for number species)
239         real, intent(out),   &
240                 optional,    &
241                 dimension( ims:ime, kms:kme, jms:jme ) :: &
242                 ph_aer01, ph_aer02, ph_aer03, ph_aer04
244         type(grid_config_rec_type), intent(in) :: config_flags
245 !   config_flags - configuration and control parameters
247 !-----------------------------------------------------------------------
248 !   local variables
249         integer :: i, idum, istat, it, j, jt, k, l, n
250         integer :: k_pegshift, kclm_calcbgn, kclm_calcend
251         integer :: ktmaps, ktmape
252         integer :: levdbg_err, levdbg_info
253         integer :: i_force_dump, mode_force_dump
254         integer :: idiagaa_dum, idiagbb_dum, ijcount_dum
255         integer, parameter :: debug_level=0
256 !       integer, parameter :: aercoag_onoff = 1
257 !       integer, parameter :: aernewnuc_onoff = 1
258         integer :: aercoag_onoff = 1
259         integer :: aernewnuc_onoff = 1
260         
261         real :: dtchem, dtcoag, dtnuc
262         real :: dum
263         real :: rsub0(l2maxd,kmaxd,nsubareamaxd)
265         character*100 msg
268         if ( config_flags%aerchem_onoff <= 0 ) return   ! aerosol chem/dynam turned off
271         i = max( config_flags%mosaic_aerchem_optaa, 0 )
272         if ( mod(i,10) == 2 ) then   ! use mosaic2 when 1s digit = 2
273             call mosaic2_aerchem_driver(                          &
274                 id, curr_secs, ktau, dtstep, ktauc, dtstepc,      &
275                 config_flags,                                     &
276                 t_phy, rho_phy, p_phy,                            &
277                 moist, chem,                                      &
278                 ids,ide, jds,jde, kds,kde,                        &
279                 ims,ime, jms,jme, kms,kme,                        &
280                 its,ite, jts,jte, kts,kte                         )
281             return
282         end if
285     if (debug_level .ge. 15) then
286 !rcetestc diagnostics --------------------------------------------------
287 !   if (kte .eq. -99887766) then
288     if (ktauc .le. 2) then
289     print 93010, ' '
290     print 93010, 'rcetestc diagnostics from mosaic_aerchem_driver'
291     print 93010, 'id, chem_opt, ktau, ktauc    ',   &
292          id, config_flags%chem_opt, ktau, ktauc
293     print 93020, 'dtstep, dtstepc                 ',   &
294          dtstep, dtstepc
295     print 93010, 'ims/e, j, k', ims, ime, jms, jme, kms, kme
296     print 93010, 'its/e, j, k', its, ite, jts, jte, kts, kte
297     print 93010, 'num_chem, p_so2, p_ho2       ', num_chem, p_so2, p_ho2
298     print 93010, 'p_so4aj, p_corn, p_hcl, p_mtf', p_so4aj, p_corn, p_hcl, p_mtf
299     print 93010, 'p_so4_a01, p_water, p_num_a01', p_so4_a01, p_water_a01, p_num_a01
300     print 93010, 'p_so4_a04, p_water, p_num_a04', p_so4_a04, p_water_a04, p_num_a04
302     k = kts
303         print 93020, 't, p, rho, qv at its/kts /jts', t_phy(its,k,jts),   &
304                 p_phy(its,k,jts), rho_phy(its,k,jts), moist(its,k,jts,p_qv)
305         k = (kts + kte)/2
306         print 93020, 't, p, rho, qv at its/ktmi/jts', t_phy(its,k,jts),   &
307                 p_phy(its,k,jts), rho_phy(its,k,jts), moist(its,k,jts,p_qv)
308         k = kte
309         print 93020, 't, p, rho, qv at its/kte /jts', t_phy(its,k,jts),   &
310                 p_phy(its,k,jts), rho_phy(its,k,jts), moist(its,k,jts,p_qv)
311 93010   format( a, 8(1x,i6) )
312 93020   format( a, 8(1p,e14.6) )
313     end if
314 !   end if
315 !rcetestc diagnostics --------------------------------------------------
316     end if
318 ! The default values for these informational printout settings are set
319 ! in module_data_mosaic_therm.F.
320     if (debug_level .lt. 15) then 
321        iprint_mosaic_fe1 = 1
322        iprint_mosaic_perform_stats = 0
323        iprint_mosaic_diag1 = 0
324        iprint_mosaic_input_ok = 0
325     end if
327    glysoa_param = glysoa_param_off
328    if (config_flags%chem_opt == mozart_mosaic_4bin_kpp) &
329      glysoa_param = glysoa_param_simple
330    if (config_flags%chem_opt == mozart_mosaic_4bin_aq_kpp) &
331      glysoa_param = glysoa_param_complex
334         aercoag_onoff = 1
335         aernewnuc_onoff = 1
336 ! set some control flags using config_flags%mosaic_aerchem_optaa
337         i = max( config_flags%mosaic_aerchem_optaa, 0 )
338         if (i >= 10000) then
339             j = mod(i,100)/10  ! 10s digit controls movesect
340             if (j == 0) msectional =  0  ! causes method_movesect =  0
341             if (j == 1) msectional = 10  ! causes method_movesect = 10
342             if (j == 2) msectional = 20  ! causes method_movesect = 20
344             j = mod(i,1000)/100  ! 100s digit controls newnuc
345             if (j == 0) aernewnuc_onoff = 0
347             j = mod(i,10000)/1000  ! 1000s digit controls coag
348             if (j == 0) aercoag_onoff = 0
349         end if ! (i >= 10000) then
352 !   ktmaps,ktmape = first/last wrf kt for which aer chem is done
353         ktmaps = kts
354         ktmape = kte
356 !   rce 2005-mar-09 - added kclm_calcbgn/end 
357 !   kclm_calcbgn,kclm_calcend = first/last pegasus array k
358 !   for which aer chem is done
359         k_pegshift = k_pegbegin - kts 
360         kclm_calcbgn = kts + k_pegshift
361         kclm_calcend = kte + k_pegshift
363 !   set some variables to their wrf-chem "standard" values
364         mode_force_dump = 0
365         levdbg_err = 0
366         levdbg_info = 15
368 !   eventually iymdcur & ihmscur should be set to the correct date/time 
369 !   using wrf timing routines
370         iymdcur = 1 + int( curr_secs/86400._8 )
371         ihmscur = nint( mod( curr_secs, 86400._8 ) )
373         t = curr_secs
374         ncorecnt = ktau - 1
376 #if defined ( aboxtest_box_testing_active )
377 ! *** start of "box testing" code section ***
378 !     these code lines should be inactive when running wrf-chem
380 !   get values for some "box test" variables
381         call aboxtest_get_extra_args( 20,   &
382                 iymdcur, ihmscur,   &
383                 idum, idum, idum, idum, idum, idum, idum,   &
384                 t, dum )
385 ! ***  end  of "box testing" code section ***
386 #endif
389 !   set "pegasus" grid size variables
390         itot = ite
391         jtot = jte
392         nsubareas = 1
394         ijcount_dum = 0
396         call print_mosaic_stats( 0 )
399         do 2920 jt = jts, jte
400         do 2910 it = its, ite
402         ijcount_dum = ijcount_dum + 1
403         dtchem = dtstepc
406 !   mode_force_dump selects a detailed dump of gaschem at either
407 !   first ijk grid, first ij column, all ijk, or no ijk
408         i_force_dump = 0
409 !       if (mode_force_dump .eq. 10) then
410 !           if ((it.eq.its) .and. (jt.eq.jts)) i_force_dump = 1
411 !       else if (mode_force_dump .eq. 100) then
412 !           i_force_dump = 1
413 !       else if (mode_force_dump .eq. 77) then
414 !           if ( (it .eq.  (its+ite)/2) .and.   &
415 !                (jt .eq.  (jts+jte)/2) ) i_force_dump = 1
416 !       end if
419 !       print 93010, 'calling mapaeraa - it, jt =', it, jt
420         call mapaer_tofrom_host( 0,                       &
421                 ims,ime, jms,jme, kms,kme,                    &
422                 its,ite, jts,jte, kts,kte,                    &
423                 it,      jt,      ktmaps,ktmape,              &
424                 num_moist, num_chem, moist, chem,             &
425                 t_phy, p_phy, rho_phy                         )
427 !rce 22-jul-2006 - save initial mixrats
428         rsub0(:,:,:) = rsub(:,:,:)
430         idiagaa_dum = 0
431         idiagbb_dum = 110
432 !rce 29-apr-2004 - following is for debugging texas 16 km run
433 !       if ((its.eq.38) .and. (jts.eq.38)   &
434 !                       .and. (ktau.eq.240)) idiagaa_dum = 1
435 !       if ((it .eq.45) .and. (jt .eq.71)   &
436 !                       .and. (ktau.eq.240)) idiagaa_dum = 1
437 !       if ( ijcount_dum > 169 .and. ktau > 2579 ) then !fastj crash
438 !       if ( ijcount_dum > 300 .and. ktau > 2969 ) then !madronovich crash
439 !       idiagaa_dum = 111
440 !       i_force_dump = 1
441 !    end if
443 !       if (ijcount_dum .le. 1) i_force_dump = 1
444 !       i_force_dump = 0
446         if (i_force_dump > 0) call aerchem_debug_dump( 1, it, jt, dtchem )
448 !       if ((it .eq.45) .and. (jt .eq.71)   &
449 !                       .and. (ktau.eq.240)) then
450 !           call aerchem_debug_dump( 1, it, jt, dtchem )
451 !           call aerchem_debug_dump( 3, it, jt, dtchem )
452 !       end if
454         if (idiagaa_dum > 0)   &
455         print 93010, 'calling aerchem - it,jt,maerchem =', it, jt, maerchem
456 !       print 93010, 'calling aerchem - it,jt,maerchem =', it, jt, maerchem
457         call aerchemistry( it, jt, kclm_calcbgn, kclm_calcend,   &
458                            dtchem, idiagaa_dum, vbs_nbin,        &
459                            ph_aer01(it,kms:kme,jt), ph_aer02(it,kms:kme,jt), &
460                            ph_aer03(it,kms:kme,jt), ph_aer04(it,kms:kme,jt), &
461                            kms,kme,config_flags%mozart_ph_diag  )
463 !  note units for aerosol is now ug/m3
465     call wrf_debug(300,"mosaic_aerchem_driver: back from aerchemistry")
466 !       if ((it .eq.45) .and. (jt .eq.71)   &
467 !                       .and. (ktau.eq.240)) then
468 !           call aerchem_debug_dump( 3, it, jt, dtchem )
469 !       end if
471         if (i_force_dump > 0) call aerchem_debug_dump( 3, it, jt, dtchem )
474         if (aernewnuc_onoff > 0) then
475             if (idiagaa_dum > 0) print 93010, 'calling mosaic_newnuc_1clm'
476             dtnuc = dtchem
477             call mosaic_newnuc_1clm( istat,  &
478                 it, jt, kclm_calcbgn, kclm_calcend,   &
479                 idiagbb_dum, dtchem, dtnuc, rsub0,   &
480                 id, ktau, ktauc, its, ite, jts, jte, kts, kte )
481         end if
484         if (aercoag_onoff > 0) then
485             if (idiagaa_dum > 0) print 93010, 'calling mosaic_coag_1clm'
486             dtcoag = dtchem
487             call mosaic_coag_1clm( istat,  &
488                 it, jt, kclm_calcbgn, kclm_calcend,   &
489                 idiagbb_dum, dtchem, dtcoag,   &
490                 id, ktau, ktauc, its, ite, jts, jte, kts, kte )
491         end if
494         if (idiagaa_dum > 0)   &
495         print 93010, 'calling mapaerbb'
496         call mapaer_tofrom_host( 1,                       &
497                 ims,ime, jms,jme, kms,kme,                    &
498                 its,ite, jts,jte, kts,kte,                    &
499                 it,      jt,      ktmaps,ktmape,              &
500                 num_moist, num_chem, moist, chem,             &
501                 t_phy, p_phy, rho_phy                         )
503 !       print 93010, 'backfrm mapaerbb', it, jt
504 2910    continue
505 2920    continue
508 !   rce 2005-apr-30 - added 2 calls to print_mosaic_stats
509         call print_mosaic_stats( 1 )
510         print 93010, 'leaving mosaic_aerchem_driver - ktau =', ktau
512         return
513         end subroutine mosaic_aerchem_driver
517 !----------------------------------------------------------------------
522         subroutine mapaer_tofrom_host( imap,                  &
523                 ims,ime, jms,jme, kms,kme,                    &
524                 its,ite, jts,jte, kts,kte,                    &
525                 it,      jt,      ktmaps,ktmape,              &
526                 num_moist, num_chem, moist, chem,             &
527                 t_phy, p_phy, rho_phy                         )
529         use module_configure, only:   &
530                 p_qv, p_qc, p_h2so4,p_sulf, p_hno3, p_hcl, p_nh3, p_o3,   &
531                 p_so2, p_h2o2, p_hcho, p_ho, p_ho2, p_no3,   &
532                 p_no, p_no2, p_hono, p_pan,  &
533        p_pcg1_b_c,p_pcg2_b_c,p_pcg3_b_c,p_pcg4_b_c,p_pcg5_b_c,p_pcg6_b_c, &
534        p_pcg7_b_c,p_pcg8_b_c,p_pcg9_b_c,p_opcg1_b_c,p_opcg2_b_c,p_opcg3_b_c, &
535        p_opcg4_b_c,p_opcg5_b_c,p_opcg6_b_c,p_opcg7_b_c,p_opcg8_b_c,p_pcg1_b_o,&
536        p_pcg2_b_o,p_pcg3_b_o,p_pcg4_b_o,p_pcg5_b_o,p_pcg6_b_o,p_pcg7_b_o,&
537        p_pcg8_b_o,p_pcg9_b_o,p_opcg1_b_o,p_opcg2_b_o,p_opcg3_b_o,p_opcg4_b_o, &
538        p_opcg5_b_o,p_opcg6_b_o,p_opcg7_b_o,p_opcg8_b_o,p_pcg1_f_c,p_pcg2_f_c, &
539        p_pcg3_f_c,p_pcg4_f_c,p_pcg5_f_c,p_pcg6_f_c,p_pcg7_f_c,p_pcg8_f_c, &
540        p_pcg9_f_c, p_opcg1_f_c,p_opcg2_f_c,p_opcg3_f_c,p_opcg4_f_c, &
541        p_opcg5_f_c,p_opcg6_f_c,p_opcg7_f_c,p_opcg8_f_c,p_pcg1_f_o, &
542        p_pcg2_f_o,p_pcg3_f_o,p_pcg4_f_o,p_pcg5_f_o,p_pcg6_f_o,p_pcg7_f_o, &
543        p_pcg8_f_o,p_pcg9_f_o,p_opcg1_f_o,p_opcg2_f_o,p_opcg3_f_o,p_opcg4_f_o,&
544        p_opcg5_f_o,p_opcg6_f_o,p_opcg7_f_o,p_opcg8_f_o, &
545        p_smpa,p_smpbb, &
546        p_gly, &
547        p_ant1_c,p_ant2_c,p_ant3_c,p_ant4_c,p_ant1_o,p_ant2_o,p_ant3_o,p_ant4_o,&
548        p_biog1_c,p_biog2_c,p_biog3_c,p_biog4_c,p_biog1_o, &
549        p_biog2_o,p_biog3_o,p_biog4_o, &
550 !       p_n2o5, p_clno2
551        p_n2o5, p_clno2, &
552        p_asoaX_a01, p_asoaX_a02, p_asoaX_a03, p_asoaX_a04, &
553        p_asoa1_a01, p_asoa1_a02, p_asoa1_a03, p_asoa1_a04, &
554        p_asoa2_a01, p_asoa2_a02, p_asoa2_a03, p_asoa2_a04, &
555        p_asoa3_a01, p_asoa3_a02, p_asoa3_a03, p_asoa3_a04, &
556        p_asoa4_a01, p_asoa4_a02, p_asoa4_a03, p_asoa4_a04, &
557        p_bsoaX_a01, p_bsoaX_a02, p_bsoaX_a03, p_bsoaX_a04, &
558        p_bsoa1_a01, p_bsoa1_a02, p_bsoa1_a03, p_bsoa1_a04, &
559        p_bsoa2_a01, p_bsoa2_a02, p_bsoa2_a03, p_bsoa2_a04, &
560        p_bsoa3_a01, p_bsoa3_a02, p_bsoa3_a03, p_bsoa3_a04, &
561        p_bsoa4_a01, p_bsoa4_a02, p_bsoa4_a03, p_bsoa4_a04, &
562        p_cvasoaX, p_cvasoa1, p_cvasoa2, p_cvasoa3, p_cvasoa4, &
563        p_cvbsoaX, p_cvbsoa1, p_cvbsoa2, p_cvbsoa3, p_cvbsoa4
565         use module_state_description, only:  param_first_scalar
566         use module_data_mosaic_asect
567         use module_data_mosaic_other
568         use module_mosaic_csuesat, only:  esat_gchm
569         use module_peg_util, only:  peg_error_fatal, peg_message
571         implicit none
573 !   subr arguments
575 !   imap determines mapping direction (chem-->rsub if <=0, rsub-->chem if >0)
576         integer, intent(in) :: imap
577 !   wrf array dimensions
578         integer, intent(in) :: num_moist, num_chem
579         integer, intent(in) :: ims, ime, jms, jme, kms, kme
580         integer, intent(in) :: its, ite, jts, jte, kts, kte
581 !   do mapping for wrf i,k,j grid points = [it,ktmaps:ktmape,jt]
582         integer, intent(in) :: it, jt, ktmaps, ktmape
583 !   
584         real, intent(in), dimension( ims:ime, kms:kme, jms:jme ) :: &
585                 t_phy, rho_phy, p_phy
587         real, intent(in), &
588                 dimension( ims:ime, kms:kme, jms:jme, 1:num_moist ) :: &
589                 moist
591         real, intent(inout), &
592                 dimension( ims:ime, kms:kme, jms:jme, 1:num_chem ) :: &
593                 chem
596 !   local variables
597         integer ido_l, idum, iphase, itype,   &
598                 k, k1, k2, kt, kt1, kt2, k_pegshift, l, n
599         integer p1st
600         real dum, dumesat, dumrsat, dumrelhum, onemeps
601         real factdens, factpres, factmoist, factgas,   &
602                 factaerso4, factaerno3, factaercl, factaermsa,   &
603                 factaerco3, factaernh4, factaerna, factaerca,   &
604                 factaeroin, factaeroc, factaerbc,   &
605        factaerpcg1_b_c,factaerpcg2_b_c,factaerpcg3_b_c,factaerpcg4_b_c,factaerpcg5_b_c,factaerpcg6_b_c, &
606        factaerpcg7_b_c,factaerpcg8_b_c,factaerpcg9_b_c,factaeropcg1_b_c,factaeropcg2_b_c,factaeropcg3_b_c, &
607        factaeropcg4_b_c,factaeropcg5_b_c,factaeropcg6_b_c,factaeropcg7_b_c,factaeropcg8_b_c,factaerpcg1_b_o,&
608        factaerpcg2_b_o,factaerpcg3_b_o,factaerpcg4_b_o,factaerpcg5_b_o,factaerpcg6_b_o,factaerpcg7_b_o,&
609        factaerpcg8_b_o,factaerpcg9_b_o,factaeropcg1_b_o,factaeropcg2_b_o,factaeropcg3_b_o,factaeropcg4_b_o, &
610        factaeropcg5_b_o,factaeropcg6_b_o,factaeropcg7_b_o,factaeropcg8_b_o,factaerpcg1_f_c,factaerpcg2_f_c, &
611        factaerpcg3_f_c,factaerpcg4_f_c,factaerpcg5_f_c,factaerpcg6_f_c,factaerpcg7_f_c,factaerpcg8_f_c, &
612        factaerpcg9_f_c, factaeropcg1_f_c,factaeropcg2_f_c,factaeropcg3_f_c,factaeropcg4_f_c, &
613        factaeropcg5_f_c,factaeropcg6_f_c,factaeropcg7_f_c,factaeropcg8_f_c,factaerpcg1_f_o, &
614        factaerpcg2_f_o,factaerpcg3_f_o,factaerpcg4_f_o,factaerpcg5_f_o,factaerpcg6_f_o,factaerpcg7_f_o, &
615        factaerpcg8_f_o,factaerpcg9_f_o,factaeropcg1_f_o,factaeropcg2_f_o,factaeropcg3_f_o,factaeropcg4_f_o,&
616        factaeropcg5_f_o,factaeropcg6_f_o,factaeropcg7_f_o,factaeropcg8_f_o,&
617        factaersmpa,factaersmpbb, &
618        factaerglyr1, factaerglyr2, factaerglysfc, factaerglynh4, factaerglyoh, &
619        factaerant1_c,factaerant2_c,factaerant3_c,factaerant4_c, &
620        factaerant1_o,factaerant2_o,factaerant3_o,factaerant4_o, &
621        factaerbiog1_c,factaerbiog2_c,factaerbiog3_c,factaerbiog4_c, &
622        factaerbiog1_o,factaerbiog2_o,factaerbiog3_o,factaerbiog4_o, &
623        factaerasoaX,factaerasoa1,factaerasoa2,factaerasoa3,factaerasoa4, &
624        factaerbsoaX,factaerbsoa1,factaerbsoa2,factaerbsoa3,factaerbsoa4, &
625                 factaerhysw, factaerwater, factaernum
627         real, parameter :: eps=0.622
629         character*80 msg
633 !   units conversion factors 
634 !   wrf-chem value = pegasus value X factor
636         factdens = 28.966e3      ! moleair/cm3 --> kgair/m3
637         factpres = 0.1           ! dyne/cm2 --> pa
638         factmoist = eps          ! moleh2o/moleair --> kgh2o/kgair
639         factgas = 1.0e6          ! mole/moleair --> ppm
641 !wig 9-Nov-2004: Change to converting from concentration to converting
642 !                from mixing ratio.
643 !       factaernum = 40.9        ! #/moleair --> #/m3 at STP
644 !! at 1 atm & 298 k,  1 m3 = 40.9 moleair,  1 liter = 0.0409 moleair
645         factaernum = 1000./28.966 ! 1 kg air = (1000/28.966) moleair
647         dum = factaernum*1.0e6   ! g/moleair --> ug/m3 at STP
648         factaerso4   = dum*mw_so4_aer
649         factaerno3   = dum*mw_no3_aer
650         factaercl    = dum*mw_cl_aer
651         factaermsa   = dum*mw_msa_aer
652         factaerco3   = dum*mw_co3_aer
653         factaernh4   = dum*mw_nh4_aer
654         factaerna    = dum*mw_na_aer
655         factaerca    = dum*mw_ca_aer
656         factaeroin   = dum*mw_oin_aer
657         factaeroc    = dum*mw_oc_aer
658         factaerbc    = dum*mw_bc_aer
659         factaerhysw  = dum*mw_water_aer
660         factaerwater = dum*mw_water_aer
661         factaerpcg1_b_c=dum*mw_pcg1_b_c_aer
662         factaerpcg2_b_c=dum*mw_pcg2_b_c_aer
663         factaerpcg3_b_c=dum*mw_pcg3_b_c_aer
664         factaerpcg4_b_c=dum*mw_pcg4_b_c_aer
665         factaerpcg5_b_c=dum*mw_pcg5_b_c_aer
666         factaerpcg6_b_c=dum*mw_pcg6_b_c_aer
667         factaerpcg7_b_c=dum*mw_pcg7_b_c_aer
668         factaerpcg8_b_c=dum*mw_pcg8_b_c_aer
669         factaerpcg9_b_c=dum*mw_pcg9_b_c_aer
670         factaerpcg1_b_o=dum*mw_pcg1_b_o_aer
671         factaerpcg2_b_o=dum*mw_pcg2_b_o_aer
672         factaerpcg3_b_o=dum*mw_pcg3_b_o_aer
673         factaerpcg4_b_o=dum*mw_pcg4_b_o_aer
674         factaerpcg5_b_o=dum*mw_pcg5_b_o_aer
675         factaerpcg6_b_o=dum*mw_pcg6_b_o_aer
676         factaerpcg7_b_o=dum*mw_pcg7_b_o_aer
677         factaerpcg8_b_o=dum*mw_pcg8_b_o_aer
678         factaerpcg9_b_o=dum*mw_pcg9_b_o_aer
679         factaeropcg1_b_c=dum*mw_opcg1_b_c_aer
680         factaeropcg2_b_c=dum*mw_opcg2_b_c_aer
681         factaeropcg3_b_c=dum*mw_opcg3_b_c_aer
682         factaeropcg4_b_c=dum*mw_opcg4_b_c_aer
683         factaeropcg5_b_c=dum*mw_opcg5_b_c_aer
684         factaeropcg6_b_c=dum*mw_opcg6_b_c_aer
685         factaeropcg7_b_c=dum*mw_opcg7_b_c_aer
686         factaeropcg8_b_c=dum*mw_opcg8_b_c_aer
687         factaeropcg1_b_o=dum*mw_opcg1_b_o_aer
688         factaeropcg2_b_o=dum*mw_opcg2_b_o_aer
689         factaeropcg3_b_o=dum*mw_opcg3_b_o_aer
690         factaeropcg4_b_o=dum*mw_opcg4_b_o_aer
691         factaeropcg5_b_o=dum*mw_opcg5_b_o_aer
692         factaeropcg6_b_o=dum*mw_opcg6_b_o_aer
693         factaeropcg7_b_o=dum*mw_opcg7_b_o_aer
694         factaeropcg8_b_o=dum*mw_opcg8_b_o_aer
695         factaerpcg1_f_c=dum*mw_pcg1_f_c_aer
696         factaerpcg2_f_c=dum*mw_pcg2_f_c_aer
697         factaerpcg3_f_c=dum*mw_pcg3_f_c_aer
698         factaerpcg4_f_c=dum*mw_pcg4_f_c_aer
699         factaerpcg5_f_c=dum*mw_pcg5_f_c_aer
700         factaerpcg6_f_c=dum*mw_pcg6_f_c_aer
701         factaerpcg7_f_c=dum*mw_pcg7_f_c_aer
702         factaerpcg8_f_c=dum*mw_pcg8_f_c_aer
703         factaerpcg9_f_c=dum*mw_pcg9_f_c_aer
704         factaerpcg1_f_o=dum*mw_pcg1_f_o_aer
705         factaerpcg2_f_o=dum*mw_pcg2_f_o_aer
706         factaerpcg3_f_o=dum*mw_pcg3_f_o_aer
707         factaerpcg4_f_o=dum*mw_pcg4_f_o_aer
708         factaerpcg5_f_o=dum*mw_pcg5_f_o_aer
709         factaerpcg6_f_o=dum*mw_pcg6_f_o_aer
710         factaerpcg7_f_o=dum*mw_pcg7_f_o_aer
711         factaerpcg8_f_o=dum*mw_pcg8_f_o_aer
712         factaerpcg9_f_o=dum*mw_pcg9_f_o_aer
713         factaeropcg1_f_c=dum*mw_opcg1_f_c_aer
714         factaeropcg2_f_c=dum*mw_opcg2_f_c_aer
715         factaeropcg3_f_c=dum*mw_opcg3_f_c_aer
716         factaeropcg4_f_c=dum*mw_opcg4_f_c_aer
717         factaeropcg5_f_c=dum*mw_opcg5_f_c_aer
718         factaeropcg6_f_c=dum*mw_opcg6_f_c_aer
719         factaeropcg7_f_c=dum*mw_opcg7_f_c_aer
720         factaeropcg8_f_c=dum*mw_opcg8_f_c_aer
721         factaeropcg1_f_o=dum*mw_opcg1_f_o_aer
722         factaeropcg2_f_o=dum*mw_opcg2_f_o_aer
723         factaeropcg3_f_o=dum*mw_opcg3_f_o_aer
724         factaeropcg4_f_o=dum*mw_opcg4_f_o_aer
725         factaeropcg5_f_o=dum*mw_opcg5_f_o_aer
726         factaeropcg6_f_o=dum*mw_opcg6_f_o_aer
727         factaeropcg7_f_o=dum*mw_opcg7_f_o_aer
728         factaeropcg8_f_o=dum*mw_opcg8_f_o_aer
729         factaersmpa=dum*mw_smpa_aer
730         factaersmpbb=dum*mw_smpbb_aer
731         factaerglyr1=dum*mw_glysoa_r1_aer
732         factaerglyr2=dum*mw_glysoa_r2_aer
733         factaerglysfc=dum*mw_glysoa_sfc_aer
734         factaerglynh4=dum*mw_glysoa_nh4_aer
735         factaerglyoh=dum*mw_glysoa_oh_aer
736         factaerant1_c=dum*mw_ant1_c_aer
737         factaerant2_c=dum*mw_ant2_c_aer
738         factaerant3_c=dum*mw_ant3_c_aer
739         factaerant4_c=dum*mw_ant4_c_aer
740         factaerant1_o=dum*mw_ant1_o_aer
741         factaerant2_o=dum*mw_ant2_o_aer
742         factaerant3_o=dum*mw_ant3_o_aer
743         factaerant4_o=dum*mw_ant4_o_aer
744         factaerbiog1_c=dum*mw_biog1_c_aer
745         factaerbiog2_c=dum*mw_biog2_c_aer
746         factaerbiog3_c=dum*mw_biog3_c_aer
747         factaerbiog4_c=dum*mw_biog4_c_aer
748         factaerbiog1_o=dum*mw_biog1_o_aer
749         factaerbiog2_o=dum*mw_biog2_o_aer
750         factaerbiog3_o=dum*mw_biog3_o_aer
751         factaerbiog4_o=dum*mw_biog4_o_aer
752         factaerasoaX=dum*mw_asoaX_aer
753         factaerasoa1=dum*mw_asoa1_aer
754         factaerasoa2=dum*mw_asoa2_aer
755         factaerasoa3=dum*mw_asoa3_aer
756         factaerasoa4=dum*mw_asoa4_aer
757         factaerbsoaX=dum*mw_bsoaX_aer
758         factaerbsoa1=dum*mw_bsoa1_aer
759         factaerbsoa2=dum*mw_bsoa2_aer
760         factaerbsoa3=dum*mw_bsoa3_aer
761         factaerbsoa4=dum*mw_bsoa4_aer
766 !   If aboxtest_units_convert=10, turn off units conversions both here
767 !   and in module_mosaic.  This is for testing, to allow exact agreements.
768         if (aboxtest_units_convert .eq. 10) then
769             factdens = 1.0
770             factpres = 1.0
771             factmoist = 1.0
772             factgas = 1.0
773             factaernum = 1.0
774             factaerso4   = 1.0
775             factaerno3   = 1.0
776             factaercl    = 1.0
777             factaermsa   = 1.0
778             factaerco3   = 1.0
779             factaernh4   = 1.0
780             factaerna    = 1.0
781             factaerca    = 1.0
782             factaeroin   = 1.0
783             factaeroc    = 1.0
784             factaerbc    = 1.0
785             factaerhysw  = 1.0
786             factaerwater = 1.0
787             factaerpcg1_b_c=1.0
788             factaerpcg2_b_c=1.0
789             factaerpcg3_b_c=1.0
790             factaerpcg4_b_c=1.0
791             factaerpcg5_b_c=1.0
792             factaerpcg6_b_c=1.0
793             factaerpcg7_b_c=1.0
794             factaerpcg8_b_c=1.0
795             factaerpcg9_b_c=1.0
796             factaerpcg1_b_o=1.0
797             factaerpcg2_b_o=1.0
798             factaerpcg3_b_o=1.0
799             factaerpcg4_b_o=1.0
800             factaerpcg5_b_o=1.0
801             factaerpcg6_b_o=1.0
802             factaerpcg7_b_o=1.0
803             factaerpcg8_b_o=1.0
804             factaerpcg9_b_o=1.0
805             factaeropcg1_b_c=1.0
806             factaeropcg2_b_c=1.0
807             factaeropcg3_b_c=1.0
808             factaeropcg4_b_c=1.0
809             factaeropcg5_b_c=1.0
810             factaeropcg6_b_c=1.0
811             factaeropcg7_b_c=1.0
812             factaeropcg8_b_c=1.0
813             factaeropcg1_b_o=1.0
814             factaeropcg2_b_o=1.0
815             factaeropcg3_b_o=1.0
816             factaeropcg4_b_o=1.0
817             factaeropcg5_b_o=1.0
818             factaeropcg6_b_o=1.0
819             factaeropcg7_b_o=1.0
820             factaeropcg8_b_o=1.0
821             factaerpcg1_f_c=1.0
822             factaerpcg2_f_c=1.0
823             factaerpcg3_f_c=1.0
824             factaerpcg4_f_c=1.0
825             factaerpcg5_f_c=1.0
826             factaerpcg6_f_c=1.0
827             factaerpcg7_f_c=1.0
828             factaerpcg8_f_c=1.0
829             factaerpcg9_f_c=1.0
830             factaerpcg1_f_o=1.0
831             factaerpcg2_f_o=1.0
832             factaerpcg3_f_o=1.0
833             factaerpcg4_f_o=1.0
834             factaerpcg5_f_o=1.0
835             factaerpcg6_f_o=1.0
836             factaerpcg7_f_o=1.0
837             factaerpcg8_f_o=1.0
838             factaerpcg9_f_o=1.0
839             factaeropcg1_f_c=1.0
840             factaeropcg2_f_c=1.0
841             factaeropcg3_f_c=1.0
842             factaeropcg4_f_c=1.0
843             factaeropcg5_f_c=1.0
844             factaeropcg6_f_c=1.0
845             factaeropcg7_f_c=1.0
846             factaeropcg8_f_c=1.0
847             factaeropcg1_f_o=1.0
848             factaeropcg2_f_o=1.0
849             factaeropcg3_f_o=1.0
850             factaeropcg4_f_o=1.0
851             factaeropcg5_f_o=1.0
852             factaeropcg6_f_o=1.0
853             factaeropcg7_f_o=1.0
854             factaeropcg8_f_o=1.0
855             factaersmpa=1.0
856             factaersmpbb=1.0
857             factaerglyr1=1.0
858             factaerglyr2=1.0
859             factaerglysfc=1.0
860             factaerglynh4=1.0
861             factaerglyoh=1.0
862             factaerant1_c=1.0
863             factaerant2_c=1.0
864             factaerant3_c=1.0
865             factaerant4_c=1.0
866             factaerant1_o=1.0
867             factaerant2_o=1.0
868             factaerant3_o=1.0
869             factaerant4_o=1.0
870             factaerbiog1_c=1.0
871             factaerbiog2_c=1.0
872             factaerbiog3_c=1.0
873             factaerbiog4_c=1.0
874             factaerbiog1_o=1.0
875             factaerbiog2_o=1.0
876             factaerbiog3_o=1.0
877             factaerbiog4_o=1.0
878             factaerasoaX=1.0
879             factaerasoa1=1.0
880             factaerasoa2=1.0
881             factaerasoa3=1.0
882             factaerasoa4=1.0
883             factaerbsoaX=1.0
884             factaerbsoa1=1.0
885             factaerbsoa2=1.0
886             factaerbsoa3=1.0
887             factaerbsoa4=1.0
892         end if
895 !   rce 2005-mar-09 - set ktot in mapaer_tofrom_host;
896 !       use k_pegshift for calc of ktot and k (=k_peg)
897 !   k_pegshift = k index shift between wrf-chem and pegasus arrays
898         k_pegshift = k_pegbegin - kts
900 !   set ktot = highest k index for pegasus arrays
901 !   since kts=1 and k_pegbegin=1, get k_pegshift=0 and ktot=kte-1
902         ktot = (kte-1) + k_pegshift
903 !   *** check that ktot and kte <= kmaxd ***
904         if ((kte > kmaxd) .or. (ktot > kmaxd) .or. (ktot <= 0)) then
905             write( msg, '(a,4i5)' )   &
906                 '*** subr mapaer_tofrom_host -- ' //   &
907                 'ktot, kmaxd, kts, kte', ktot, kmaxd, kts, kte
908             call peg_message( lunerr, msg )
909             msg = '*** subr mosaic_aerchem_driver -- ' //   &
910                 'kte>kmaxd OR ktot>kmaxd OR ktot<=0'
911             call peg_error_fatal( lunerr, msg )
912         end if
914 !   rce 2005-apr-28 - changed mapping loops to improve memory access
915 !   now do rsub(l,k1:k2,m) <--> chem(it,kt1:kt2,jt,l) for each species
916         kt1 = ktmaps
917         kt2 = ktmape
918         k1 = kt1 + k_pegshift
919         k2 = kt2 + k_pegshift
921         if (imap .gt. 0) goto 2000
924 !   imap==0 -- map species and state variables from host arrays 
925 !              to rsub, cairclm, ptotclm
927 !   first zero everything (except relhumclm)
928         rsub(:,:,:) = 0.0
929         cairclm(:) = 0.0
930         ptotclm(:) = 0.0
931         afracsubarea(:,:) = 0.0
932         relhumclm(:) = aboxtest_min_relhum
933         rcldwtr_sub(:,:) = 0.0
935         adrydens_sub( :,:,:,:) = 0.0
936         aqmassdry_sub(:,:,:,:) = 0.0
937         aqvoldry_sub( :,:,:,:) = 0.0
939 !   map gas and aerosol mixing ratios based on aboxtest_map_method
940 !       1 - map aerosol species and h2so4/hno3/hcl/nh3 using the p_xxx
941 !       2 - map 181 pegasus species using rsub(l) = chem(l+1)
942 !       3 - do 2 followed by 1
943 !       other - same as 1
944 !   (2 and 3 are for box test purposes)
945         if ((aboxtest_map_method .eq. 2) .or.   &
946             (aboxtest_map_method .eq. 3)) then
947             do l = 2, num_chem
948                 rsub(l,k1:k2,1) = chem(it,kt1:kt2,jt,l)/factgas
949             end do
950         end if
952         p1st = param_first_scalar
953         if (aboxtest_map_method .ne. 2) then
954             if (p_h2so4 .ge. p1st) then  
955                 rsub(kh2so4,k1:k2,1) = chem(it,kt1:kt2,jt,p_h2so4)/factgas
956             elseif (p_sulf .ge. p1st)   then
957                 rsub(kh2so4,k1:k2,1) = chem(it,kt1:kt2,jt,p_sulf)/factgas
958             endif
960             if (p_hno3 .ge. p1st)   &
961                 rsub(khno3,k1:k2,1)  = chem(it,kt1:kt2,jt,p_hno3)/factgas
962             if (p_hcl .ge. p1st)   &
963                 rsub(khcl,k1:k2,1)   = chem(it,kt1:kt2,jt,p_hcl)/factgas
964             if (p_nh3 .ge. p1st)   &
965                 rsub(knh3,k1:k2,1)   = chem(it,kt1:kt2,jt,p_nh3)/factgas
966             if (p_n2o5 .ge. p1st)   &
967                 rsub(kn2o5,k1:k2,1)   = chem(it,kt1:kt2,jt,p_n2o5)/factgas
968             if (p_clno2 .ge. p1st)   &
969                 rsub(kclno2,k1:k2,1)   = chem(it,kt1:kt2,jt,p_clno2)/factgas
971 !   rce 2005-apr-12 - added following species for cldchem, here and below:
972 !   ko3, kso2, kh2o2, khcho, khcooh, koh, kho2, 
973 !   kno3, kno, kno2, khono, kpan, kch3o2, kch3oh, kch3ooh
974             if (p_o3 .ge. p1st)   &
975                 rsub(ko3,k1:k2,1)   = chem(it,kt1:kt2,jt,p_o3)/factgas
976             if (p_so2 .ge. p1st)   &
977                 rsub(kso2,k1:k2,1)   = chem(it,kt1:kt2,jt,p_so2)/factgas
978             if (p_h2o2 .ge. p1st)   &
979                 rsub(kh2o2,k1:k2,1)   = chem(it,kt1:kt2,jt,p_h2o2)/factgas
980             if (p_hcho .ge. p1st)   &
981                 rsub(khcho,k1:k2,1)   = chem(it,kt1:kt2,jt,p_hcho)/factgas
982             if (p_ho .ge. p1st)   &
983                 rsub(koh,k1:k2,1)   = chem(it,kt1:kt2,jt,p_ho)/factgas
984             if (p_ho2 .ge. p1st)   &
985                 rsub(kho2,k1:k2,1)   = chem(it,kt1:kt2,jt,p_ho2)/factgas
986             if (p_no3 .ge. p1st)   &
987                 rsub(kno3,k1:k2,1)   = chem(it,kt1:kt2,jt,p_no3)/factgas
988             if (p_no .ge. p1st)   &
989                 rsub(kno,k1:k2,1)   = chem(it,kt1:kt2,jt,p_no)/factgas
990             if (p_no2 .ge. p1st)   &
991                 rsub(kno2,k1:k2,1)   = chem(it,kt1:kt2,jt,p_no2)/factgas
992             if (p_hono .ge. p1st)   &
993                 rsub(khono,k1:k2,1)   = chem(it,kt1:kt2,jt,p_hono)/factgas
994             if (p_pan .ge. p1st)   &
995                 rsub(kpan,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pan)/factgas
996             if (p_pcg1_b_c .ge. p1st)   &
997                 rsub(kpcg1_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg1_b_c)/factgas
998             if (p_pcg2_b_c .ge. p1st)   &
999                 rsub(kpcg2_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg2_b_c)/factgas
1000             if (p_pcg3_b_c .ge. p1st)   &
1001                 rsub(kpcg3_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg3_b_c)/factgas
1002             if (p_pcg4_b_c .ge. p1st)   &
1003                 rsub(kpcg4_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg4_b_c)/factgas
1004             if (p_pcg5_b_c .ge. p1st)   &
1005                 rsub(kpcg5_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg5_b_c)/factgas
1006             if (p_pcg6_b_c .ge. p1st)   &
1007                 rsub(kpcg6_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg6_b_c)/factgas
1008             if (p_pcg7_b_c .ge. p1st)   &
1009                 rsub(kpcg7_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg7_b_c)/factgas
1010             if (p_pcg8_b_c .ge. p1st)   &
1011                 rsub(kpcg8_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg8_b_c)/factgas
1012             if (p_pcg9_b_c .ge. p1st)   &
1013                 rsub(kpcg9_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg9_b_c)/factgas
1014             if (p_pcg1_b_o .ge. p1st)   &
1015                 rsub(kpcg1_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg1_b_o)/factgas
1016             if (p_pcg2_b_o .ge. p1st)   &
1017                 rsub(kpcg2_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg2_b_o)/factgas
1018             if (p_pcg3_b_o .ge. p1st)   &
1019                 rsub(kpcg3_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg3_b_o)/factgas
1020             if (p_pcg4_b_o .ge. p1st)   &
1021                 rsub(kpcg4_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg4_b_o)/factgas
1022             if (p_pcg5_b_o .ge. p1st)   &
1023                 rsub(kpcg5_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg5_b_o)/factgas
1024             if (p_pcg6_b_o .ge. p1st)   &
1025                 rsub(kpcg6_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg6_b_o)/factgas
1026             if (p_pcg7_b_o .ge. p1st)   &
1027                 rsub(kpcg7_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg7_b_o)/factgas
1028             if (p_pcg8_b_o .ge. p1st)   &
1029                 rsub(kpcg8_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg8_b_o)/factgas
1030             if (p_pcg9_b_o .ge. p1st)   &
1031                 rsub(kpcg9_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg9_b_o)/factgas
1032             if (p_opcg1_b_c .ge. p1st)   &
1033                 rsub(kopcg1_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg1_b_c)/factgas
1034             if (p_opcg2_b_c .ge. p1st)   &
1035                 rsub(kopcg2_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg2_b_c)/factgas
1036             if (p_opcg3_b_c .ge. p1st)   &
1037                 rsub(kopcg3_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg3_b_c)/factgas
1038             if (p_opcg4_b_c .ge. p1st)   &
1039                 rsub(kopcg4_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg4_b_c)/factgas
1040             if (p_opcg5_b_c .ge. p1st)   &
1041                 rsub(kopcg5_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg5_b_c)/factgas
1042             if (p_opcg6_b_c .ge. p1st)   &
1043                 rsub(kopcg6_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg6_b_c)/factgas
1044             if (p_opcg7_b_c .ge. p1st)   &
1045                 rsub(kopcg7_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg7_b_c)/factgas
1046             if (p_opcg8_b_c .ge. p1st)   &
1047                 rsub(kopcg8_b_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg8_b_c)/factgas
1048             if (p_opcg1_b_o .ge. p1st)   &
1049                 rsub(kopcg1_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg1_b_o)/factgas
1050             if (p_opcg2_b_o .ge. p1st)   &
1051                 rsub(kopcg2_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg2_b_o)/factgas
1052             if (p_opcg3_b_o .ge. p1st)   &
1053                 rsub(kopcg3_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg3_b_o)/factgas
1054             if (p_opcg4_b_o .ge. p1st)   &
1055                 rsub(kopcg4_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg4_b_o)/factgas
1056             if (p_opcg5_b_o .ge. p1st)   &
1057                 rsub(kopcg5_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg5_b_o)/factgas
1058             if (p_opcg6_b_o .ge. p1st)   &
1059                 rsub(kopcg6_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg6_b_o)/factgas
1060             if (p_opcg7_b_o .ge. p1st)   &
1061                 rsub(kopcg7_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg7_b_o)/factgas
1062             if (p_opcg8_b_o .ge. p1st)   &
1063                 rsub(kopcg8_b_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg8_b_o)/factgas
1064             if (p_pcg1_f_c .ge. p1st)   &
1065                 rsub(kpcg1_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg1_f_c)/factgas
1066             if (p_pcg2_f_c .ge. p1st)   &
1067                 rsub(kpcg2_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg2_f_c)/factgas
1068             if (p_pcg3_f_c .ge. p1st)   &
1069                 rsub(kpcg3_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg3_f_c)/factgas
1070             if (p_pcg4_f_c .ge. p1st)   &
1071                 rsub(kpcg4_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg4_f_c)/factgas
1072             if (p_pcg5_f_c .ge. p1st)   &
1073                 rsub(kpcg5_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg5_f_c)/factgas
1074             if (p_pcg6_f_c .ge. p1st)   &
1075                 rsub(kpcg6_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg6_f_c)/factgas
1076             if (p_pcg7_f_c .ge. p1st)   &
1077                 rsub(kpcg7_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg7_f_c)/factgas
1078             if (p_pcg8_f_c .ge. p1st)   &
1079                 rsub(kpcg8_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg8_f_c)/factgas
1080             if (p_pcg9_f_c .ge. p1st)   &
1081                 rsub(kpcg9_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg9_f_c)/factgas
1082             if (p_pcg1_f_o .ge. p1st)   &
1083                 rsub(kpcg1_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg1_f_o)/factgas
1084             if (p_pcg2_f_o .ge. p1st)   &
1085                 rsub(kpcg2_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg2_f_o)/factgas
1086             if (p_pcg3_f_o .ge. p1st)   &
1087                 rsub(kpcg3_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg3_f_o)/factgas
1088             if (p_pcg4_f_o .ge. p1st)   &
1089                 rsub(kpcg4_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg4_f_o)/factgas
1090             if (p_pcg5_f_o .ge. p1st)   &
1091                 rsub(kpcg5_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg5_f_o)/factgas
1092             if (p_pcg6_f_o .ge. p1st)   &
1093                 rsub(kpcg6_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg6_f_o)/factgas
1094             if (p_pcg7_f_o .ge. p1st)   &
1095                 rsub(kpcg7_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg7_f_o)/factgas
1096             if (p_pcg8_f_o .ge. p1st)   &
1097                 rsub(kpcg8_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg8_f_o)/factgas
1098             if (p_pcg9_f_o .ge. p1st)   &
1099                 rsub(kpcg9_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_pcg9_f_o)/factgas
1100             if (p_opcg1_f_c .ge. p1st)   &
1101                 rsub(kopcg1_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg1_f_c)/factgas
1102             if (p_opcg2_f_c .ge. p1st)   &
1103                 rsub(kopcg2_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg2_f_c)/factgas
1104             if (p_opcg3_f_c .ge. p1st)   &
1105                 rsub(kopcg3_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg3_f_c)/factgas
1106             if (p_opcg4_f_c .ge. p1st)   &
1107                 rsub(kopcg4_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg4_f_c)/factgas
1108             if (p_opcg5_f_c .ge. p1st)   &
1109                 rsub(kopcg5_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg5_f_c)/factgas
1110             if (p_opcg6_f_c .ge. p1st)   &
1111                 rsub(kopcg6_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg6_f_c)/factgas
1112             if (p_opcg7_f_c .ge. p1st)   &
1113                 rsub(kopcg7_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg7_f_c)/factgas
1114             if (p_opcg8_f_c .ge. p1st)   &
1115                 rsub(kopcg8_f_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg8_f_c)/factgas
1116             if (p_opcg1_f_o .ge. p1st)   &
1117                 rsub(kopcg1_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg1_f_o)/factgas
1118             if (p_opcg2_f_o .ge. p1st)   &
1119                 rsub(kopcg2_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg2_f_o)/factgas
1120             if (p_opcg3_f_o .ge. p1st)   &
1121                 rsub(kopcg3_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg3_f_o)/factgas
1122             if (p_opcg4_f_o .ge. p1st)   &
1123                 rsub(kopcg4_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg4_f_o)/factgas
1124             if (p_opcg5_f_o .ge. p1st)   &
1125                 rsub(kopcg5_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg5_f_o)/factgas
1126             if (p_opcg6_f_o .ge. p1st)   &
1127                 rsub(kopcg6_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg6_f_o)/factgas
1128             if (p_opcg7_f_o .ge. p1st)   &
1129                 rsub(kopcg7_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg7_f_o)/factgas
1130             if (p_opcg8_f_o .ge. p1st)   &
1131                 rsub(kopcg8_f_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_opcg8_f_o)/factgas
1132             if (p_smpa .ge. p1st)   &
1133                 rsub(ksmpa,k1:k2,1)   = chem(it,kt1:kt2,jt,p_smpa)/factgas
1134             if (p_smpbb .ge. p1st)   &
1135                 rsub(ksmpbb,k1:k2,1)   = chem(it,kt1:kt2,jt,p_smpbb)/factgas
1136             if (p_gly .ge. p1st)   &
1137                 rsub(kgly,k1:k2,1)   = chem(it,kt1:kt2,jt,p_gly)/factgas
1138             if (p_ant1_c .ge. p1st)   &
1139                 rsub(kant1_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_ant1_c)/factgas
1140             if (p_ant2_c .ge. p1st)   &
1141                 rsub(kant2_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_ant2_c)/factgas
1142             if (p_ant3_c .ge. p1st)   &
1143                 rsub(kant3_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_ant3_c)/factgas
1144             if (p_ant4_c .ge. p1st)   &
1145                 rsub(kant4_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_ant4_c)/factgas
1146             if (p_ant1_o .ge. p1st)   &
1147                 rsub(kant1_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_ant1_o)/factgas
1148             if (p_ant2_o .ge. p1st)   &
1149                 rsub(kant2_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_ant2_o)/factgas
1150             if (p_ant3_o .ge. p1st)   &
1151                 rsub(kant3_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_ant3_o)/factgas
1152             if (p_ant4_o .ge. p1st)   &
1153                 rsub(kant4_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_ant4_o)/factgas
1154             if (p_biog1_c .ge. p1st)   &
1155                 rsub(kbiog1_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_biog1_c)/factgas
1156             if (p_biog2_c .ge. p1st)   &
1157                 rsub(kbiog2_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_biog2_c)/factgas
1158             if (p_biog3_c .ge. p1st)   &
1159                 rsub(kbiog3_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_biog3_c)/factgas
1160             if (p_biog4_c .ge. p1st)   &
1161                 rsub(kbiog4_c,k1:k2,1)   = chem(it,kt1:kt2,jt,p_biog4_c)/factgas
1162             if (p_biog1_o .ge. p1st)   &
1163                 rsub(kbiog1_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_biog1_o)/factgas
1164             if (p_biog2_o .ge. p1st)   &
1165                 rsub(kbiog2_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_biog2_o)/factgas
1166             if (p_biog3_o .ge. p1st)   &
1167                 rsub(kbiog3_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_biog3_o)/factgas
1168             if (p_biog4_o .ge. p1st)   &
1169                 rsub(kbiog4_o,k1:k2,1)   = chem(it,kt1:kt2,jt,p_biog4_o)/factgas
1170             if (p_cvasoaX .ge. p1st)   &
1171                 rsub(kasoaX,k1:k2,1)   = chem(it,kt1:kt2,jt,p_cvasoaX)/factgas
1172             if (p_cvasoa1 .ge. p1st)   &
1173                 rsub(kasoa1,k1:k2,1)   = chem(it,kt1:kt2,jt,p_cvasoa1)/factgas
1174             if (p_cvasoa2 .ge. p1st)   &
1175                 rsub(kasoa2,k1:k2,1)   = chem(it,kt1:kt2,jt,p_cvasoa2)/factgas
1176             if (p_cvasoa3 .ge. p1st)   &
1177                 rsub(kasoa3,k1:k2,1)   = chem(it,kt1:kt2,jt,p_cvasoa3)/factgas
1178             if (p_cvasoa4 .ge. p1st)   &
1179                 rsub(kasoa4,k1:k2,1)   = chem(it,kt1:kt2,jt,p_cvasoa4)/factgas
1180             if (p_cvbsoaX .ge. p1st)   &
1181                 rsub(kbsoaX,k1:k2,1)   = chem(it,kt1:kt2,jt,p_cvbsoaX)/factgas
1182             if (p_cvbsoa1 .ge. p1st)   &
1183                 rsub(kbsoa1,k1:k2,1)   = chem(it,kt1:kt2,jt,p_cvbsoa1)/factgas
1184             if (p_cvbsoa2 .ge. p1st)   &
1185                 rsub(kbsoa2,k1:k2,1)   = chem(it,kt1:kt2,jt,p_cvbsoa2)/factgas
1186             if (p_cvbsoa3 .ge. p1st)   &
1187                 rsub(kbsoa3,k1:k2,1)   = chem(it,kt1:kt2,jt,p_cvbsoa3)/factgas
1188             if (p_cvbsoa4 .ge. p1st)   &
1189                 rsub(kbsoa4,k1:k2,1)   = chem(it,kt1:kt2,jt,p_cvbsoa4)/factgas
1192             do iphase=1,nphase_aer
1193             do itype=1,ntype_aer
1194             do n = 1, nsize_aer(itype)
1195                 rsub(lptr_so4_aer(n,itype,iphase),k1:k2,1) =   &
1196                     chem(it,kt1:kt2,jt,lptr_so4_aer(n,itype,iphase))/factaerso4
1197                 rsub(numptr_aer(n,itype,iphase),k1:k2,1) =   &
1198                     chem(it,kt1:kt2,jt,numptr_aer(n,itype,iphase))/factaernum
1200                 if (lptr_no3_aer(n,itype,iphase) .ge. p1st)   &
1201                     rsub(lptr_no3_aer(n,itype,iphase),k1:k2,1) =   &
1202                     chem(it,kt1:kt2,jt,lptr_no3_aer(n,itype,iphase))/factaerno3
1203                 if (lptr_cl_aer(n,itype,iphase) .ge. p1st)   &
1204                     rsub(lptr_cl_aer(n,itype,iphase),k1:k2,1) =   &
1205                     chem(it,kt1:kt2,jt,lptr_cl_aer(n,itype,iphase))/factaercl
1206                 if (lptr_msa_aer(n,itype,iphase) .ge. p1st)   &
1207                     rsub(lptr_msa_aer(n,itype,iphase),k1:k2,1) =   &
1208                     chem(it,kt1:kt2,jt,lptr_msa_aer(n,itype,iphase))/factaermsa
1209                 if (lptr_co3_aer(n,itype,iphase) .ge. p1st)   &
1210                     rsub(lptr_co3_aer(n,itype,iphase),k1:k2,1) =   &
1211                     chem(it,kt1:kt2,jt,lptr_co3_aer(n,itype,iphase))/factaerco3
1212                 if (lptr_nh4_aer(n,itype,iphase) .ge. p1st)   &
1213                     rsub(lptr_nh4_aer(n,itype,iphase),k1:k2,1) =   &
1214                     chem(it,kt1:kt2,jt,lptr_nh4_aer(n,itype,iphase))/factaernh4
1215                 if (lptr_na_aer(n,itype,iphase) .ge. p1st)   &
1216                     rsub(lptr_na_aer(n,itype,iphase),k1:k2,1) =   &
1217                     chem(it,kt1:kt2,jt,lptr_na_aer(n,itype,iphase))/factaerna
1218                 if (lptr_ca_aer(n,itype,iphase) .ge. p1st)   &
1219                     rsub(lptr_ca_aer(n,itype,iphase),k1:k2,1) =   &
1220                     chem(it,kt1:kt2,jt,lptr_ca_aer(n,itype,iphase))/factaerca
1221                 if (lptr_oin_aer(n,itype,iphase) .ge. p1st)   &
1222                     rsub(lptr_oin_aer(n,itype,iphase),k1:k2,1) =   &
1223                     chem(it,kt1:kt2,jt,lptr_oin_aer(n,itype,iphase))/factaeroin
1224                 if (lptr_oc_aer(n,itype,iphase) .ge. p1st)   &
1225                     rsub(lptr_oc_aer(n,itype,iphase),k1:k2,1) =   &
1226                     chem(it,kt1:kt2,jt,lptr_oc_aer(n,itype,iphase))/factaeroc
1227                 if (lptr_bc_aer(n,itype,iphase) .ge. p1st)   &
1228                     rsub(lptr_bc_aer(n,itype,iphase),k1:k2,1) =   &
1229                     chem(it,kt1:kt2,jt,lptr_bc_aer(n,itype,iphase))/factaerbc
1230                 if (hyswptr_aer(n,itype) .ge. p1st)   &
1231                     rsub(hyswptr_aer(n,itype),k1:k2,1) =   &
1232                     chem(it,kt1:kt2,jt,hyswptr_aer(n,itype))/factaerhysw
1233                 if (waterptr_aer(n,itype) .ge. p1st)   &
1234                     rsub(waterptr_aer(n,itype),k1:k2,1) =   &
1235                     chem(it,kt1:kt2,jt,waterptr_aer(n,itype))/factaerwater
1236                 if (lptr_pcg1_b_c_aer(n,itype,iphase) .ge. p1st)   &
1237                     rsub(lptr_pcg1_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1238                     chem(it,kt1:kt2,jt,lptr_pcg1_b_c_aer(n,itype,iphase))/factaerpcg1_b_c
1239                 if (lptr_pcg2_b_c_aer(n,itype,iphase) .ge. p1st)   &
1240                     rsub(lptr_pcg2_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1241                     chem(it,kt1:kt2,jt,lptr_pcg2_b_c_aer(n,itype,iphase))/factaerpcg2_b_c
1242                 if (lptr_pcg3_b_c_aer(n,itype,iphase) .ge. p1st)   &
1243                     rsub(lptr_pcg3_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1244                     chem(it,kt1:kt2,jt,lptr_pcg3_b_c_aer(n,itype,iphase))/factaerpcg3_b_c
1245                 if (lptr_pcg4_b_c_aer(n,itype,iphase) .ge. p1st)   &
1246                     rsub(lptr_pcg4_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1247                     chem(it,kt1:kt2,jt,lptr_pcg4_b_c_aer(n,itype,iphase))/factaerpcg4_b_c
1248                 if (lptr_pcg5_b_c_aer(n,itype,iphase) .ge. p1st)   &
1249                     rsub(lptr_pcg5_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1250                     chem(it,kt1:kt2,jt,lptr_pcg5_b_c_aer(n,itype,iphase))/factaerpcg5_b_c
1251                 if (lptr_pcg6_b_c_aer(n,itype,iphase) .ge. p1st)   &
1252                     rsub(lptr_pcg6_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1253                     chem(it,kt1:kt2,jt,lptr_pcg6_b_c_aer(n,itype,iphase))/factaerpcg6_b_c
1254                 if (lptr_pcg7_b_c_aer(n,itype,iphase) .ge. p1st)   &
1255                     rsub(lptr_pcg7_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1256                     chem(it,kt1:kt2,jt,lptr_pcg7_b_c_aer(n,itype,iphase))/factaerpcg7_b_c
1257                 if (lptr_pcg8_b_c_aer(n,itype,iphase) .ge. p1st)   &
1258                     rsub(lptr_pcg8_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1259                     chem(it,kt1:kt2,jt,lptr_pcg8_b_c_aer(n,itype,iphase))/factaerpcg8_b_c
1260                 if (lptr_pcg9_b_c_aer(n,itype,iphase) .ge. p1st)   &
1261                     rsub(lptr_pcg9_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1262                     chem(it,kt1:kt2,jt,lptr_pcg9_b_c_aer(n,itype,iphase))/factaerpcg9_b_c
1263                 if (lptr_pcg1_b_o_aer(n,itype,iphase) .ge. p1st)   &
1264                     rsub(lptr_pcg1_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1265                     chem(it,kt1:kt2,jt,lptr_pcg1_b_o_aer(n,itype,iphase))/factaerpcg1_b_o
1266                 if (lptr_pcg2_b_o_aer(n,itype,iphase) .ge. p1st)   &
1267                     rsub(lptr_pcg2_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1268                     chem(it,kt1:kt2,jt,lptr_pcg2_b_o_aer(n,itype,iphase))/factaerpcg2_b_o
1269                 if (lptr_pcg3_b_o_aer(n,itype,iphase) .ge. p1st)   &
1270                     rsub(lptr_pcg3_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1271                     chem(it,kt1:kt2,jt,lptr_pcg3_b_o_aer(n,itype,iphase))/factaerpcg3_b_o
1272                 if (lptr_pcg4_b_o_aer(n,itype,iphase) .ge. p1st)   &
1273                     rsub(lptr_pcg4_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1274                     chem(it,kt1:kt2,jt,lptr_pcg4_b_o_aer(n,itype,iphase))/factaerpcg4_b_o
1275                 if (lptr_pcg5_b_o_aer(n,itype,iphase) .ge. p1st)   &
1276                     rsub(lptr_pcg5_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1277                     chem(it,kt1:kt2,jt,lptr_pcg5_b_o_aer(n,itype,iphase))/factaerpcg5_b_o
1278                 if (lptr_pcg6_b_o_aer(n,itype,iphase) .ge. p1st)   &
1279                     rsub(lptr_pcg6_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1280                     chem(it,kt1:kt2,jt,lptr_pcg6_b_o_aer(n,itype,iphase))/factaerpcg6_b_o
1281                 if (lptr_pcg7_b_o_aer(n,itype,iphase) .ge. p1st)   &
1282                     rsub(lptr_pcg7_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1283                     chem(it,kt1:kt2,jt,lptr_pcg7_b_o_aer(n,itype,iphase))/factaerpcg7_b_o
1284                 if (lptr_pcg8_b_o_aer(n,itype,iphase) .ge. p1st)   &
1285                     rsub(lptr_pcg8_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1286                     chem(it,kt1:kt2,jt,lptr_pcg8_b_o_aer(n,itype,iphase))/factaerpcg8_b_o
1287                 if (lptr_pcg9_b_o_aer(n,itype,iphase) .ge. p1st)   &
1288                     rsub(lptr_pcg9_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1289                     chem(it,kt1:kt2,jt,lptr_pcg9_b_o_aer(n,itype,iphase))/factaerpcg9_b_o
1290                 if (lptr_opcg1_b_c_aer(n,itype,iphase) .ge. p1st)   &
1291                     rsub(lptr_opcg1_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1292                     chem(it,kt1:kt2,jt,lptr_opcg1_b_c_aer(n,itype,iphase))/factaeropcg1_b_c
1293                 if (lptr_opcg2_b_c_aer(n,itype,iphase) .ge. p1st)   &
1294                     rsub(lptr_opcg2_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1295                     chem(it,kt1:kt2,jt,lptr_opcg2_b_c_aer(n,itype,iphase))/factaeropcg2_b_c
1296                 if (lptr_opcg3_b_c_aer(n,itype,iphase) .ge. p1st)   &
1297                     rsub(lptr_opcg3_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1298                     chem(it,kt1:kt2,jt,lptr_opcg3_b_c_aer(n,itype,iphase))/factaeropcg3_b_c
1299                 if (lptr_opcg4_b_c_aer(n,itype,iphase) .ge. p1st)   &
1300                     rsub(lptr_opcg4_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1301                     chem(it,kt1:kt2,jt,lptr_opcg4_b_c_aer(n,itype,iphase))/factaeropcg4_b_c
1302                 if (lptr_opcg5_b_c_aer(n,itype,iphase) .ge. p1st)   &
1303                     rsub(lptr_opcg5_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1304                     chem(it,kt1:kt2,jt,lptr_opcg5_b_c_aer(n,itype,iphase))/factaeropcg5_b_c
1305                 if (lptr_opcg6_b_c_aer(n,itype,iphase) .ge. p1st)   &
1306                     rsub(lptr_opcg6_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1307                     chem(it,kt1:kt2,jt,lptr_opcg6_b_c_aer(n,itype,iphase))/factaeropcg6_b_c
1308                 if (lptr_opcg7_b_c_aer(n,itype,iphase) .ge. p1st)   &
1309                     rsub(lptr_opcg7_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1310                     chem(it,kt1:kt2,jt,lptr_opcg7_b_c_aer(n,itype,iphase))/factaeropcg7_b_c
1311                 if (lptr_opcg8_b_c_aer(n,itype,iphase) .ge. p1st)   &
1312                     rsub(lptr_opcg8_b_c_aer(n,itype,iphase),k1:k2,1) =   &
1313                     chem(it,kt1:kt2,jt,lptr_opcg8_b_c_aer(n,itype,iphase))/factaeropcg8_b_c
1314                 if (lptr_opcg1_b_o_aer(n,itype,iphase) .ge. p1st)   &
1315                     rsub(lptr_opcg1_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1316                     chem(it,kt1:kt2,jt,lptr_opcg1_b_o_aer(n,itype,iphase))/factaeropcg1_b_o
1317                 if (lptr_opcg2_b_o_aer(n,itype,iphase) .ge. p1st)   &
1318                     rsub(lptr_opcg2_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1319                     chem(it,kt1:kt2,jt,lptr_opcg2_b_o_aer(n,itype,iphase))/factaeropcg2_b_o
1320                 if (lptr_opcg3_b_o_aer(n,itype,iphase) .ge. p1st)   &
1321                     rsub(lptr_opcg3_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1322                     chem(it,kt1:kt2,jt,lptr_opcg3_b_o_aer(n,itype,iphase))/factaeropcg3_b_o
1323                 if (lptr_opcg4_b_o_aer(n,itype,iphase) .ge. p1st)   &
1324                     rsub(lptr_opcg4_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1325                     chem(it,kt1:kt2,jt,lptr_opcg4_b_o_aer(n,itype,iphase))/factaeropcg4_b_o
1326                 if (lptr_opcg5_b_o_aer(n,itype,iphase) .ge. p1st)   &
1327                     rsub(lptr_opcg5_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1328                     chem(it,kt1:kt2,jt,lptr_opcg5_b_o_aer(n,itype,iphase))/factaeropcg5_b_o
1329                 if (lptr_opcg6_b_o_aer(n,itype,iphase) .ge. p1st)   &
1330                     rsub(lptr_opcg6_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1331                     chem(it,kt1:kt2,jt,lptr_opcg6_b_o_aer(n,itype,iphase))/factaeropcg6_b_o
1332                 if (lptr_opcg7_b_o_aer(n,itype,iphase) .ge. p1st)   &
1333                     rsub(lptr_opcg7_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1334                     chem(it,kt1:kt2,jt,lptr_opcg7_b_o_aer(n,itype,iphase))/factaeropcg7_b_o
1335                 if (lptr_opcg8_b_o_aer(n,itype,iphase) .ge. p1st)   &
1336                     rsub(lptr_opcg8_b_o_aer(n,itype,iphase),k1:k2,1) =   &
1337                     chem(it,kt1:kt2,jt,lptr_opcg8_b_o_aer(n,itype,iphase))/factaeropcg8_b_o
1338                 if (lptr_pcg1_f_c_aer(n,itype,iphase) .ge. p1st)   &
1339                     rsub(lptr_pcg1_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1340                     chem(it,kt1:kt2,jt,lptr_pcg1_f_c_aer(n,itype,iphase))/factaerpcg1_f_c
1341                 if (lptr_pcg2_f_c_aer(n,itype,iphase) .ge. p1st)   &
1342                     rsub(lptr_pcg2_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1343                     chem(it,kt1:kt2,jt,lptr_pcg2_f_c_aer(n,itype,iphase))/factaerpcg2_f_c
1344                 if (lptr_pcg3_f_c_aer(n,itype,iphase) .ge. p1st)   &
1345                     rsub(lptr_pcg3_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1346                     chem(it,kt1:kt2,jt,lptr_pcg3_f_c_aer(n,itype,iphase))/factaerpcg3_f_c
1347                 if (lptr_pcg4_f_c_aer(n,itype,iphase) .ge. p1st)   &
1348                     rsub(lptr_pcg4_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1349                     chem(it,kt1:kt2,jt,lptr_pcg4_f_c_aer(n,itype,iphase))/factaerpcg4_f_c
1350                 if (lptr_pcg5_f_c_aer(n,itype,iphase) .ge. p1st)   &
1351                     rsub(lptr_pcg5_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1352                     chem(it,kt1:kt2,jt,lptr_pcg5_f_c_aer(n,itype,iphase))/factaerpcg5_f_c
1353                 if (lptr_pcg6_f_c_aer(n,itype,iphase) .ge. p1st)   &
1354                     rsub(lptr_pcg6_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1355                     chem(it,kt1:kt2,jt,lptr_pcg6_f_c_aer(n,itype,iphase))/factaerpcg6_f_c
1356                 if (lptr_pcg7_f_c_aer(n,itype,iphase) .ge. p1st)   &
1357                     rsub(lptr_pcg7_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1358                     chem(it,kt1:kt2,jt,lptr_pcg7_f_c_aer(n,itype,iphase))/factaerpcg7_f_c
1359                 if (lptr_pcg8_f_c_aer(n,itype,iphase) .ge. p1st)   &
1360                     rsub(lptr_pcg8_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1361                     chem(it,kt1:kt2,jt,lptr_pcg8_f_c_aer(n,itype,iphase))/factaerpcg8_f_c
1362                 if (lptr_pcg9_f_c_aer(n,itype,iphase) .ge. p1st)   &
1363                     rsub(lptr_pcg9_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1364                     chem(it,kt1:kt2,jt,lptr_pcg9_f_c_aer(n,itype,iphase))/factaerpcg9_f_c
1365                 if (lptr_pcg1_f_o_aer(n,itype,iphase) .ge. p1st)   &
1366                     rsub(lptr_pcg1_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1367                     chem(it,kt1:kt2,jt,lptr_pcg1_f_o_aer(n,itype,iphase))/factaerpcg1_f_o
1368                 if (lptr_pcg2_f_o_aer(n,itype,iphase) .ge. p1st)   &
1369                     rsub(lptr_pcg2_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1370                     chem(it,kt1:kt2,jt,lptr_pcg2_f_o_aer(n,itype,iphase))/factaerpcg2_f_o
1371                 if (lptr_pcg3_f_o_aer(n,itype,iphase) .ge. p1st)   &
1372                     rsub(lptr_pcg3_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1373                     chem(it,kt1:kt2,jt,lptr_pcg3_f_o_aer(n,itype,iphase))/factaerpcg3_f_o
1374                 if (lptr_pcg4_f_o_aer(n,itype,iphase) .ge. p1st)   &
1375                     rsub(lptr_pcg4_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1376                     chem(it,kt1:kt2,jt,lptr_pcg4_f_o_aer(n,itype,iphase))/factaerpcg4_f_o
1377                 if (lptr_pcg5_f_o_aer(n,itype,iphase) .ge. p1st)   &
1378                     rsub(lptr_pcg5_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1379                     chem(it,kt1:kt2,jt,lptr_pcg5_f_o_aer(n,itype,iphase))/factaerpcg5_f_o
1380                 if (lptr_pcg6_f_o_aer(n,itype,iphase) .ge. p1st)   &
1381                     rsub(lptr_pcg6_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1382                     chem(it,kt1:kt2,jt,lptr_pcg6_f_o_aer(n,itype,iphase))/factaerpcg6_f_o
1383                 if (lptr_pcg7_f_o_aer(n,itype,iphase) .ge. p1st)   &
1384                     rsub(lptr_pcg7_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1385                     chem(it,kt1:kt2,jt,lptr_pcg7_f_o_aer(n,itype,iphase))/factaerpcg7_f_o
1386                 if (lptr_pcg8_f_o_aer(n,itype,iphase) .ge. p1st)   &
1387                     rsub(lptr_pcg8_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1388                     chem(it,kt1:kt2,jt,lptr_pcg8_f_o_aer(n,itype,iphase))/factaerpcg8_f_o
1389                 if (lptr_pcg9_f_o_aer(n,itype,iphase) .ge. p1st)   &
1390                     rsub(lptr_pcg9_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1391                     chem(it,kt1:kt2,jt,lptr_pcg9_f_o_aer(n,itype,iphase))/factaerpcg9_f_o
1392                 if (lptr_opcg1_f_c_aer(n,itype,iphase) .ge. p1st)   &
1393                     rsub(lptr_opcg1_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1394                     chem(it,kt1:kt2,jt,lptr_opcg1_f_c_aer(n,itype,iphase))/factaeropcg1_f_c
1395                 if (lptr_opcg2_f_c_aer(n,itype,iphase) .ge. p1st)   &
1396                     rsub(lptr_opcg2_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1397                     chem(it,kt1:kt2,jt,lptr_opcg2_f_c_aer(n,itype,iphase))/factaeropcg2_f_c
1398                 if (lptr_opcg3_f_c_aer(n,itype,iphase) .ge. p1st)   &
1399                     rsub(lptr_opcg3_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1400                     chem(it,kt1:kt2,jt,lptr_opcg3_f_c_aer(n,itype,iphase))/factaeropcg3_f_c
1401                 if (lptr_opcg4_f_c_aer(n,itype,iphase) .ge. p1st)   &
1402                     rsub(lptr_opcg4_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1403                     chem(it,kt1:kt2,jt,lptr_opcg4_f_c_aer(n,itype,iphase))/factaeropcg4_f_c
1404                 if (lptr_opcg5_f_c_aer(n,itype,iphase) .ge. p1st)   &
1405                     rsub(lptr_opcg5_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1406                     chem(it,kt1:kt2,jt,lptr_opcg5_f_c_aer(n,itype,iphase))/factaeropcg5_f_c
1407                 if (lptr_opcg6_f_c_aer(n,itype,iphase) .ge. p1st)   &
1408                     rsub(lptr_opcg6_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1409                     chem(it,kt1:kt2,jt,lptr_opcg6_f_c_aer(n,itype,iphase))/factaeropcg6_f_c
1410                 if (lptr_opcg7_f_c_aer(n,itype,iphase) .ge. p1st)   &
1411                     rsub(lptr_opcg7_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1412                     chem(it,kt1:kt2,jt,lptr_opcg7_f_c_aer(n,itype,iphase))/factaeropcg7_f_c
1413                 if (lptr_opcg8_f_c_aer(n,itype,iphase) .ge. p1st)   &
1414                     rsub(lptr_opcg8_f_c_aer(n,itype,iphase),k1:k2,1) =   &
1415                     chem(it,kt1:kt2,jt,lptr_opcg8_f_c_aer(n,itype,iphase))/factaeropcg8_f_c
1416                 if (lptr_opcg1_f_o_aer(n,itype,iphase) .ge. p1st)   &
1417                     rsub(lptr_opcg1_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1418                     chem(it,kt1:kt2,jt,lptr_opcg1_f_o_aer(n,itype,iphase))/factaeropcg1_f_o
1419                 if (lptr_opcg2_f_o_aer(n,itype,iphase) .ge. p1st)   &
1420                     rsub(lptr_opcg2_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1421                     chem(it,kt1:kt2,jt,lptr_opcg2_f_o_aer(n,itype,iphase))/factaeropcg2_f_o
1422                 if (lptr_opcg3_f_o_aer(n,itype,iphase) .ge. p1st)   &
1423                     rsub(lptr_opcg3_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1424                     chem(it,kt1:kt2,jt,lptr_opcg3_f_o_aer(n,itype,iphase))/factaeropcg3_f_o
1425                 if (lptr_opcg4_f_o_aer(n,itype,iphase) .ge. p1st)   &
1426                     rsub(lptr_opcg4_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1427                     chem(it,kt1:kt2,jt,lptr_opcg4_f_o_aer(n,itype,iphase))/factaeropcg4_f_o
1428                 if (lptr_opcg5_f_o_aer(n,itype,iphase) .ge. p1st)   &
1429                     rsub(lptr_opcg5_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1430                     chem(it,kt1:kt2,jt,lptr_opcg5_f_o_aer(n,itype,iphase))/factaeropcg5_f_o
1431                 if (lptr_opcg6_f_o_aer(n,itype,iphase) .ge. p1st)   &
1432                     rsub(lptr_opcg6_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1433                     chem(it,kt1:kt2,jt,lptr_opcg6_f_o_aer(n,itype,iphase))/factaeropcg6_f_o
1434                 if (lptr_opcg7_f_o_aer(n,itype,iphase) .ge. p1st)   &
1435                     rsub(lptr_opcg7_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1436                     chem(it,kt1:kt2,jt,lptr_opcg7_f_o_aer(n,itype,iphase))/factaeropcg7_f_o
1437                 if (lptr_opcg8_f_o_aer(n,itype,iphase) .ge. p1st)   &
1438                     rsub(lptr_opcg8_f_o_aer(n,itype,iphase),k1:k2,1) =   &
1439                     chem(it,kt1:kt2,jt,lptr_opcg8_f_o_aer(n,itype,iphase))/factaeropcg8_f_o
1440                 if (lptr_smpa_aer(n,itype,iphase) .ge. p1st)   &
1441                     rsub(lptr_smpa_aer(n,itype,iphase),k1:k2,1) =   &
1442                     chem(it,kt1:kt2,jt,lptr_smpa_aer(n,itype,iphase))/factaersmpa
1443                 if (lptr_smpbb_aer(n,itype,iphase) .ge. p1st)   &
1444                     rsub(lptr_smpbb_aer(n,itype,iphase),k1:k2,1) =   &
1445                     chem(it,kt1:kt2,jt,lptr_smpbb_aer(n,itype,iphase))/factaersmpbb
1446                 if (lptr_glysoa_r1_aer(n,itype,iphase) .ge. p1st)   &
1447                     rsub(lptr_glysoa_r1_aer(n,itype,iphase),k1:k2,1) =   &
1448                     chem(it,kt1:kt2,jt,lptr_glysoa_r1_aer(n,itype,iphase))/factaerglyr1
1449                 if (lptr_glysoa_r2_aer(n,itype,iphase) .ge. p1st)   &
1450                     rsub(lptr_glysoa_r2_aer(n,itype,iphase),k1:k2,1) =   &
1451                     chem(it,kt1:kt2,jt,lptr_glysoa_r2_aer(n,itype,iphase))/factaerglyr2
1452                 if (lptr_glysoa_sfc_aer(n,itype,iphase) .ge. p1st)   &
1453                     rsub(lptr_glysoa_sfc_aer(n,itype,iphase),k1:k2,1) =   &
1454                     chem(it,kt1:kt2,jt,lptr_glysoa_sfc_aer(n,itype,iphase))/factaerglysfc
1455                 if (lptr_glysoa_oh_aer(n,itype,iphase) .ge. p1st)   &
1456                     rsub(lptr_glysoa_oh_aer(n,itype,iphase),k1:k2,1) =   &
1457                     chem(it,kt1:kt2,jt,lptr_glysoa_oh_aer(n,itype,iphase))/factaerglyoh
1458                 if (lptr_glysoa_nh4_aer(n,itype,iphase) .ge. p1st)   &
1459                     rsub(lptr_glysoa_nh4_aer(n,itype,iphase),k1:k2,1) =   &
1460                     chem(it,kt1:kt2,jt,lptr_glysoa_nh4_aer(n,itype,iphase))/factaerglynh4
1461                 if (lptr_ant1_c_aer(n,itype,iphase) .ge. p1st)   &
1462                     rsub(lptr_ant1_c_aer(n,itype,iphase),k1:k2,1) =   &
1463                     chem(it,kt1:kt2,jt,lptr_ant1_c_aer(n,itype,iphase))/factaerant1_c
1464                 if (lptr_ant2_c_aer(n,itype,iphase) .ge. p1st)   &
1465                     rsub(lptr_ant2_c_aer(n,itype,iphase),k1:k2,1) =   &
1466                     chem(it,kt1:kt2,jt,lptr_ant2_c_aer(n,itype,iphase))/factaerant2_c
1467                 if (lptr_ant3_c_aer(n,itype,iphase) .ge. p1st)   &
1468                     rsub(lptr_ant3_c_aer(n,itype,iphase),k1:k2,1) =   &
1469                     chem(it,kt1:kt2,jt,lptr_ant3_c_aer(n,itype,iphase))/factaerant3_c
1470                 if (lptr_ant4_c_aer(n,itype,iphase) .ge. p1st)   &
1471                     rsub(lptr_ant4_c_aer(n,itype,iphase),k1:k2,1) =   &
1472                     chem(it,kt1:kt2,jt,lptr_ant4_c_aer(n,itype,iphase))/factaerant4_c
1473                 if (lptr_ant1_o_aer(n,itype,iphase) .ge. p1st)   &
1474                     rsub(lptr_ant1_o_aer(n,itype,iphase),k1:k2,1) =   &
1475                     chem(it,kt1:kt2,jt,lptr_ant1_o_aer(n,itype,iphase))/factaerant1_o
1476                 if (lptr_ant2_o_aer(n,itype,iphase) .ge. p1st)   &
1477                     rsub(lptr_ant2_o_aer(n,itype,iphase),k1:k2,1) =   &
1478                     chem(it,kt1:kt2,jt,lptr_ant2_o_aer(n,itype,iphase))/factaerant2_o
1479                 if (lptr_ant3_o_aer(n,itype,iphase) .ge. p1st)   &
1480                     rsub(lptr_ant3_o_aer(n,itype,iphase),k1:k2,1) =   &
1481                     chem(it,kt1:kt2,jt,lptr_ant3_o_aer(n,itype,iphase))/factaerant3_o
1482                 if (lptr_ant4_o_aer(n,itype,iphase) .ge. p1st)   &
1483                     rsub(lptr_ant4_o_aer(n,itype,iphase),k1:k2,1) =   &
1484                     chem(it,kt1:kt2,jt,lptr_ant4_o_aer(n,itype,iphase))/factaerant4_o
1485                 if (lptr_biog1_c_aer(n,itype,iphase) .ge. p1st)   &
1486                     rsub(lptr_biog1_c_aer(n,itype,iphase),k1:k2,1) =   &
1487                     chem(it,kt1:kt2,jt,lptr_biog1_c_aer(n,itype,iphase))/factaerbiog1_c
1488                 if (lptr_biog2_c_aer(n,itype,iphase) .ge. p1st)   &
1489                     rsub(lptr_biog2_c_aer(n,itype,iphase),k1:k2,1) =   &
1490                     chem(it,kt1:kt2,jt,lptr_biog2_c_aer(n,itype,iphase))/factaerbiog2_c
1491                 if (lptr_biog3_c_aer(n,itype,iphase) .ge. p1st)   &
1492                     rsub(lptr_biog3_c_aer(n,itype,iphase),k1:k2,1) =   &
1493                     chem(it,kt1:kt2,jt,lptr_biog3_c_aer(n,itype,iphase))/factaerbiog3_c
1494                 if (lptr_biog4_c_aer(n,itype,iphase) .ge. p1st)   &
1495                     rsub(lptr_biog4_c_aer(n,itype,iphase),k1:k2,1) =   &
1496                     chem(it,kt1:kt2,jt,lptr_biog4_c_aer(n,itype,iphase))/factaerbiog4_c
1497                 if (lptr_biog1_o_aer(n,itype,iphase) .ge. p1st)   &
1498                     rsub(lptr_biog1_o_aer(n,itype,iphase),k1:k2,1) =   &
1499                     chem(it,kt1:kt2,jt,lptr_biog1_o_aer(n,itype,iphase))/factaerbiog1_o
1500                 if (lptr_biog2_o_aer(n,itype,iphase) .ge. p1st)   &
1501                     rsub(lptr_biog2_o_aer(n,itype,iphase),k1:k2,1) =   &
1502                     chem(it,kt1:kt2,jt,lptr_biog2_o_aer(n,itype,iphase))/factaerbiog2_o
1503                 if (lptr_biog3_o_aer(n,itype,iphase) .ge. p1st)   &
1504                     rsub(lptr_biog3_o_aer(n,itype,iphase),k1:k2,1) =   &
1505                     chem(it,kt1:kt2,jt,lptr_biog3_o_aer(n,itype,iphase))/factaerbiog3_o
1506                 if (lptr_biog4_o_aer(n,itype,iphase) .ge. p1st)   &
1507                     rsub(lptr_biog4_o_aer(n,itype,iphase),k1:k2,1) =   &
1508                     chem(it,kt1:kt2,jt,lptr_biog4_o_aer(n,itype,iphase))/factaerbiog4_o
1509                 if (lptr_asoaX_aer(n,itype,iphase) .ge. p1st)   &
1510                     rsub(lptr_asoaX_aer(n,itype,iphase),k1:k2,1) =   &
1511                     chem(it,kt1:kt2,jt,lptr_asoaX_aer(n,itype,iphase))/factaerasoaX
1512                 if (lptr_asoa1_aer(n,itype,iphase) .ge. p1st)   &
1513                     rsub(lptr_asoa1_aer(n,itype,iphase),k1:k2,1) =   &
1514                     chem(it,kt1:kt2,jt,lptr_asoa1_aer(n,itype,iphase))/factaerasoa1
1515                 if (lptr_asoa2_aer(n,itype,iphase) .ge. p1st)   &
1516                     rsub(lptr_asoa2_aer(n,itype,iphase),k1:k2,1) =   &
1517                     chem(it,kt1:kt2,jt,lptr_asoa2_aer(n,itype,iphase))/factaerasoa2
1518                 if (lptr_asoa3_aer(n,itype,iphase) .ge. p1st)   &
1519                     rsub(lptr_asoa3_aer(n,itype,iphase),k1:k2,1) =   &
1520                     chem(it,kt1:kt2,jt,lptr_asoa3_aer(n,itype,iphase))/factaerasoa3
1521                 if (lptr_asoa4_aer(n,itype,iphase) .ge. p1st)   &
1522                     rsub(lptr_asoa4_aer(n,itype,iphase),k1:k2,1) =   &
1523                     chem(it,kt1:kt2,jt,lptr_asoa4_aer(n,itype,iphase))/factaerasoa4
1524                 if (lptr_bsoaX_aer(n,itype,iphase) .ge. p1st)   &
1525                     rsub(lptr_bsoaX_aer(n,itype,iphase),k1:k2,1) =   &
1526                     chem(it,kt1:kt2,jt,lptr_bsoaX_aer(n,itype,iphase))/factaerbsoaX
1527                 if (lptr_bsoa1_aer(n,itype,iphase) .ge. p1st)   &
1528                     rsub(lptr_bsoa1_aer(n,itype,iphase),k1:k2,1) =   &
1529                     chem(it,kt1:kt2,jt,lptr_bsoa1_aer(n,itype,iphase))/factaerbsoa1
1530                 if (lptr_bsoa2_aer(n,itype,iphase) .ge. p1st)   &
1531                     rsub(lptr_bsoa2_aer(n,itype,iphase),k1:k2,1) =   &
1532                     chem(it,kt1:kt2,jt,lptr_bsoa2_aer(n,itype,iphase))/factaerbsoa2
1533                 if (lptr_bsoa3_aer(n,itype,iphase) .ge. p1st)   &
1534                     rsub(lptr_bsoa3_aer(n,itype,iphase),k1:k2,1) =   &
1535                     chem(it,kt1:kt2,jt,lptr_bsoa3_aer(n,itype,iphase))/factaerbsoa3
1536                 if (lptr_bsoa4_aer(n,itype,iphase) .ge. p1st)   &
1537                     rsub(lptr_bsoa4_aer(n,itype,iphase),k1:k2,1) =   &
1538                     chem(it,kt1:kt2,jt,lptr_bsoa4_aer(n,itype,iphase))/factaerbsoa4
1540             end do ! size
1541             end do ! type
1542             end do ! phase
1543         end if
1545 !   map state variables
1546         afracsubarea(k1:k2,1) = 1.0
1547         rsub(ktemp,k1:k2,1) = t_phy(it,kt1:kt2,jt)
1548         rsub(kh2o,k1:k2,1) = moist(it,kt1:kt2,jt,p_qv)/factmoist
1549         cairclm(k1:k2) = rho_phy(it,kt1:kt2,jt)/factdens
1550         ptotclm(k1:k2) = p_phy(it,kt1:kt2,jt)/factpres
1551         if (p_qc .ge. p1st)   &
1552             rcldwtr_sub(k1:k2,1) = moist(it,kt1:kt2,jt,p_qc)/factmoist
1554 !   compute or get relative humidity, based on aboxtest_rh_method
1555 !       1 - compute from water vapor, temperature, and pressure
1556 !       2 - get from test driver via aboxtest_get_extra_args with iflag=30
1557 !       3 - do both, and use the relhum from test driver
1558 !       other positive - same as 1
1559 !       0 or negative - set to aboxtest_min_relhum
1561 #if defined ( aboxtest_box_testing_active )
1562 ! *** start of "box testing" code section ***
1563 !     these code lines should be inactive when running wrf-chem
1565 !   get relhumclm from box test driver
1566         if ((aboxtest_rh_method .eq. 2) .or.   &
1567             (aboxtest_rh_method .eq. 3)) then
1568             do kt = ktmaps, ktmape
1569                 k = kt + k_pegshift
1570                 call aboxtest_get_extra_args( 30,   &
1571                     it, jt, k, idum, idum, idum, idum, idum, idum,   &
1572                     relhumclm(k), dum )
1573             end do
1574         end if
1575 ! ***  end  of "box testing" code section ***
1576 #endif
1578 !   compute relhumclm from water vapor, temperature, and pressure
1579 !   *** force relhum to between aboxtest_min/max_relhum
1580         if ((aboxtest_rh_method .gt. 0) .and.   &
1581             (aboxtest_rh_method .ne. 2)) then
1582             do kt = ktmaps, ktmape
1583                 k = kt + k_pegshift
1584                 onemeps = 1.0 - 0.622
1585                 dumesat = esat_gchm( rsub(ktemp,k,1) )
1586                 dumrsat = dumesat / (ptotclm(k) - onemeps*dumesat)
1587                 dumrelhum = rsub(kh2o,k,1) / max( dumrsat, 1.e-20 )
1589                 dumrelhum = max( 0.0, min( 0.99, dumrelhum ) )
1591                 if (aboxtest_rh_method .eq. 3) then
1592 !                   write(msg,9720) k, relhumclm(k), dumrelhum,   &
1593 !                       (dumrelhum-relhumclm(k))
1594 !9720               format( 'k,rh1,rh2,2-1', i4, 3f14.10 )
1595 !                   call peg_message( lunerr, msg )
1596                     continue
1597                 else
1598                     relhumclm(k) = dumrelhum
1599                 end if
1600                 relhumclm(k) = max( relhumclm(k), aboxtest_min_relhum )
1601                 relhumclm(k) = min( relhumclm(k), aboxtest_max_relhum )
1602             end do
1603         end if
1605 !   *** force temperature to be > aboxtest_min_temp
1606         do kt = ktmaps, ktmape
1607             k = kt + k_pegshift
1608             rsub(ktemp,k,1) =   &
1609                 max( rsub(ktemp,k,1), aboxtest_min_temp )
1610         end do
1612         return
1616 !   imap==1 -- map species from rsub back to host arrays 
1617 !   (map gas and aerosol mixing ratios based on aboxtest_map_method as above)
1619 !   when aboxtest_gases_fixed==10, leave gases (h2so4,hno3,...) unchanged
1621 2000    continue
1622 !   map gas and aerosol mixing ratios based on aboxtest_map_method
1623 !       1 - map aerosol species and h2so4/hno3/hcl/nh3 using the p_xxx
1624 !       2 - map 181 pegasus species using rsub(l) = chem(l+1)
1625 !       3 - do 2 followed by 1
1626 !       other - same as 1
1627 !   (2 and 3 are for box test purposes)
1628         if ((aboxtest_map_method .eq. 2) .or.   &
1629             (aboxtest_map_method .eq. 3)) then
1630             do l = 2, num_chem
1631                 ido_l = 1
1632                 if (aboxtest_gases_fixed .eq. 10) then
1633                     if ((l .eq. kh2so4  ) .or. (l .eq. khno3  ) .or.   &
1634                         (l .eq. khcl    ) .or. (l .eq. knh3   ) .or.   &
1635                         (l .eq. kclno2  ) .or. (l .eq. kn2o5  ) .or.   &
1636                         (l .eq. ko3     ) .or.                         &
1637                         (l .eq. kso2    ) .or. (l .eq. kh2o2  ) .or.   &
1638                         (l .eq. khcho   )  .or.   &
1639                         (l .eq. koh     ) .or. (l .eq. kho2   ) .or.   &
1640                         (l .eq. kno3    ) .or. (l .eq. kno    ) .or.   &
1641                         (l .eq. kno2    ) .or. (l .eq. khono  ) .or.   &
1642                         (l .eq. kpan    )  .or.   &
1643                         (l .eq. kpcg1_b_c    ) .or. (l .eq. kpcg2_b_c   ) .or.   &
1644                         (l .eq. kpcg3_b_c    ) .or. (l .eq. kpcg4_b_c   ) .or.   &
1645                         (l .eq. kpcg5_b_c    ) .or. (l .eq. kpcg6_b_c   ) .or.   &
1646                         (l .eq. kpcg7_b_c    ) .or. (l .eq. kpcg8_b_c   ) .or.   &
1647                         (l .eq. kpcg9_b_c    ) .or. (l .eq. kpcg1_b_o   ) .or.   &
1648                         (l .eq. kpcg2_b_o    ) .or. (l .eq. kpcg3_b_o   ) .or.   &
1649                         (l .eq. kpcg4_b_o    ) .or. (l .eq. kpcg5_b_o   ) .or.   &
1650                         (l .eq. kpcg6_b_o    ) .or. (l .eq. kpcg7_b_o   ) .or.   &
1651                         (l .eq. kpcg8_b_o    ) .or. (l .eq. kpcg9_b_o   ) .or.   &
1652                         (l .eq. kopcg1_b_c    ) .or. (l .eq. kopcg2_b_c   ) .or.   &
1653                         (l .eq. kopcg3_b_c    ) .or. (l .eq. kopcg4_b_c   ) .or.   &
1654                         (l .eq. kopcg5_b_c    ) .or. (l .eq. kopcg6_b_c   ) .or.   &
1655                         (l .eq. kopcg7_b_c    ) .or. (l .eq. kopcg8_b_c   ) .or.   &
1656                         (l .eq. kopcg1_b_o    ) .or. (l .eq. kopcg2_b_o   ) .or.   &
1657                         (l .eq. kopcg3_b_o    ) .or. (l .eq. kopcg4_b_o   ) .or.   &
1658                         (l .eq. kopcg5_b_o    ) .or. (l .eq. kopcg6_b_o   ) .or.   &
1659                         (l .eq. kopcg7_b_o    ) .or. (l .eq. kopcg8_b_o   ) .or.   &
1660                         (l .eq. kpcg1_f_c    ) .or. (l .eq. kpcg2_f_c   ) .or.   &
1661                         (l .eq. kpcg3_f_c    ) .or. (l .eq. kpcg4_f_c   ) .or.   &
1662                         (l .eq. kpcg5_f_c    ) .or. (l .eq. kpcg6_f_c   ) .or.   &
1663                         (l .eq. kpcg7_f_c    ) .or. (l .eq. kpcg8_f_c   ) .or.   &
1664                         (l .eq. kpcg9_f_c    ) .or. (l .eq. kpcg1_f_o   ) .or.   &
1665                         (l .eq. kpcg2_f_o    ) .or. (l .eq. kpcg3_f_o   ) .or.   &
1666                         (l .eq. kpcg4_f_o    ) .or. (l .eq. kpcg5_f_o   ) .or.   &
1667                         (l .eq. kpcg6_f_o    ) .or. (l .eq. kpcg7_f_o   ) .or.   &
1668                         (l .eq. kpcg8_f_o    ) .or. (l .eq. kpcg9_f_o   ) .or.   &
1669                         (l .eq. kopcg1_f_c    ) .or. (l .eq. kopcg2_f_c   ) .or.   &
1670                         (l .eq. kopcg3_f_c    ) .or. (l .eq. kopcg4_f_c   ) .or.   &
1671                         (l .eq. kopcg5_f_c    ) .or. (l .eq. kopcg6_f_c   ) .or.   &
1672                         (l .eq. kopcg7_f_c    ) .or. (l .eq. kopcg8_f_c   ) .or.   &
1673                         (l .eq. kopcg1_f_o    ) .or. (l .eq. kopcg2_f_o   ) .or.   &
1674                         (l .eq. kopcg3_f_o    ) .or. (l .eq. kopcg4_f_o   ) .or.   &
1675                         (l .eq. kopcg5_f_o    ) .or. (l .eq. kopcg6_f_o   ) .or.   &
1676                         (l .eq. kopcg7_f_o    ) .or. (l .eq. kopcg8_f_o   ) .or.   &
1677                         (l .eq. ksmpa    ) .or. (l .eq. ksmpbb   ) .or.         &
1678                         (l .eq. kgly    ) .or. &
1679                         (l .eq. kant1_c    ) .or. (l .eq. kant2_c   ) .or.         &
1680                         (l .eq. kant3_c    ) .or. (l .eq. kant4_c   ) .or.         &
1681                         (l .eq. kant1_o    ) .or. (l .eq. kant2_o   ) .or.         &
1682                         (l .eq. kant3_o    ) .or. (l .eq. kant4_o   ) .or.         &
1683                         (l .eq. kbiog1_c    ) .or. (l .eq. kbiog2_c   ) .or.         &
1684                         (l .eq. kbiog3_c    ) .or. (l .eq. kbiog4_c   ) .or.         &
1685                         (l .eq. kbiog1_o    ) .or. (l .eq. kbiog2_o   ) .or.         &
1686                         (l .eq. kbiog3_o    ) .or. (l .eq. kbiog4_o   ) .or. &
1687                         (l .eq. kasoaX    ) .or. &
1688                         (l .eq. kasoa1    ) .or. (l .eq. kasoa2   ) .or.         &
1689                         (l .eq. kasoa3    ) .or. (l .eq. kasoa4   ) .or.         &
1690                         (l .eq. kbsoaX    ) .or. &
1691                         (l .eq. kbsoa1    ) .or. (l .eq. kbsoa2   ) .or.         &
1692                         (l .eq. kbsoa3    ) .or. (l .eq. kbsoa4   )) then
1693                         ido_l = 0
1694                     end if
1695                 end if
1696                 if (ido_l .gt. 0) then
1697                     chem(it,kt1:kt2,jt,l) = rsub(l,k1:k2,1)*factgas
1698                 end if
1699             end do
1700         end if
1702         p1st = param_first_scalar
1703         if (aboxtest_map_method .ne. 2) then
1704           if (aboxtest_gases_fixed .ne. 10) then
1705             if (p_h2so4 .ge. p1st)   then
1706                 chem(it,kt1:kt2,jt,p_h2so4) = rsub(kh2so4,k1:k2,1)*factgas
1707            elseif (p_sulf .ge. p1st)   then
1708                 chem(it,kt1:kt2,jt,p_sulf) = rsub(kh2so4,k1:k2,1)*factgas
1709             endif
1710             if (p_hno3 .ge. p1st)   &
1711                 chem(it,kt1:kt2,jt,p_hno3)  = rsub(khno3,k1:k2,1)*factgas
1712             if (p_hcl .ge. p1st)   &
1713                 chem(it,kt1:kt2,jt,p_hcl)   = rsub(khcl,k1:k2,1)*factgas
1714             if (p_nh3 .ge. p1st)   &
1715                 chem(it,kt1:kt2,jt,p_nh3)  = rsub(knh3,k1:k2,1)*factgas
1716             if (p_n2o5 .ge. p1st)   &
1717                 chem(it,kt1:kt2,jt,p_n2o5)  = rsub(kn2o5,k1:k2,1)*factgas
1718             if (p_clno2 .ge. p1st)   &
1719                 chem(it,kt1:kt2,jt,p_clno2)  = rsub(kclno2,k1:k2,1)*factgas
1721             if (p_o3 .ge. p1st)   &
1722                 chem(it,kt1:kt2,jt,p_o3)  = rsub(ko3,k1:k2,1)*factgas
1723             if (p_so2 .ge. p1st)   &
1724                 chem(it,kt1:kt2,jt,p_so2)  = rsub(kso2,k1:k2,1)*factgas
1725             if (p_h2o2 .ge. p1st)   &
1726                 chem(it,kt1:kt2,jt,p_h2o2)  = rsub(kh2o2,k1:k2,1)*factgas
1727             if (p_hcho .ge. p1st)   &
1728                 chem(it,kt1:kt2,jt,p_hcho)  = rsub(khcho,k1:k2,1)*factgas
1729             if (p_ho .ge. p1st)   &
1730                 chem(it,kt1:kt2,jt,p_ho)  = rsub(koh,k1:k2,1)*factgas
1731             if (p_ho2 .ge. p1st)   &
1732                 chem(it,kt1:kt2,jt,p_ho2)  = rsub(kho2,k1:k2,1)*factgas
1733             if (p_no3 .ge. p1st)   &
1734                 chem(it,kt1:kt2,jt,p_no3)  = rsub(kno3,k1:k2,1)*factgas
1735             if (p_no .ge. p1st)   &
1736                 chem(it,kt1:kt2,jt,p_no)  = rsub(kno,k1:k2,1)*factgas
1737             if (p_no2 .ge. p1st)   &
1738                 chem(it,kt1:kt2,jt,p_no2)  = rsub(kno2,k1:k2,1)*factgas
1739             if (p_hono .ge. p1st)   &
1740                 chem(it,kt1:kt2,jt,p_hono)  = rsub(khono,k1:k2,1)*factgas
1741             if (p_pan .ge. p1st)   &
1742                 chem(it,kt1:kt2,jt,p_pan)  = rsub(kpan,k1:k2,1)*factgas
1743             if (p_pcg1_b_c .ge. p1st)   &
1744                 chem(it,kt1:kt2,jt,p_pcg1_b_c)  = rsub(kpcg1_b_c,k1:k2,1)*factgas
1745             if (p_pcg2_b_c .ge. p1st)   &
1746                 chem(it,kt1:kt2,jt,p_pcg2_b_c)  = rsub(kpcg2_b_c,k1:k2,1)*factgas
1747             if (p_pcg3_b_c .ge. p1st)   &
1748                 chem(it,kt1:kt2,jt,p_pcg3_b_c)  = rsub(kpcg3_b_c,k1:k2,1)*factgas
1749             if (p_pcg4_b_c .ge. p1st)   &
1750                 chem(it,kt1:kt2,jt,p_pcg4_b_c)  = rsub(kpcg4_b_c,k1:k2,1)*factgas
1751             if (p_pcg5_b_c .ge. p1st)   &
1752                 chem(it,kt1:kt2,jt,p_pcg5_b_c)  = rsub(kpcg5_b_c,k1:k2,1)*factgas
1753             if (p_pcg6_b_c .ge. p1st)   &
1754                 chem(it,kt1:kt2,jt,p_pcg6_b_c)  = rsub(kpcg6_b_c,k1:k2,1)*factgas
1755             if (p_pcg7_b_c .ge. p1st)   &
1756                 chem(it,kt1:kt2,jt,p_pcg7_b_c)  = rsub(kpcg7_b_c,k1:k2,1)*factgas
1757             if (p_pcg8_b_c .ge. p1st)   &
1758                 chem(it,kt1:kt2,jt,p_pcg8_b_c)  = rsub(kpcg8_b_c,k1:k2,1)*factgas
1759             if (p_pcg9_b_c .ge. p1st)   &
1760                 chem(it,kt1:kt2,jt,p_pcg9_b_c)  = rsub(kpcg9_b_c,k1:k2,1)*factgas
1761             if (p_pcg1_b_o .ge. p1st)   &
1762                 chem(it,kt1:kt2,jt,p_pcg1_b_o)  = rsub(kpcg1_b_o,k1:k2,1)*factgas
1763             if (p_pcg2_b_o .ge. p1st)   &
1764                 chem(it,kt1:kt2,jt,p_pcg2_b_o)  = rsub(kpcg2_b_o,k1:k2,1)*factgas
1765             if (p_pcg3_b_o .ge. p1st)   &
1766                 chem(it,kt1:kt2,jt,p_pcg3_b_o)  = rsub(kpcg3_b_o,k1:k2,1)*factgas
1767             if (p_pcg4_b_o .ge. p1st)   &
1768                 chem(it,kt1:kt2,jt,p_pcg4_b_o)  = rsub(kpcg4_b_o,k1:k2,1)*factgas
1769             if (p_pcg5_b_o .ge. p1st)   &
1770                 chem(it,kt1:kt2,jt,p_pcg5_b_o)  = rsub(kpcg5_b_o,k1:k2,1)*factgas
1771             if (p_pcg6_b_o .ge. p1st)   &
1772                 chem(it,kt1:kt2,jt,p_pcg6_b_o)  = rsub(kpcg6_b_o,k1:k2,1)*factgas
1773             if (p_pcg7_b_o .ge. p1st)   &
1774                 chem(it,kt1:kt2,jt,p_pcg7_b_o)  = rsub(kpcg7_b_o,k1:k2,1)*factgas
1775             if (p_pcg8_b_o .ge. p1st)   &
1776                 chem(it,kt1:kt2,jt,p_pcg8_b_o)  = rsub(kpcg8_b_o,k1:k2,1)*factgas
1777             if (p_pcg9_b_o .ge. p1st)   &
1778                 chem(it,kt1:kt2,jt,p_pcg9_b_o)  = rsub(kpcg9_b_o,k1:k2,1)*factgas
1779             if (p_opcg1_b_c .ge. p1st)   &
1780                 chem(it,kt1:kt2,jt,p_opcg1_b_c)  = rsub(kopcg1_b_c,k1:k2,1)*factgas
1781             if (p_opcg2_b_c .ge. p1st)   &
1782                 chem(it,kt1:kt2,jt,p_opcg2_b_c)  = rsub(kopcg2_b_c,k1:k2,1)*factgas
1783             if (p_opcg3_b_c .ge. p1st)   &
1784                 chem(it,kt1:kt2,jt,p_opcg3_b_c)  = rsub(kopcg3_b_c,k1:k2,1)*factgas
1785             if (p_opcg4_b_c .ge. p1st)   &
1786                 chem(it,kt1:kt2,jt,p_opcg4_b_c)  = rsub(kopcg4_b_c,k1:k2,1)*factgas
1787             if (p_opcg5_b_c .ge. p1st)   &
1788                 chem(it,kt1:kt2,jt,p_opcg5_b_c)  = rsub(kopcg5_b_c,k1:k2,1)*factgas
1789             if (p_opcg6_b_c .ge. p1st)   &
1790                 chem(it,kt1:kt2,jt,p_opcg6_b_c)  = rsub(kopcg6_b_c,k1:k2,1)*factgas
1791             if (p_opcg7_b_c .ge. p1st)   &
1792                 chem(it,kt1:kt2,jt,p_opcg7_b_c)  = rsub(kopcg7_b_c,k1:k2,1)*factgas
1793             if (p_opcg8_b_c .ge. p1st)   &
1794                 chem(it,kt1:kt2,jt,p_opcg8_b_c)  = rsub(kopcg8_b_c,k1:k2,1)*factgas
1795             if (p_opcg1_b_o .ge. p1st)   &
1796                 chem(it,kt1:kt2,jt,p_opcg1_b_o)  = rsub(kopcg1_b_o,k1:k2,1)*factgas
1797             if (p_opcg2_b_o .ge. p1st)   &
1798                 chem(it,kt1:kt2,jt,p_opcg2_b_o)  = rsub(kopcg2_b_o,k1:k2,1)*factgas
1799             if (p_opcg3_b_o .ge. p1st)   &
1800                 chem(it,kt1:kt2,jt,p_opcg3_b_o)  = rsub(kopcg3_b_o,k1:k2,1)*factgas
1801             if (p_opcg4_b_o .ge. p1st)   &
1802                 chem(it,kt1:kt2,jt,p_opcg4_b_o)  = rsub(kopcg4_b_o,k1:k2,1)*factgas
1803             if (p_opcg5_b_o .ge. p1st)   &
1804                 chem(it,kt1:kt2,jt,p_opcg5_b_o)  = rsub(kopcg5_b_o,k1:k2,1)*factgas
1805             if (p_opcg6_b_o .ge. p1st)   &
1806                 chem(it,kt1:kt2,jt,p_opcg6_b_o)  = rsub(kopcg6_b_o,k1:k2,1)*factgas
1807             if (p_opcg7_b_o .ge. p1st)   &
1808                 chem(it,kt1:kt2,jt,p_opcg7_b_o)  = rsub(kopcg7_b_o,k1:k2,1)*factgas
1809             if (p_opcg8_b_o .ge. p1st)   &
1810                 chem(it,kt1:kt2,jt,p_opcg8_b_o)  = rsub(kopcg8_b_o,k1:k2,1)*factgas
1811             if (p_pcg1_f_c .ge. p1st)   &
1812                 chem(it,kt1:kt2,jt,p_pcg1_f_c)  = rsub(kpcg1_f_c,k1:k2,1)*factgas
1813             if (p_pcg2_f_c .ge. p1st)   &
1814                 chem(it,kt1:kt2,jt,p_pcg2_f_c)  = rsub(kpcg2_f_c,k1:k2,1)*factgas
1815             if (p_pcg3_f_c .ge. p1st)   &
1816                 chem(it,kt1:kt2,jt,p_pcg3_f_c)  = rsub(kpcg3_f_c,k1:k2,1)*factgas
1817             if (p_pcg4_f_c .ge. p1st)   &
1818                 chem(it,kt1:kt2,jt,p_pcg4_f_c)  = rsub(kpcg4_f_c,k1:k2,1)*factgas
1819             if (p_pcg5_f_c .ge. p1st)   &
1820                 chem(it,kt1:kt2,jt,p_pcg5_f_c)  = rsub(kpcg5_f_c,k1:k2,1)*factgas
1821             if (p_pcg6_f_c .ge. p1st)   &
1822                 chem(it,kt1:kt2,jt,p_pcg6_f_c)  = rsub(kpcg6_f_c,k1:k2,1)*factgas
1823             if (p_pcg7_f_c .ge. p1st)   &
1824                 chem(it,kt1:kt2,jt,p_pcg7_f_c)  = rsub(kpcg7_f_c,k1:k2,1)*factgas
1825             if (p_pcg8_f_c .ge. p1st)   &
1826                 chem(it,kt1:kt2,jt,p_pcg8_f_c)  = rsub(kpcg8_f_c,k1:k2,1)*factgas
1827             if (p_pcg9_f_c .ge. p1st)   &
1828                 chem(it,kt1:kt2,jt,p_pcg9_f_c)  = rsub(kpcg9_f_c,k1:k2,1)*factgas
1829             if (p_pcg1_f_o .ge. p1st)   &
1830                 chem(it,kt1:kt2,jt,p_pcg1_f_o)  = rsub(kpcg1_f_o,k1:k2,1)*factgas
1831             if (p_pcg2_f_o .ge. p1st)   &
1832                 chem(it,kt1:kt2,jt,p_pcg2_f_o)  = rsub(kpcg2_f_o,k1:k2,1)*factgas
1833             if (p_pcg3_f_o .ge. p1st)   &
1834                 chem(it,kt1:kt2,jt,p_pcg3_f_o)  = rsub(kpcg3_f_o,k1:k2,1)*factgas
1835             if (p_pcg4_f_o .ge. p1st)   &
1836                 chem(it,kt1:kt2,jt,p_pcg4_f_o)  = rsub(kpcg4_f_o,k1:k2,1)*factgas
1837             if (p_pcg5_f_o .ge. p1st)   &
1838                 chem(it,kt1:kt2,jt,p_pcg5_f_o)  = rsub(kpcg5_f_o,k1:k2,1)*factgas
1839             if (p_pcg6_f_o .ge. p1st)   &
1840                 chem(it,kt1:kt2,jt,p_pcg6_f_o)  = rsub(kpcg6_f_o,k1:k2,1)*factgas
1841             if (p_pcg7_f_o .ge. p1st)   &
1842                 chem(it,kt1:kt2,jt,p_pcg7_f_o)  = rsub(kpcg7_f_o,k1:k2,1)*factgas
1843             if (p_pcg8_f_o .ge. p1st)   &
1844                 chem(it,kt1:kt2,jt,p_pcg8_f_o)  = rsub(kpcg8_f_o,k1:k2,1)*factgas
1845             if (p_pcg9_f_o .ge. p1st)   &
1846                 chem(it,kt1:kt2,jt,p_pcg9_f_o)  = rsub(kpcg9_f_o,k1:k2,1)*factgas
1847             if (p_opcg1_f_c .ge. p1st)   &
1848                 chem(it,kt1:kt2,jt,p_opcg1_f_c)  = rsub(kopcg1_f_c,k1:k2,1)*factgas
1849             if (p_opcg2_f_c .ge. p1st)   &
1850                 chem(it,kt1:kt2,jt,p_opcg2_f_c)  = rsub(kopcg2_f_c,k1:k2,1)*factgas
1851             if (p_opcg3_f_c .ge. p1st)   &
1852                 chem(it,kt1:kt2,jt,p_opcg3_f_c)  = rsub(kopcg3_f_c,k1:k2,1)*factgas
1853             if (p_opcg4_f_c .ge. p1st)   &
1854                 chem(it,kt1:kt2,jt,p_opcg4_f_c)  = rsub(kopcg4_f_c,k1:k2,1)*factgas
1855             if (p_opcg5_f_c .ge. p1st)   &
1856                 chem(it,kt1:kt2,jt,p_opcg5_f_c)  = rsub(kopcg5_f_c,k1:k2,1)*factgas
1857             if (p_opcg6_f_c .ge. p1st)   &
1858                 chem(it,kt1:kt2,jt,p_opcg6_f_c)  = rsub(kopcg6_f_c,k1:k2,1)*factgas
1859             if (p_opcg7_f_c .ge. p1st)   &
1860                 chem(it,kt1:kt2,jt,p_opcg7_f_c)  = rsub(kopcg7_f_c,k1:k2,1)*factgas
1861             if (p_opcg8_f_c .ge. p1st)   &
1862                 chem(it,kt1:kt2,jt,p_opcg8_f_c)  = rsub(kopcg8_f_c,k1:k2,1)*factgas
1863             if (p_opcg1_f_o .ge. p1st)   &
1864                 chem(it,kt1:kt2,jt,p_opcg1_f_o)  = rsub(kopcg1_f_o,k1:k2,1)*factgas
1865             if (p_opcg2_f_o .ge. p1st)   &
1866                 chem(it,kt1:kt2,jt,p_opcg2_f_o)  = rsub(kopcg2_f_o,k1:k2,1)*factgas
1867             if (p_opcg3_f_o .ge. p1st)   &
1868                 chem(it,kt1:kt2,jt,p_opcg3_f_o)  = rsub(kopcg3_f_o,k1:k2,1)*factgas
1869             if (p_opcg4_f_o .ge. p1st)   &
1870                 chem(it,kt1:kt2,jt,p_opcg4_f_o)  = rsub(kopcg4_f_o,k1:k2,1)*factgas
1871             if (p_opcg5_f_o .ge. p1st)   &
1872                 chem(it,kt1:kt2,jt,p_opcg5_f_o)  = rsub(kopcg5_f_o,k1:k2,1)*factgas
1873             if (p_opcg6_f_o .ge. p1st)   &
1874                 chem(it,kt1:kt2,jt,p_opcg6_f_o)  = rsub(kopcg6_f_o,k1:k2,1)*factgas
1875             if (p_opcg7_f_o .ge. p1st)   &
1876                 chem(it,kt1:kt2,jt,p_opcg7_f_o)  = rsub(kopcg7_f_o,k1:k2,1)*factgas
1877             if (p_opcg8_f_o .ge. p1st)   &
1878                 chem(it,kt1:kt2,jt,p_opcg8_f_o)  = rsub(kopcg8_f_o,k1:k2,1)*factgas
1879             if (p_smpa .ge. p1st)   &
1880                 chem(it,kt1:kt2,jt,p_smpa)  = rsub(ksmpa,k1:k2,1)*factgas
1881             if (p_smpbb .ge. p1st)   &
1882                 chem(it,kt1:kt2,jt,p_smpbb)  = rsub(ksmpbb,k1:k2,1)*factgas
1883             if (p_gly .ge. p1st)   &
1884                 chem(it,kt1:kt2,jt,p_gly)  = rsub(kgly,k1:k2,1)*factgas
1885             if (p_ant1_c .ge. p1st)   &
1886                 chem(it,kt1:kt2,jt,p_ant1_c)  = rsub(kant1_c,k1:k2,1)*factgas
1887             if (p_ant2_c .ge. p1st)   &
1888                 chem(it,kt1:kt2,jt,p_ant2_c)  = rsub(kant2_c,k1:k2,1)*factgas
1889             if (p_ant3_c .ge. p1st)   &
1890                 chem(it,kt1:kt2,jt,p_ant3_c)  = rsub(kant3_c,k1:k2,1)*factgas
1891             if (p_ant4_c .ge. p1st)   &
1892                 chem(it,kt1:kt2,jt,p_ant4_c)  = rsub(kant4_c,k1:k2,1)*factgas
1893             if (p_ant1_o .ge. p1st)   &
1894                 chem(it,kt1:kt2,jt,p_ant1_o)  = rsub(kant1_o,k1:k2,1)*factgas
1895             if (p_ant2_o .ge. p1st)   &
1896                 chem(it,kt1:kt2,jt,p_ant2_o)  = rsub(kant2_o,k1:k2,1)*factgas
1897             if (p_ant3_o .ge. p1st)   &
1898                 chem(it,kt1:kt2,jt,p_ant3_o)  = rsub(kant3_o,k1:k2,1)*factgas
1899             if (p_ant4_o .ge. p1st)   &
1900                 chem(it,kt1:kt2,jt,p_ant4_o)  = rsub(kant4_o,k1:k2,1)*factgas
1901             if (p_biog1_c .ge. p1st)   &
1902                 chem(it,kt1:kt2,jt,p_biog1_c)  = rsub(kbiog1_c,k1:k2,1)*factgas
1903             if (p_biog2_c .ge. p1st)   &
1904                 chem(it,kt1:kt2,jt,p_biog2_c)  = rsub(kbiog2_c,k1:k2,1)*factgas
1905             if (p_biog3_c .ge. p1st)   &
1906                 chem(it,kt1:kt2,jt,p_biog3_c)  = rsub(kbiog3_c,k1:k2,1)*factgas
1907             if (p_biog4_c .ge. p1st)   &
1908                 chem(it,kt1:kt2,jt,p_biog4_c)  = rsub(kbiog4_c,k1:k2,1)*factgas
1909             if (p_biog1_o .ge. p1st)   &
1910                 chem(it,kt1:kt2,jt,p_biog1_o)  = rsub(kbiog1_o,k1:k2,1)*factgas
1911             if (p_biog2_o .ge. p1st)   &
1912                 chem(it,kt1:kt2,jt,p_biog2_o)  = rsub(kbiog2_o,k1:k2,1)*factgas
1913             if (p_biog3_o .ge. p1st)   &
1914                 chem(it,kt1:kt2,jt,p_biog3_o)  = rsub(kbiog3_o,k1:k2,1)*factgas
1915             if (p_biog4_o .ge. p1st)   &
1916                 chem(it,kt1:kt2,jt,p_biog4_o)  = rsub(kbiog4_o,k1:k2,1)*factgas
1917             if (p_cvasoaX .ge. p1st)   &
1918                 chem(it,kt1:kt2,jt,p_cvasoaX)  = rsub(kasoaX,k1:k2,1)*factgas
1919             if (p_cvasoa1 .ge. p1st)   &
1920                 chem(it,kt1:kt2,jt,p_cvasoa1)  = rsub(kasoa1,k1:k2,1)*factgas
1921             if (p_cvasoa2 .ge. p1st)   &
1922                 chem(it,kt1:kt2,jt,p_cvasoa2)  = rsub(kasoa2,k1:k2,1)*factgas
1923             if (p_cvasoa3 .ge. p1st)   &
1924                 chem(it,kt1:kt2,jt,p_cvasoa3)  = rsub(kasoa3,k1:k2,1)*factgas
1925             if (p_cvasoa4 .ge. p1st)   &
1926                 chem(it,kt1:kt2,jt,p_cvasoa4)  = rsub(kasoa4,k1:k2,1)*factgas
1927             if (p_cvbsoaX .ge. p1st)   &
1928                 chem(it,kt1:kt2,jt,p_cvbsoaX)  = rsub(kbsoaX,k1:k2,1)*factgas
1929             if (p_cvbsoa1 .ge. p1st)   &
1930                 chem(it,kt1:kt2,jt,p_cvbsoa1)  = rsub(kbsoa1,k1:k2,1)*factgas
1931             if (p_cvbsoa2 .ge. p1st)   &
1932                 chem(it,kt1:kt2,jt,p_cvbsoa2)  = rsub(kbsoa2,k1:k2,1)*factgas
1933             if (p_cvbsoa3 .ge. p1st)   &
1934                 chem(it,kt1:kt2,jt,p_cvbsoa3)  = rsub(kbsoa3,k1:k2,1)*factgas
1935             if (p_cvbsoa4 .ge. p1st)   &
1936                 chem(it,kt1:kt2,jt,p_cvbsoa4)  = rsub(kbsoa4,k1:k2,1)*factgas
1937           end if
1939             do iphase=1,nphase_aer
1940             do itype=1,ntype_aer
1941             do n = 1, nsize_aer(itype)
1942                 chem(it,kt1:kt2,jt,lptr_so4_aer(n,itype,iphase)) =   &
1943                     rsub(lptr_so4_aer(n,itype,iphase),k1:k2,1)*factaerso4
1944                 chem(it,kt1:kt2,jt,numptr_aer(n,itype,iphase)) =   &
1945                     rsub(numptr_aer(n,itype,iphase),k1:k2,1)*factaernum
1947                 if (lptr_no3_aer(n,itype,iphase) .ge. p1st)   &
1948                     chem(it,kt1:kt2,jt,lptr_no3_aer(n,itype,iphase)) =   &
1949                     rsub(lptr_no3_aer(n,itype,iphase),k1:k2,1)*factaerno3
1950                 if (lptr_cl_aer(n,itype,iphase) .ge. p1st)   &
1951                     chem(it,kt1:kt2,jt,lptr_cl_aer(n,itype,iphase)) =   &
1952                     rsub(lptr_cl_aer(n,itype,iphase),k1:k2,1)*factaercl
1953                 if (lptr_msa_aer(n,itype,iphase) .ge. p1st)   &
1954                     chem(it,kt1:kt2,jt,lptr_msa_aer(n,itype,iphase)) =   &
1955                     rsub(lptr_msa_aer(n,itype,iphase),k1:k2,1)*factaermsa
1956                 if (lptr_co3_aer(n,itype,iphase) .ge. p1st)   &
1957                     chem(it,kt1:kt2,jt,lptr_co3_aer(n,itype,iphase)) =   &
1958                     rsub(lptr_co3_aer(n,itype,iphase),k1:k2,1)*factaerco3
1959                 if (lptr_nh4_aer(n,itype,iphase) .ge. p1st)   &
1960                     chem(it,kt1:kt2,jt,lptr_nh4_aer(n,itype,iphase)) =   &
1961                     rsub(lptr_nh4_aer(n,itype,iphase),k1:k2,1)*factaernh4
1962                 if (lptr_na_aer(n,itype,iphase) .ge. p1st)   &
1963                     chem(it,kt1:kt2,jt,lptr_na_aer(n,itype,iphase)) =   &
1964                     rsub(lptr_na_aer(n,itype,iphase),k1:k2,1)*factaerna
1965                 if (lptr_ca_aer(n,itype,iphase) .ge. p1st)   &
1966                     chem(it,kt1:kt2,jt,lptr_ca_aer(n,itype,iphase)) =   &
1967                     rsub(lptr_ca_aer(n,itype,iphase),k1:k2,1)*factaerca
1968                 if (lptr_oin_aer(n,itype,iphase) .ge. p1st)   &
1969                     chem(it,kt1:kt2,jt,lptr_oin_aer(n,itype,iphase)) =   &
1970                     rsub(lptr_oin_aer(n,itype,iphase),k1:k2,1)*factaeroin
1971                 if (lptr_oc_aer(n,itype,iphase) .ge. p1st)   &
1972                     chem(it,kt1:kt2,jt,lptr_oc_aer(n,itype,iphase)) =   &
1973                     rsub(lptr_oc_aer(n,itype,iphase),k1:k2,1)*factaeroc
1974                 if (lptr_bc_aer(n,itype,iphase) .ge. p1st)   &
1975                     chem(it,kt1:kt2,jt,lptr_bc_aer(n,itype,iphase)) =   &
1976                     rsub(lptr_bc_aer(n,itype,iphase),k1:k2,1)*factaerbc
1977                 if (hyswptr_aer(n,itype) .ge. p1st)   &
1978                     chem(it,kt1:kt2,jt,hyswptr_aer(n,itype)) =   &
1979                     rsub(hyswptr_aer(n,itype),k1:k2,1)*factaerhysw
1980                 if (waterptr_aer(n,itype) .ge. p1st)   &
1981                     chem(it,kt1:kt2,jt,waterptr_aer(n,itype)) =   &
1982                     rsub(waterptr_aer(n,itype),k1:k2,1)*factaerwater
1983                 if (lptr_pcg1_b_c_aer(n,itype,iphase) .ge. p1st)   &
1984                     chem(it,kt1:kt2,jt,lptr_pcg1_b_c_aer(n,itype,iphase)) =   &
1985                     rsub(lptr_pcg1_b_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg1_b_c
1986                 if (lptr_pcg2_b_c_aer(n,itype,iphase) .ge. p1st)   &
1987                     chem(it,kt1:kt2,jt,lptr_pcg2_b_c_aer(n,itype,iphase)) =   &
1988                     rsub(lptr_pcg2_b_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg2_b_c
1989                 if (lptr_pcg3_b_c_aer(n,itype,iphase) .ge. p1st)   &
1990                     chem(it,kt1:kt2,jt,lptr_pcg3_b_c_aer(n,itype,iphase)) =   &
1991                     rsub(lptr_pcg3_b_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg3_b_c
1992                 if (lptr_pcg4_b_c_aer(n,itype,iphase) .ge. p1st)   &
1993                     chem(it,kt1:kt2,jt,lptr_pcg4_b_c_aer(n,itype,iphase)) =   &
1994                     rsub(lptr_pcg4_b_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg4_b_c
1995                 if (lptr_pcg5_b_c_aer(n,itype,iphase) .ge. p1st)   &
1996                     chem(it,kt1:kt2,jt,lptr_pcg5_b_c_aer(n,itype,iphase)) =   &
1997                     rsub(lptr_pcg5_b_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg5_b_c
1998                 if (lptr_pcg6_b_c_aer(n,itype,iphase) .ge. p1st)   &
1999                     chem(it,kt1:kt2,jt,lptr_pcg6_b_c_aer(n,itype,iphase)) =   &
2000                     rsub(lptr_pcg6_b_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg6_b_c
2001                 if (lptr_pcg7_b_c_aer(n,itype,iphase) .ge. p1st)   &
2002                     chem(it,kt1:kt2,jt,lptr_pcg7_b_c_aer(n,itype,iphase)) =   &
2003                     rsub(lptr_pcg7_b_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg7_b_c
2004                 if (lptr_pcg8_b_c_aer(n,itype,iphase) .ge. p1st)   &
2005                     chem(it,kt1:kt2,jt,lptr_pcg8_b_c_aer(n,itype,iphase)) =   &
2006                     rsub(lptr_pcg8_b_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg8_b_c
2007                 if (lptr_pcg9_b_c_aer(n,itype,iphase) .ge. p1st)   &
2008                     chem(it,kt1:kt2,jt,lptr_pcg9_b_c_aer(n,itype,iphase)) =   &
2009                     rsub(lptr_pcg9_b_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg9_b_c
2010                 if (lptr_pcg1_b_o_aer(n,itype,iphase) .ge. p1st)   &
2011                     chem(it,kt1:kt2,jt,lptr_pcg1_b_o_aer(n,itype,iphase)) =   &
2012                     rsub(lptr_pcg1_b_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg1_b_o
2013                 if (lptr_pcg2_b_o_aer(n,itype,iphase) .ge. p1st)   &
2014                     chem(it,kt1:kt2,jt,lptr_pcg2_b_o_aer(n,itype,iphase)) =   &
2015                     rsub(lptr_pcg2_b_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg2_b_o
2016                 if (lptr_pcg3_b_o_aer(n,itype,iphase) .ge. p1st)   &
2017                     chem(it,kt1:kt2,jt,lptr_pcg3_b_o_aer(n,itype,iphase)) =   &
2018                     rsub(lptr_pcg3_b_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg3_b_o
2019                 if (lptr_pcg4_b_o_aer(n,itype,iphase) .ge. p1st)   &
2020                     chem(it,kt1:kt2,jt,lptr_pcg4_b_o_aer(n,itype,iphase)) =   &
2021                     rsub(lptr_pcg4_b_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg4_b_o
2022                 if (lptr_pcg5_b_o_aer(n,itype,iphase) .ge. p1st)   &
2023                     chem(it,kt1:kt2,jt,lptr_pcg5_b_o_aer(n,itype,iphase)) =   &
2024                     rsub(lptr_pcg5_b_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg5_b_o
2025                 if (lptr_pcg6_b_o_aer(n,itype,iphase) .ge. p1st)   &
2026                     chem(it,kt1:kt2,jt,lptr_pcg6_b_o_aer(n,itype,iphase)) =   &
2027                     rsub(lptr_pcg6_b_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg6_b_o
2028                 if (lptr_pcg7_b_o_aer(n,itype,iphase) .ge. p1st)   &
2029                     chem(it,kt1:kt2,jt,lptr_pcg7_b_o_aer(n,itype,iphase)) =   &
2030                     rsub(lptr_pcg7_b_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg7_b_o
2031                 if (lptr_pcg8_b_o_aer(n,itype,iphase) .ge. p1st)   &
2032                     chem(it,kt1:kt2,jt,lptr_pcg8_b_o_aer(n,itype,iphase)) =   &
2033                     rsub(lptr_pcg8_b_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg8_b_o
2034                 if (lptr_pcg9_b_o_aer(n,itype,iphase) .ge. p1st)   &
2035                     chem(it,kt1:kt2,jt,lptr_pcg9_b_o_aer(n,itype,iphase)) =   &
2036                     rsub(lptr_pcg9_b_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg9_b_o
2037                 if (lptr_opcg1_b_c_aer(n,itype,iphase) .ge. p1st)   &
2038                     chem(it,kt1:kt2,jt,lptr_opcg1_b_c_aer(n,itype,iphase)) =   &
2039                     rsub(lptr_opcg1_b_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg1_b_c
2040                 if (lptr_opcg2_b_c_aer(n,itype,iphase) .ge. p1st)   &
2041                     chem(it,kt1:kt2,jt,lptr_opcg2_b_c_aer(n,itype,iphase)) =   &
2042                     rsub(lptr_opcg2_b_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg2_b_c
2043                 if (lptr_opcg3_b_c_aer(n,itype,iphase) .ge. p1st)   &
2044                     chem(it,kt1:kt2,jt,lptr_opcg3_b_c_aer(n,itype,iphase)) =   &
2045                     rsub(lptr_opcg3_b_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg3_b_c
2046                 if (lptr_opcg4_b_c_aer(n,itype,iphase) .ge. p1st)   &
2047                     chem(it,kt1:kt2,jt,lptr_opcg4_b_c_aer(n,itype,iphase)) =   &
2048                     rsub(lptr_opcg4_b_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg4_b_c
2049                 if (lptr_opcg5_b_c_aer(n,itype,iphase) .ge. p1st)   &
2050                     chem(it,kt1:kt2,jt,lptr_opcg5_b_c_aer(n,itype,iphase)) =   &
2051                     rsub(lptr_opcg5_b_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg5_b_c
2052                 if (lptr_opcg6_b_c_aer(n,itype,iphase) .ge. p1st)   &
2053                     chem(it,kt1:kt2,jt,lptr_opcg6_b_c_aer(n,itype,iphase)) =   &
2054                     rsub(lptr_opcg6_b_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg6_b_c
2055                 if (lptr_opcg7_b_c_aer(n,itype,iphase) .ge. p1st)   &
2056                     chem(it,kt1:kt2,jt,lptr_opcg7_b_c_aer(n,itype,iphase)) =   &
2057                     rsub(lptr_opcg7_b_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg7_b_c
2058                 if (lptr_opcg8_b_c_aer(n,itype,iphase) .ge. p1st)   &
2059                     chem(it,kt1:kt2,jt,lptr_opcg8_b_c_aer(n,itype,iphase)) =   &
2060                     rsub(lptr_opcg8_b_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg8_b_c
2061                 if (lptr_opcg1_b_o_aer(n,itype,iphase) .ge. p1st)   &
2062                     chem(it,kt1:kt2,jt,lptr_opcg1_b_o_aer(n,itype,iphase)) =   &
2063                     rsub(lptr_opcg1_b_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg1_b_o
2064                 if (lptr_opcg2_b_o_aer(n,itype,iphase) .ge. p1st)   &
2065                     chem(it,kt1:kt2,jt,lptr_opcg2_b_o_aer(n,itype,iphase)) =   &
2066                     rsub(lptr_opcg2_b_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg2_b_o
2067                 if (lptr_opcg3_b_o_aer(n,itype,iphase) .ge. p1st)   &
2068                     chem(it,kt1:kt2,jt,lptr_opcg3_b_o_aer(n,itype,iphase)) =   &
2069                     rsub(lptr_opcg3_b_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg3_b_o
2070                 if (lptr_opcg4_b_o_aer(n,itype,iphase) .ge. p1st)   &
2071                     chem(it,kt1:kt2,jt,lptr_opcg4_b_o_aer(n,itype,iphase)) =   &
2072                     rsub(lptr_opcg4_b_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg4_b_o
2073                 if (lptr_opcg5_b_o_aer(n,itype,iphase) .ge. p1st)   &
2074                     chem(it,kt1:kt2,jt,lptr_opcg5_b_o_aer(n,itype,iphase)) =   &
2075                     rsub(lptr_opcg5_b_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg5_b_o
2076                 if (lptr_opcg6_b_o_aer(n,itype,iphase) .ge. p1st)   &
2077                     chem(it,kt1:kt2,jt,lptr_opcg6_b_o_aer(n,itype,iphase)) =   &
2078                     rsub(lptr_opcg6_b_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg6_b_o
2079                 if (lptr_opcg7_b_o_aer(n,itype,iphase) .ge. p1st)   &
2080                     chem(it,kt1:kt2,jt,lptr_opcg7_b_o_aer(n,itype,iphase)) =   &
2081                     rsub(lptr_opcg7_b_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg7_b_o
2082                 if (lptr_opcg8_b_o_aer(n,itype,iphase) .ge. p1st)   &
2083                     chem(it,kt1:kt2,jt,lptr_opcg8_b_o_aer(n,itype,iphase)) =   &
2084                     rsub(lptr_opcg8_b_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg8_b_o
2085                 if (lptr_pcg1_f_c_aer(n,itype,iphase) .ge. p1st)   &
2086                     chem(it,kt1:kt2,jt,lptr_pcg1_f_c_aer(n,itype,iphase)) =   &
2087                     rsub(lptr_pcg1_f_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg1_f_c
2088                 if (lptr_pcg2_f_c_aer(n,itype,iphase) .ge. p1st)   &
2089                     chem(it,kt1:kt2,jt,lptr_pcg2_f_c_aer(n,itype,iphase)) =   &
2090                     rsub(lptr_pcg2_f_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg2_f_c
2091                 if (lptr_pcg3_f_c_aer(n,itype,iphase) .ge. p1st)   &
2092                     chem(it,kt1:kt2,jt,lptr_pcg3_f_c_aer(n,itype,iphase)) =   &
2093                     rsub(lptr_pcg3_f_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg3_f_c
2094                 if (lptr_pcg4_f_c_aer(n,itype,iphase) .ge. p1st)   &
2095                     chem(it,kt1:kt2,jt,lptr_pcg4_f_c_aer(n,itype,iphase)) =   &
2096                     rsub(lptr_pcg4_f_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg4_f_c
2097                 if (lptr_pcg5_f_c_aer(n,itype,iphase) .ge. p1st)   &
2098                     chem(it,kt1:kt2,jt,lptr_pcg5_f_c_aer(n,itype,iphase)) =   &
2099                     rsub(lptr_pcg5_f_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg5_f_c
2100                 if (lptr_pcg6_f_c_aer(n,itype,iphase) .ge. p1st)   &
2101                     chem(it,kt1:kt2,jt,lptr_pcg6_f_c_aer(n,itype,iphase)) =   &
2102                     rsub(lptr_pcg6_f_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg6_f_c
2103                 if (lptr_pcg7_f_c_aer(n,itype,iphase) .ge. p1st)   &
2104                     chem(it,kt1:kt2,jt,lptr_pcg7_f_c_aer(n,itype,iphase)) =   &
2105                     rsub(lptr_pcg7_f_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg7_f_c
2106                 if (lptr_pcg8_f_c_aer(n,itype,iphase) .ge. p1st)   &
2107                     chem(it,kt1:kt2,jt,lptr_pcg8_f_c_aer(n,itype,iphase)) =   &
2108                     rsub(lptr_pcg8_f_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg8_f_c
2109                 if (lptr_pcg9_f_c_aer(n,itype,iphase) .ge. p1st)   &
2110                     chem(it,kt1:kt2,jt,lptr_pcg9_f_c_aer(n,itype,iphase)) =   &
2111                     rsub(lptr_pcg9_f_c_aer(n,itype,iphase),k1:k2,1)*factaerpcg9_f_c
2112                 if (lptr_pcg1_f_o_aer(n,itype,iphase) .ge. p1st)   &
2113                     chem(it,kt1:kt2,jt,lptr_pcg1_f_o_aer(n,itype,iphase)) =   &
2114                     rsub(lptr_pcg1_f_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg1_f_o
2115                 if (lptr_pcg2_f_o_aer(n,itype,iphase) .ge. p1st)   &
2116                     chem(it,kt1:kt2,jt,lptr_pcg2_f_o_aer(n,itype,iphase)) =   &
2117                     rsub(lptr_pcg2_f_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg2_f_o
2118                 if (lptr_pcg3_f_o_aer(n,itype,iphase) .ge. p1st)   &
2119                     chem(it,kt1:kt2,jt,lptr_pcg3_f_o_aer(n,itype,iphase)) =   &
2120                     rsub(lptr_pcg3_f_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg3_f_o
2121                 if (lptr_pcg4_f_o_aer(n,itype,iphase) .ge. p1st)   &
2122                     chem(it,kt1:kt2,jt,lptr_pcg4_f_o_aer(n,itype,iphase)) =   &
2123                     rsub(lptr_pcg4_f_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg4_f_o
2124                 if (lptr_pcg5_f_o_aer(n,itype,iphase) .ge. p1st)   &
2125                     chem(it,kt1:kt2,jt,lptr_pcg5_f_o_aer(n,itype,iphase)) =   &
2126                     rsub(lptr_pcg5_f_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg5_f_o
2127                 if (lptr_pcg6_f_o_aer(n,itype,iphase) .ge. p1st)   &
2128                     chem(it,kt1:kt2,jt,lptr_pcg6_f_o_aer(n,itype,iphase)) =   &
2129                     rsub(lptr_pcg6_f_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg6_f_o
2130                 if (lptr_pcg7_f_o_aer(n,itype,iphase) .ge. p1st)   &
2131                     chem(it,kt1:kt2,jt,lptr_pcg7_f_o_aer(n,itype,iphase)) =   &
2132                     rsub(lptr_pcg7_f_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg7_f_o
2133                 if (lptr_pcg8_f_o_aer(n,itype,iphase) .ge. p1st)   &
2134                     chem(it,kt1:kt2,jt,lptr_pcg8_f_o_aer(n,itype,iphase)) =   &
2135                     rsub(lptr_pcg8_f_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg8_f_o
2136                 if (lptr_pcg9_f_o_aer(n,itype,iphase) .ge. p1st)   &
2137                     chem(it,kt1:kt2,jt,lptr_pcg9_f_o_aer(n,itype,iphase)) =   &
2138                     rsub(lptr_pcg9_f_o_aer(n,itype,iphase),k1:k2,1)*factaerpcg9_f_o
2139                 if (lptr_opcg1_f_c_aer(n,itype,iphase) .ge. p1st)   &
2140                     chem(it,kt1:kt2,jt,lptr_opcg1_f_c_aer(n,itype,iphase)) =   &
2141                     rsub(lptr_opcg1_f_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg1_f_c
2142                 if (lptr_opcg2_f_c_aer(n,itype,iphase) .ge. p1st)   &
2143                     chem(it,kt1:kt2,jt,lptr_opcg2_f_c_aer(n,itype,iphase)) =   &
2144                     rsub(lptr_opcg2_f_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg2_f_c
2145                 if (lptr_opcg3_f_c_aer(n,itype,iphase) .ge. p1st)   &
2146                     chem(it,kt1:kt2,jt,lptr_opcg3_f_c_aer(n,itype,iphase)) =   &
2147                     rsub(lptr_opcg3_f_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg3_f_c
2148                 if (lptr_opcg4_f_c_aer(n,itype,iphase) .ge. p1st)   &
2149                     chem(it,kt1:kt2,jt,lptr_opcg4_f_c_aer(n,itype,iphase)) =   &
2150                     rsub(lptr_opcg4_f_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg4_f_c
2151                 if (lptr_opcg5_f_c_aer(n,itype,iphase) .ge. p1st)   &
2152                     chem(it,kt1:kt2,jt,lptr_opcg5_f_c_aer(n,itype,iphase)) =   &
2153                     rsub(lptr_opcg5_f_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg5_f_c
2154                 if (lptr_opcg6_f_c_aer(n,itype,iphase) .ge. p1st)   &
2155                     chem(it,kt1:kt2,jt,lptr_opcg6_f_c_aer(n,itype,iphase)) =   &
2156                     rsub(lptr_opcg6_f_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg6_f_c
2157                 if (lptr_opcg7_f_c_aer(n,itype,iphase) .ge. p1st)   &
2158                     chem(it,kt1:kt2,jt,lptr_opcg7_f_c_aer(n,itype,iphase)) =   &
2159                     rsub(lptr_opcg7_f_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg7_f_c
2160                 if (lptr_opcg8_f_c_aer(n,itype,iphase) .ge. p1st)   &
2161                     chem(it,kt1:kt2,jt,lptr_opcg8_f_c_aer(n,itype,iphase)) =   &
2162                     rsub(lptr_opcg8_f_c_aer(n,itype,iphase),k1:k2,1)*factaeropcg8_f_c
2163                 if (lptr_opcg1_f_o_aer(n,itype,iphase) .ge. p1st)   &
2164                     chem(it,kt1:kt2,jt,lptr_opcg1_f_o_aer(n,itype,iphase)) =   &
2165                     rsub(lptr_opcg1_f_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg1_f_o
2166                 if (lptr_opcg2_f_o_aer(n,itype,iphase) .ge. p1st)   &
2167                     chem(it,kt1:kt2,jt,lptr_opcg2_f_o_aer(n,itype,iphase)) =   &
2168                     rsub(lptr_opcg2_f_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg2_f_o
2169                 if (lptr_opcg3_f_o_aer(n,itype,iphase) .ge. p1st)   &
2170                     chem(it,kt1:kt2,jt,lptr_opcg3_f_o_aer(n,itype,iphase)) =   &
2171                     rsub(lptr_opcg3_f_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg3_f_o
2172                 if (lptr_opcg4_f_o_aer(n,itype,iphase) .ge. p1st)   &
2173                     chem(it,kt1:kt2,jt,lptr_opcg4_f_o_aer(n,itype,iphase)) =   &
2174                     rsub(lptr_opcg4_f_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg4_f_o
2175                 if (lptr_opcg5_f_o_aer(n,itype,iphase) .ge. p1st)   &
2176                     chem(it,kt1:kt2,jt,lptr_opcg5_f_o_aer(n,itype,iphase)) =   &
2177                     rsub(lptr_opcg5_f_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg5_f_o
2178                 if (lptr_opcg6_f_o_aer(n,itype,iphase) .ge. p1st)   &
2179                     chem(it,kt1:kt2,jt,lptr_opcg6_f_o_aer(n,itype,iphase)) =   &
2180                     rsub(lptr_opcg6_f_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg6_f_o
2181                 if (lptr_opcg7_f_o_aer(n,itype,iphase) .ge. p1st)   &
2182                     chem(it,kt1:kt2,jt,lptr_opcg7_f_o_aer(n,itype,iphase)) =   &
2183                     rsub(lptr_opcg7_f_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg7_f_o
2184                 if (lptr_opcg8_f_o_aer(n,itype,iphase) .ge. p1st)   &
2185                     chem(it,kt1:kt2,jt,lptr_opcg8_f_o_aer(n,itype,iphase)) =   &
2186                     rsub(lptr_opcg8_f_o_aer(n,itype,iphase),k1:k2,1)*factaeropcg8_f_o
2187                if (lptr_smpa_aer(n,itype,iphase) .ge. p1st)   &
2188                     chem(it,kt1:kt2,jt,lptr_smpa_aer(n,itype,iphase)) =   &
2189                     rsub(lptr_smpa_aer(n,itype,iphase),k1:k2,1)*factaersmpa
2190                 if (lptr_smpbb_aer(n,itype,iphase) .ge. p1st)   &
2191                     chem(it,kt1:kt2,jt,lptr_smpbb_aer(n,itype,iphase)) =   &
2192                     rsub(lptr_smpbb_aer(n,itype,iphase),k1:k2,1)*factaersmpbb
2193                 if (lptr_glysoa_r1_aer(n,itype,iphase) .ge. p1st)   &
2194                     chem(it,kt1:kt2,jt,lptr_glysoa_r1_aer(n,itype,iphase)) =   &
2195                     rsub(lptr_glysoa_r1_aer(n,itype,iphase),k1:k2,1)*factaerglyr1
2196                 if (lptr_glysoa_r2_aer(n,itype,iphase) .ge. p1st)   &
2197                     chem(it,kt1:kt2,jt,lptr_glysoa_r2_aer(n,itype,iphase)) =   &
2198                     rsub(lptr_glysoa_r2_aer(n,itype,iphase),k1:k2,1)*factaerglyr2
2199                 if (lptr_glysoa_sfc_aer(n,itype,iphase) .ge. p1st)   &
2200                     chem(it,kt1:kt2,jt,lptr_glysoa_sfc_aer(n,itype,iphase)) =   &
2201                     rsub(lptr_glysoa_sfc_aer(n,itype,iphase),k1:k2,1)*factaerglysfc
2202                 if (lptr_glysoa_oh_aer(n,itype,iphase) .ge. p1st)   &
2203                     chem(it,kt1:kt2,jt,lptr_glysoa_oh_aer(n,itype,iphase)) =   &
2204                     rsub(lptr_glysoa_oh_aer(n,itype,iphase),k1:k2,1)*factaerglyoh
2205                 if (lptr_glysoa_nh4_aer(n,itype,iphase) .ge. p1st)   &
2206                     chem(it,kt1:kt2,jt,lptr_glysoa_nh4_aer(n,itype,iphase)) =   &
2207                     rsub(lptr_glysoa_nh4_aer(n,itype,iphase),k1:k2,1)*factaerglynh4
2208                 if (lptr_ant1_c_aer(n,itype,iphase) .ge. p1st)   &
2209                     chem(it,kt1:kt2,jt,lptr_ant1_c_aer(n,itype,iphase)) =   &
2210                     rsub(lptr_ant1_c_aer(n,itype,iphase),k1:k2,1)*factaerant1_c
2211                 if (lptr_ant2_c_aer(n,itype,iphase) .ge. p1st)   &
2212                     chem(it,kt1:kt2,jt,lptr_ant2_c_aer(n,itype,iphase)) =   &
2213                     rsub(lptr_ant2_c_aer(n,itype,iphase),k1:k2,1)*factaerant2_c
2214                 if (lptr_ant3_c_aer(n,itype,iphase) .ge. p1st)   &
2215                     chem(it,kt1:kt2,jt,lptr_ant3_c_aer(n,itype,iphase)) =   &
2216                     rsub(lptr_ant3_c_aer(n,itype,iphase),k1:k2,1)*factaerant3_c
2217                 if (lptr_ant4_c_aer(n,itype,iphase) .ge. p1st)   &
2218                     chem(it,kt1:kt2,jt,lptr_ant4_c_aer(n,itype,iphase)) =   &
2219                     rsub(lptr_ant4_c_aer(n,itype,iphase),k1:k2,1)*factaerant4_c
2220                 if (lptr_ant1_o_aer(n,itype,iphase) .ge. p1st)   &
2221                     chem(it,kt1:kt2,jt,lptr_ant1_o_aer(n,itype,iphase)) =   &
2222                     rsub(lptr_ant1_o_aer(n,itype,iphase),k1:k2,1)*factaerant1_o
2223                 if (lptr_ant2_o_aer(n,itype,iphase) .ge. p1st)   &
2224                     chem(it,kt1:kt2,jt,lptr_ant2_o_aer(n,itype,iphase)) =   &
2225                     rsub(lptr_ant2_o_aer(n,itype,iphase),k1:k2,1)*factaerant2_o
2226                 if (lptr_ant3_o_aer(n,itype,iphase) .ge. p1st)   &
2227                     chem(it,kt1:kt2,jt,lptr_ant3_o_aer(n,itype,iphase)) =   &
2228                     rsub(lptr_ant3_o_aer(n,itype,iphase),k1:k2,1)*factaerant3_o
2229                 if (lptr_ant4_o_aer(n,itype,iphase) .ge. p1st)   &
2230                     chem(it,kt1:kt2,jt,lptr_ant4_o_aer(n,itype,iphase)) =   &
2231                     rsub(lptr_ant4_o_aer(n,itype,iphase),k1:k2,1)*factaerant4_o
2232                 if (lptr_biog1_c_aer(n,itype,iphase) .ge. p1st)   &
2233                     chem(it,kt1:kt2,jt,lptr_biog1_c_aer(n,itype,iphase)) =   &
2234                     rsub(lptr_biog1_c_aer(n,itype,iphase),k1:k2,1)*factaerbiog1_c
2235                 if (lptr_biog2_c_aer(n,itype,iphase) .ge. p1st)   &
2236                     chem(it,kt1:kt2,jt,lptr_biog2_c_aer(n,itype,iphase)) =   &
2237                     rsub(lptr_biog2_c_aer(n,itype,iphase),k1:k2,1)*factaerbiog2_c
2238                 if (lptr_biog3_c_aer(n,itype,iphase) .ge. p1st)   &
2239                     chem(it,kt1:kt2,jt,lptr_biog3_c_aer(n,itype,iphase)) =   &
2240                     rsub(lptr_biog3_c_aer(n,itype,iphase),k1:k2,1)*factaerbiog3_c
2241                 if (lptr_biog4_c_aer(n,itype,iphase) .ge. p1st)   &
2242                     chem(it,kt1:kt2,jt,lptr_biog4_c_aer(n,itype,iphase)) =   &
2243                     rsub(lptr_biog4_c_aer(n,itype,iphase),k1:k2,1)*factaerbiog4_c
2244                 if (lptr_biog1_o_aer(n,itype,iphase) .ge. p1st)   &
2245                     chem(it,kt1:kt2,jt,lptr_biog1_o_aer(n,itype,iphase)) =   &
2246                     rsub(lptr_biog1_o_aer(n,itype,iphase),k1:k2,1)*factaerbiog1_o
2247                 if (lptr_biog2_o_aer(n,itype,iphase) .ge. p1st)   &
2248                     chem(it,kt1:kt2,jt,lptr_biog2_o_aer(n,itype,iphase)) =   &
2249                     rsub(lptr_biog2_o_aer(n,itype,iphase),k1:k2,1)*factaerbiog2_o
2250                 if (lptr_biog3_o_aer(n,itype,iphase) .ge. p1st)   &
2251                     chem(it,kt1:kt2,jt,lptr_biog3_o_aer(n,itype,iphase)) =   &
2252                     rsub(lptr_biog3_o_aer(n,itype,iphase),k1:k2,1)*factaerbiog3_o
2253                 if (lptr_biog4_o_aer(n,itype,iphase) .ge. p1st)   &
2254                     chem(it,kt1:kt2,jt,lptr_biog4_o_aer(n,itype,iphase)) =   &
2255                     rsub(lptr_biog4_o_aer(n,itype,iphase),k1:k2,1)*factaerbiog4_o
2256                 if (lptr_asoaX_aer(n,itype,iphase) .ge. p1st)   &
2257                     chem(it,kt1:kt2,jt,lptr_asoaX_aer(n,itype,iphase)) =   &
2258                     rsub(lptr_asoaX_aer(n,itype,iphase),k1:k2,1)*factaerasoaX
2259                 if (lptr_asoa1_aer(n,itype,iphase) .ge. p1st)   &
2260                     chem(it,kt1:kt2,jt,lptr_asoa1_aer(n,itype,iphase)) =   &
2261                     rsub(lptr_asoa1_aer(n,itype,iphase),k1:k2,1)*factaerasoa1
2262                 if (lptr_asoa2_aer(n,itype,iphase) .ge. p1st)   &
2263                     chem(it,kt1:kt2,jt,lptr_asoa2_aer(n,itype,iphase)) =   &
2264                     rsub(lptr_asoa2_aer(n,itype,iphase),k1:k2,1)*factaerasoa2
2265                 if (lptr_asoa3_aer(n,itype,iphase) .ge. p1st)   &
2266                     chem(it,kt1:kt2,jt,lptr_asoa3_aer(n,itype,iphase)) =   &
2267                     rsub(lptr_asoa3_aer(n,itype,iphase),k1:k2,1)*factaerasoa3
2268                 if (lptr_asoa4_aer(n,itype,iphase) .ge. p1st)   &
2269                     chem(it,kt1:kt2,jt,lptr_asoa4_aer(n,itype,iphase)) =   &
2270                     rsub(lptr_asoa4_aer(n,itype,iphase),k1:k2,1)*factaerasoa4
2271                 if (lptr_bsoaX_aer(n,itype,iphase) .ge. p1st)   &
2272                     chem(it,kt1:kt2,jt,lptr_bsoaX_aer(n,itype,iphase)) =   &
2273                     rsub(lptr_bsoaX_aer(n,itype,iphase),k1:k2,1)*factaerbsoaX
2274                 if (lptr_bsoa1_aer(n,itype,iphase) .ge. p1st)   &
2275                     chem(it,kt1:kt2,jt,lptr_bsoa1_aer(n,itype,iphase)) =   &
2276                     rsub(lptr_bsoa1_aer(n,itype,iphase),k1:k2,1)*factaerbsoa1
2277                 if (lptr_bsoa2_aer(n,itype,iphase) .ge. p1st)   &
2278                     chem(it,kt1:kt2,jt,lptr_bsoa2_aer(n,itype,iphase)) =   &
2279                     rsub(lptr_bsoa2_aer(n,itype,iphase),k1:k2,1)*factaerbsoa2
2280                 if (lptr_bsoa3_aer(n,itype,iphase) .ge. p1st)   &
2281                     chem(it,kt1:kt2,jt,lptr_bsoa3_aer(n,itype,iphase)) =   &
2282                     rsub(lptr_bsoa3_aer(n,itype,iphase),k1:k2,1)*factaerbsoa3
2283                 if (lptr_bsoa4_aer(n,itype,iphase) .ge. p1st)   &
2284                     chem(it,kt1:kt2,jt,lptr_bsoa4_aer(n,itype,iphase)) =   &
2285                     rsub(lptr_bsoa4_aer(n,itype,iphase),k1:k2,1)*factaerbsoa4
2287                       
2289             end do ! size
2290             end do ! type
2291             end do ! phase
2292         end if
2295         return
2297         end subroutine mapaer_tofrom_host
2300 !-----------------------------------------------------------------------
2301 ! *** note - eventually is_aerosol will be a subr argument
2302         subroutine init_data_mosaic_asect( id, config_flags, vbs_nbin, is_aerosol )
2303 !       subroutine init_data_mosaic_asect( id, n2o5_hetchem, is_aerosol )
2304 !       subroutine init_data_mosaic_asect( )
2306         use module_data_mosaic_asect
2307         use module_data_mosaic_other, only:  lunerr, lunout,   &
2308                 aboxtest_testmode, aboxtest_units_convert,   &
2309                 aboxtest_rh_method, aboxtest_map_method,   &
2310                 aboxtest_gases_fixed, aboxtest_min_temp,   &
2311                 aboxtest_min_relhum, aboxtest_max_relhum
2312         use module_data_mosaic_therm, only:  nbin_a, nbin_a_maxd, n2o5_flag
2313         use module_mosaic2_driver, only:  init_data_mosaic2_asect
2314         use module_mosaic_csuesat, only:  init_csuesat
2315         use module_mosaic_movesect, only:  move_sections, test_move_sections
2316         use module_peg_util, only:  peg_error_fatal
2319         use module_configure, only:   &
2320                 grid_config_rec_type, &
2321                 p_so4_a01, p_so4_a02, p_so4_a03, p_so4_a04,   &
2322                 p_so4_a05, p_so4_a06, p_so4_a07, p_so4_a08
2323 #if defined ( cw_species_are_in_registry )
2324         use module_configure, only:   &
2325            p_so4_cw01, p_no3_cw01, p_cl_cw01, p_nh4_cw01, p_na_cw01,   &
2326            p_so4_cw02, p_no3_cw02, p_cl_cw02, p_nh4_cw02, p_na_cw02,   &
2327            p_so4_cw03, p_no3_cw03, p_cl_cw03, p_nh4_cw03, p_na_cw03,   &
2328            p_so4_cw04, p_no3_cw04, p_cl_cw04, p_nh4_cw04, p_na_cw04,   &
2329            p_so4_cw05, p_no3_cw05, p_cl_cw05, p_nh4_cw05, p_na_cw05,   &
2330            p_so4_cw06, p_no3_cw06, p_cl_cw06, p_nh4_cw06, p_na_cw06,   &
2331            p_so4_cw07, p_no3_cw07, p_cl_cw07, p_nh4_cw07, p_na_cw07,   &
2332            p_so4_cw08, p_no3_cw08, p_cl_cw08, p_nh4_cw08, p_na_cw08,   &
2333            p_oin_cw01, p_oc_cw01,  p_bc_cw01, p_num_cw01,              &
2334            p_oin_cw02, p_oc_cw02,  p_bc_cw02, p_num_cw02,              &
2335            p_oin_cw03, p_oc_cw03,  p_bc_cw03, p_num_cw03,              &
2336            p_oin_cw04, p_oc_cw04,  p_bc_cw04, p_num_cw04,              &
2337            p_oin_cw05, p_oc_cw05,  p_bc_cw05, p_num_cw05,              &
2338            p_oin_cw06, p_oc_cw06,  p_bc_cw06, p_num_cw06,              &
2339            p_oin_cw07, p_oc_cw07,  p_bc_cw07, p_num_cw07,              &
2340            p_oin_cw08, p_oc_cw08,  p_bc_cw08, p_num_cw08,              &
2341      p_glysoa_r1_cw01, p_glysoa_r2_cw01, p_glysoa_sfc_cw01, p_glysoa_nh4_cw01, p_glysoa_oh_cw01,    &
2342      p_glysoa_r1_cw02, p_glysoa_r2_cw02, p_glysoa_sfc_cw02, p_glysoa_nh4_cw02, p_glysoa_oh_cw02,    &
2343      p_glysoa_r1_cw03, p_glysoa_r2_cw03, p_glysoa_sfc_cw03, p_glysoa_nh4_cw03, p_glysoa_oh_cw03,    &
2344      p_glysoa_r1_cw04, p_glysoa_r2_cw04, p_glysoa_sfc_cw04, p_glysoa_nh4_cw04, p_glysoa_oh_cw04,    &
2345      p_asoaX_cw01, p_asoa1_cw01, p_asoa2_cw01, p_asoa3_cw01, p_asoa4_cw01,     &
2346      p_bsoaX_cw01, p_bsoa1_cw01, p_bsoa2_cw01, p_bsoa3_cw01, p_bsoa4_cw01,     &
2347      p_asoaX_cw02, p_asoa1_cw02, p_asoa2_cw02, p_asoa3_cw02, p_asoa4_cw02,     &
2348      p_bsoaX_cw02, p_bsoa1_cw02, p_bsoa2_cw02, p_bsoa3_cw02, p_bsoa4_cw02,     &
2349      p_asoaX_cw03, p_asoa1_cw03, p_asoa2_cw03, p_asoa3_cw03, p_asoa4_cw03,     &
2350      p_bsoaX_cw03, p_bsoa1_cw03, p_bsoa2_cw03, p_bsoa3_cw03, p_bsoa4_cw03,     &
2351      p_asoaX_cw04, p_asoa1_cw04, p_asoa2_cw04, p_asoa3_cw04, p_asoa4_cw04,     &
2352      p_bsoaX_cw04, p_bsoa1_cw04, p_bsoa2_cw04, p_bsoa3_cw04, p_bsoa4_cw04,              &
2353        p_pcg1_b_c_cw01,p_pcg1_b_o_cw01,p_opcg1_b_c_cw01,p_opcg1_b_o_cw01, &
2354            p_pcg1_f_c_cw01,p_pcg1_f_o_cw01,p_opcg1_f_c_cw01,p_opcg1_f_o_cw01, &
2355            p_ant1_c_cw01,p_biog1_c_cw01,                                      &
2356            p_pcg1_b_c_cw02,p_pcg1_b_o_cw02,p_opcg1_b_c_cw02,p_opcg1_b_o_cw02, &
2357            p_pcg1_f_c_cw02,p_pcg1_f_o_cw02,p_opcg1_f_c_cw02,p_opcg1_f_o_cw02, &
2358            p_ant1_c_cw02,p_biog1_c_cw02,                                      &
2359            p_pcg1_b_c_cw03,p_pcg1_b_o_cw03,p_opcg1_b_c_cw03,p_opcg1_b_o_cw03, &
2360            p_pcg1_f_c_cw03,p_pcg1_f_o_cw03,p_opcg1_f_c_cw03,p_opcg1_f_o_cw03, &
2361            p_ant1_c_cw03,p_biog1_c_cw03,                                      &
2362            p_pcg1_b_c_cw04,p_pcg1_b_o_cw04,p_opcg1_b_c_cw04,p_opcg1_b_o_cw04, &
2363            p_pcg1_f_c_cw04,p_pcg1_f_o_cw04,p_opcg1_f_c_cw04,p_opcg1_f_o_cw04, &
2364            p_ant1_c_cw04,p_biog1_c_cw04,                                      &
2365            p_pcg1_b_c_cw05,p_pcg1_b_o_cw05,p_opcg1_b_c_cw05,p_opcg1_b_o_cw05, &
2366            p_pcg1_f_c_cw05,p_pcg1_f_o_cw05,p_opcg1_f_c_cw05,p_opcg1_f_o_cw05, &
2367            p_ant1_c_cw05,p_biog1_c_cw05,                                      &
2368            p_pcg1_b_c_cw06,p_pcg1_b_o_cw06,p_opcg1_b_c_cw06,p_opcg1_b_o_cw06, &
2369            p_pcg1_f_c_cw06,p_pcg1_f_o_cw06,p_opcg1_f_c_cw06,p_opcg1_f_o_cw06, &
2370            p_ant1_c_cw06,p_biog1_c_cw06,                                      &
2371            p_pcg1_b_c_cw07,p_pcg1_b_o_cw07,p_opcg1_b_c_cw07,p_opcg1_b_o_cw07, &
2372            p_pcg1_f_c_cw07,p_pcg1_f_o_cw07,p_opcg1_f_c_cw07,p_opcg1_f_o_cw07, &
2373            p_ant1_c_cw07,p_biog1_c_cw07,                                      &
2374            p_pcg1_b_c_cw08,p_pcg1_b_o_cw08,p_opcg1_b_c_cw08,p_opcg1_b_o_cw08, &
2375            p_pcg1_f_c_cw08,p_pcg1_f_o_cw08,p_opcg1_f_c_cw08,p_opcg1_f_o_cw08, &
2376            p_ant1_c_cw08,p_biog1_c_cw08
2377 #endif
2379         use module_state_description, only:  param_first_scalar, num_chem
2381         implicit none
2383 ! *** note - eventually is_aerosol will be a subr argument
2384         logical, intent(out) :: is_aerosol(num_chem)
2385 !   control flag for N2O5 het chem scheme
2386         integer, intent(in) :: id, &
2387                                vbs_nbin(1)
2389         type(grid_config_rec_type), intent(in) :: config_flags
2391 !   local variables
2392         integer idum, itype, jdum, l, ldum, n, nhi, nsize_aer_dum
2393         real dum
2394         real, parameter :: pi = 3.14159265
2397 !   set some "pegasus" control variables
2399         msectional = 20
2400         maerocoag = -2
2401         maerchem = 1
2402         maeroptical = 1
2403         maerchem_boxtest_output = -1
2404 ! set some control flags using config_flags%mosaic_aerchem_optaa
2405         idum = max( config_flags%mosaic_aerchem_optaa, 0 )
2406         if (idum >= 10000) then
2407             jdum = mod(idum,100)/10  ! 10s digit controls movesect
2408             if (jdum == 0) msectional =  0  ! causes method_movesect =  0
2409             if (jdum == 1) msectional = 10  ! causes method_movesect = 10
2410             if (jdum == 2) msectional = 20  ! causes method_movesect = 20
2412             jdum = mod(idum,1000)/100  ! 100s digit controls newnuc
2414             jdum = mod(idum,10000)/1000  ! 1000s digit controls coag
2415         end if ! (idum >= 100 0) the
2418 !   set ntype_aer = 1
2420         ntype_aer = 1
2423 !   set number of aerosol bins using the wrf-chem sulfate pointers
2425         nsize_aer(:) = 0
2426         itype=1
2427         if (p_so4_a01 .ge. param_first_scalar) nsize_aer(itype) = 1
2428         if (p_so4_a02 .ge. param_first_scalar) nsize_aer(itype) = 2
2429         if (p_so4_a03 .ge. param_first_scalar) nsize_aer(itype) = 3
2430         if (p_so4_a04 .ge. param_first_scalar) nsize_aer(itype) = 4
2431         if (p_so4_a05 .ge. param_first_scalar) nsize_aer(itype) = 5
2432         if (p_so4_a06 .ge. param_first_scalar) nsize_aer(itype) = 6
2433         if (p_so4_a07 .ge. param_first_scalar) nsize_aer(itype) = 7
2434         if (p_so4_a08 .ge. param_first_scalar) nsize_aer(itype) = 8
2436         if (nsize_aer(itype) .le. 0) then
2437             call peg_error_fatal( lunerr,   &
2438                 'init_data_mosaic_asect - nsize_aer = 0' )
2439         else if (nsize_aer(itype) .gt. maxd_asize) then
2440             call peg_error_fatal( lunerr,   &
2441                 'init_data_mosaic_asect - nsize_aer > maxd_asize' )
2442         end if
2445 !   set nbin_a to total number of aerosol bins (for all types)
2447         nbin_a = 0
2448         do itype = 1, ntype_aer
2449             nbin_a = nbin_a + nsize_aer(itype)
2450         end do
2451         if (nbin_a .gt. nbin_a_maxd) then
2452             call peg_error_fatal( lunerr,   &
2453                 'init_data_mosaic_asect - nbin_a > nbin_a_maxd' )
2454         end if
2457 !   set nphase_aer (number of active aerosol species phases),
2458 !   the xx_phase, and maerosolincw
2460         nphase_aer = 0
2461         maerosolincw = 0
2462         if (nsize_aer(1) .gt. 0) then
2463             nphase_aer = 1
2464             ai_phase = 1
2466 #if defined ( cw_species_are_in_registry )
2467             if (p_so4_cw01 .ge. param_first_scalar) then
2468                 nphase_aer = 2
2469                 cw_phase = 2
2470                 maerosolincw = 1
2471             end if
2472 #endif
2473         end if
2476 #if defined ( aboxtest_box_testing_active )
2477 ! *** start of "box testing" code section ***
2478 !     these code lines should be inactive when running wrf-chem
2480 !   set some variables to "box test" values
2481         call aboxtest_get_extra_args( 10,   &
2482                 msectional, maerosolincw, maerocoag,   &
2483                 maerchem, maeroptical, maerchem_boxtest_output,   &
2484                 lunerr, lunout, idum, dum, dum )
2485         call aboxtest_get_extra_args( 11,   &
2486                 aboxtest_testmode, aboxtest_units_convert,   &
2487                 aboxtest_rh_method, aboxtest_map_method,   &
2488                 aboxtest_gases_fixed, nsize_aer_dum,   &
2489                 idum, idum, idum, dum, dum )
2491         itype = 1
2492         if (nsize_aer_dum > 0) nsize_aer(itype) = nsize_aer_dum
2494         aboxtest_min_temp = 0.0
2495         aboxtest_min_relhum = 0.0
2496         aboxtest_max_relhum = 1.0
2497 ! ***  end  of "box testing" code section ***
2498 #endif
2500 ! copy over N2O5 control flag (DL 9/6/2013)
2501 n2o5_flag = config_flags%n2o5_hetchem
2504 !   set master aerosol chemical types
2506 !       ntot_mastercomp_aer = 96
2507         ntot_mastercomp_aer = 111
2509         l = 1
2510         mastercompindx_so4_aer = l
2511         name_mastercomp_aer( l ) = 'sulfate'
2512         dens_mastercomp_aer( l ) =  dens_so4_aer
2513         mw_mastercomp_aer(   l ) =    mw_so4_aer
2514         hygro_mastercomp_aer(l ) = hygro_so4_aer
2516         l = 2
2517         mastercompindx_no3_aer = l
2518         name_mastercomp_aer( l ) = 'nitrate'
2519         dens_mastercomp_aer( l ) =  dens_no3_aer
2520         mw_mastercomp_aer(   l ) =    mw_no3_aer
2521         hygro_mastercomp_aer(l ) = hygro_no3_aer
2523         l = 3
2524         mastercompindx_cl_aer = l
2525         name_mastercomp_aer( l ) = 'chloride'
2526         dens_mastercomp_aer( l ) =  dens_cl_aer
2527         mw_mastercomp_aer(   l ) =    mw_cl_aer
2528         hygro_mastercomp_aer(l ) = hygro_cl_aer
2530         l = 4
2531         mastercompindx_co3_aer = l
2532         name_mastercomp_aer( l ) = 'carbonate'
2533         dens_mastercomp_aer( l ) =  dens_co3_aer
2534         mw_mastercomp_aer(   l ) =    mw_co3_aer
2535         hygro_mastercomp_aer(l ) = hygro_co3_aer
2537         l = 5
2538         mastercompindx_nh4_aer = l
2539         name_mastercomp_aer( l ) = 'ammonium'
2540         dens_mastercomp_aer( l ) =  dens_nh4_aer
2541         mw_mastercomp_aer(   l ) =    mw_nh4_aer
2542         hygro_mastercomp_aer(l ) = hygro_nh4_aer
2544         l = 6
2545         mastercompindx_na_aer = l
2546         name_mastercomp_aer( l ) = 'sodium'
2547         dens_mastercomp_aer( l ) =  dens_na_aer
2548         mw_mastercomp_aer(   l ) =    mw_na_aer
2549         hygro_mastercomp_aer(l ) = hygro_na_aer
2551         l = 7
2552         mastercompindx_ca_aer = l
2553         name_mastercomp_aer( l ) = 'calcium'
2554         dens_mastercomp_aer( l ) =  dens_ca_aer
2555         mw_mastercomp_aer(   l ) =    mw_ca_aer
2556         hygro_mastercomp_aer(l ) = hygro_ca_aer
2558         l = 8
2559         mastercompindx_oin_aer = l
2560         name_mastercomp_aer( l ) = 'otherinorg'
2561         dens_mastercomp_aer( l ) =  dens_oin_aer
2562         mw_mastercomp_aer(   l ) =    mw_oin_aer
2563         hygro_mastercomp_aer(l ) = hygro_oin_aer
2565         l = 9
2566         mastercompindx_oc_aer = l
2567         name_mastercomp_aer( l ) = 'organic-c'
2568         dens_mastercomp_aer( l ) =  dens_oc_aer
2569         mw_mastercomp_aer(   l ) =    mw_oc_aer
2570         hygro_mastercomp_aer(l ) = hygro_oc_aer
2572         l = 10
2573         mastercompindx_bc_aer = l
2574         name_mastercomp_aer( l ) = 'black-c'
2575         dens_mastercomp_aer( l ) =  dens_bc_aer
2576         mw_mastercomp_aer(   l ) =    mw_bc_aer
2577         hygro_mastercomp_aer(l ) = hygro_bc_aer
2579         l = 11
2580         mastercompindx_pcg1_b_c_aer = l
2581         name_mastercomp_aer( l ) = 'pcg1_b_c'
2582         dens_mastercomp_aer( l ) =  dens_pcg1_b_c_aer
2583         mw_mastercomp_aer(   l ) =    mw_pcg1_b_c_aer
2584         hygro_mastercomp_aer(l ) = hygro_pcg1_b_c_aer
2586         l = 12
2587         mastercompindx_pcg2_b_c_aer = l
2588         name_mastercomp_aer( l ) = 'pcg2_b_c'
2589         dens_mastercomp_aer( l ) =  dens_pcg2_b_c_aer
2590         mw_mastercomp_aer(   l ) =    mw_pcg2_b_c_aer
2591         hygro_mastercomp_aer(l ) = hygro_pcg2_b_c_aer
2593         l = 13
2594         mastercompindx_pcg3_b_c_aer = l
2595         name_mastercomp_aer( l ) = 'pcg3_b_c'
2596         dens_mastercomp_aer( l ) =  dens_pcg3_b_c_aer
2597         mw_mastercomp_aer(   l ) =    mw_pcg3_b_c_aer
2598         hygro_mastercomp_aer(l ) = hygro_pcg3_b_c_aer
2600         l = 14
2601         mastercompindx_pcg4_b_c_aer = l
2602         name_mastercomp_aer( l ) = 'pcg4_b_c'
2603         dens_mastercomp_aer( l ) =  dens_pcg4_b_c_aer
2604         mw_mastercomp_aer(   l ) =    mw_pcg4_b_c_aer
2605         hygro_mastercomp_aer(l ) = hygro_pcg4_b_c_aer
2607         l = 15
2608         mastercompindx_pcg5_b_c_aer = l
2609         name_mastercomp_aer( l ) = 'pcg5_b_c'
2610         dens_mastercomp_aer( l ) =  dens_pcg5_b_c_aer
2611         mw_mastercomp_aer(   l ) =    mw_pcg5_b_c_aer
2612         hygro_mastercomp_aer(l ) = hygro_pcg5_b_c_aer
2614         l = 16
2615         mastercompindx_pcg6_b_c_aer = l
2616         name_mastercomp_aer( l ) = 'pcg6_b_c'
2617         dens_mastercomp_aer( l ) =  dens_pcg6_b_c_aer
2618         mw_mastercomp_aer(   l ) =    mw_pcg6_b_c_aer
2619         hygro_mastercomp_aer(l ) = hygro_pcg6_b_c_aer
2621         l = 17
2622         mastercompindx_pcg7_b_c_aer = l
2623         name_mastercomp_aer( l ) = 'pcg7_b_c'
2624         dens_mastercomp_aer( l ) =  dens_pcg7_b_c_aer
2625         mw_mastercomp_aer(   l ) =    mw_pcg7_b_c_aer
2626         hygro_mastercomp_aer(l ) = hygro_pcg7_b_c_aer
2628         l = 18
2629         mastercompindx_pcg8_b_c_aer = l
2630         name_mastercomp_aer( l ) = 'pcg8_b_c'
2631         dens_mastercomp_aer( l ) =  dens_pcg8_b_c_aer
2632         mw_mastercomp_aer(   l ) =    mw_pcg8_b_c_aer
2633         hygro_mastercomp_aer(l ) = hygro_pcg8_b_c_aer
2635         l = 19
2636         mastercompindx_pcg9_b_c_aer = l
2637         name_mastercomp_aer( l ) = 'pcg9_b_c'
2638         dens_mastercomp_aer( l ) =  dens_pcg9_b_c_aer
2639         mw_mastercomp_aer(   l ) =    mw_pcg9_b_c_aer
2640         hygro_mastercomp_aer(l ) = hygro_pcg9_b_c_aer
2642         l = 20
2643         mastercompindx_pcg1_b_o_aer = l
2644         name_mastercomp_aer( l ) = 'pcg1_b_o'
2645         dens_mastercomp_aer( l ) =  dens_pcg1_b_o_aer
2646         mw_mastercomp_aer(   l ) =    mw_pcg1_b_o_aer
2647         hygro_mastercomp_aer(l ) = hygro_pcg1_b_o_aer
2649         l = 21
2650         mastercompindx_pcg2_b_o_aer = l
2651         name_mastercomp_aer( l ) = 'pcg2_b_o'
2652         dens_mastercomp_aer( l ) =  dens_pcg2_b_o_aer
2653         mw_mastercomp_aer(   l ) =    mw_pcg2_b_o_aer
2654         hygro_mastercomp_aer(l ) = hygro_pcg2_b_o_aer
2656         l = 22
2657         mastercompindx_pcg3_b_o_aer = l
2658         name_mastercomp_aer( l ) = 'pcg3_b_o'
2659         dens_mastercomp_aer( l ) =  dens_pcg3_b_o_aer
2660         mw_mastercomp_aer(   l ) =    mw_pcg3_b_o_aer
2661         hygro_mastercomp_aer(l ) = hygro_pcg3_b_o_aer
2663         l = 23
2664         mastercompindx_pcg4_b_o_aer = l
2665         name_mastercomp_aer( l ) = 'pcg4_b_o'
2666         dens_mastercomp_aer( l ) =  dens_pcg4_b_o_aer
2667         mw_mastercomp_aer(   l ) =    mw_pcg4_b_o_aer
2668         hygro_mastercomp_aer(l ) = hygro_pcg4_b_o_aer
2670         l = 24
2671         mastercompindx_pcg5_b_o_aer = l
2672         name_mastercomp_aer( l ) = 'pcg5_b_o'
2673         dens_mastercomp_aer( l ) =  dens_pcg5_b_o_aer
2674         mw_mastercomp_aer(   l ) =    mw_pcg5_b_o_aer
2675         hygro_mastercomp_aer(l ) = hygro_pcg5_b_o_aer
2677         l = 25
2678         mastercompindx_pcg6_b_o_aer = l
2679         name_mastercomp_aer( l ) = 'pcg6_b_o'
2680         dens_mastercomp_aer( l ) =  dens_pcg6_b_o_aer
2681         mw_mastercomp_aer(   l ) =    mw_pcg6_b_o_aer
2682         hygro_mastercomp_aer(l ) = hygro_pcg6_b_o_aer
2684         l = 26
2685         mastercompindx_pcg7_b_o_aer = l
2686         name_mastercomp_aer( l ) = 'pcg7_b_o'
2687         dens_mastercomp_aer( l ) =  dens_pcg7_b_o_aer
2688         mw_mastercomp_aer(   l ) =    mw_pcg7_b_o_aer
2689         hygro_mastercomp_aer(l ) = hygro_pcg7_b_o_aer
2691         l = 27
2692         mastercompindx_pcg8_b_o_aer = l
2693         name_mastercomp_aer( l ) = 'pcg8_b_o'
2694         dens_mastercomp_aer( l ) =  dens_pcg8_b_o_aer
2695         mw_mastercomp_aer(   l ) =    mw_pcg8_b_o_aer
2696         hygro_mastercomp_aer(l ) = hygro_pcg8_b_o_aer
2698         l = 28
2699         mastercompindx_pcg9_b_o_aer = l
2700         name_mastercomp_aer( l ) = 'pcg9_b_o'
2701         dens_mastercomp_aer( l ) =  dens_pcg9_b_o_aer
2702         mw_mastercomp_aer(   l ) =    mw_pcg9_b_o_aer
2703         hygro_mastercomp_aer(l ) = hygro_pcg9_b_o_aer
2705         l = 29
2706         mastercompindx_opcg1_b_c_aer = l
2707         name_mastercomp_aer( l ) = 'opcg1_b_c'
2708         dens_mastercomp_aer( l ) =  dens_opcg1_b_c_aer
2709         mw_mastercomp_aer(   l ) =    mw_opcg1_b_c_aer
2710         hygro_mastercomp_aer(l ) = hygro_opcg1_b_c_aer
2712         l = 30
2713         mastercompindx_opcg2_b_c_aer = l
2714         name_mastercomp_aer( l ) = 'opcg2_b_c'
2715         dens_mastercomp_aer( l ) =  dens_opcg2_b_c_aer
2716         mw_mastercomp_aer(   l ) =    mw_opcg2_b_c_aer
2717         hygro_mastercomp_aer(l ) = hygro_opcg2_b_c_aer
2719         l = 31
2720         mastercompindx_opcg3_b_c_aer = l
2721         name_mastercomp_aer( l ) = 'opcg3_b_c'
2722         dens_mastercomp_aer( l ) =  dens_opcg3_b_c_aer
2723         mw_mastercomp_aer(   l ) =    mw_opcg3_b_c_aer
2724         hygro_mastercomp_aer(l ) = hygro_opcg3_b_c_aer
2726         l = 32
2727         mastercompindx_opcg4_b_c_aer = l
2728         name_mastercomp_aer( l ) = 'opcg4_b_c'
2729         dens_mastercomp_aer( l ) =  dens_opcg4_b_c_aer
2730         mw_mastercomp_aer(   l ) =    mw_opcg4_b_c_aer
2731         hygro_mastercomp_aer(l ) = hygro_opcg4_b_c_aer
2733         l = 33
2734         mastercompindx_opcg5_b_c_aer = l
2735         name_mastercomp_aer( l ) = 'opcg5_b_c'
2736         dens_mastercomp_aer( l ) =  dens_opcg5_b_c_aer
2737         mw_mastercomp_aer(   l ) =    mw_opcg5_b_c_aer
2738         hygro_mastercomp_aer(l ) = hygro_opcg5_b_c_aer
2740         l = 34
2741         mastercompindx_opcg6_b_c_aer = l
2742         name_mastercomp_aer( l ) = 'opcg6_b_c'
2743         dens_mastercomp_aer( l ) =  dens_opcg6_b_c_aer
2744         mw_mastercomp_aer(   l ) =    mw_opcg6_b_c_aer
2745         hygro_mastercomp_aer(l ) = hygro_opcg6_b_c_aer
2747         l = 35
2748         mastercompindx_opcg7_b_c_aer = l
2749         name_mastercomp_aer( l ) = 'opcg7_b_c'
2750         dens_mastercomp_aer( l ) =  dens_opcg7_b_c_aer
2751         mw_mastercomp_aer(   l ) =    mw_opcg7_b_c_aer
2752         hygro_mastercomp_aer(l ) = hygro_opcg7_b_c_aer
2754         l = 36
2755         mastercompindx_opcg8_b_c_aer = l
2756         name_mastercomp_aer( l ) = 'opcg8_b_c'
2757         dens_mastercomp_aer( l ) =  dens_opcg8_b_c_aer
2758         mw_mastercomp_aer(   l ) =    mw_opcg8_b_c_aer
2759         hygro_mastercomp_aer(l ) = hygro_opcg8_b_c_aer
2761         l = 37
2762         mastercompindx_opcg1_b_o_aer = l
2763         name_mastercomp_aer( l ) = 'opcg1_b_o'
2764         dens_mastercomp_aer( l ) =  dens_opcg1_b_o_aer
2765         mw_mastercomp_aer(   l ) =    mw_opcg1_b_o_aer
2766         hygro_mastercomp_aer(l ) = hygro_opcg1_b_o_aer
2768         l = 38
2769         mastercompindx_opcg2_b_o_aer = l
2770         name_mastercomp_aer( l ) = 'opcg2_b_o'
2771         dens_mastercomp_aer( l ) =  dens_opcg2_b_o_aer
2772         mw_mastercomp_aer(   l ) =    mw_opcg2_b_o_aer
2773         hygro_mastercomp_aer(l ) = hygro_opcg2_b_o_aer
2775         l = 39
2776         mastercompindx_opcg3_b_o_aer = l
2777         name_mastercomp_aer( l ) = 'opcg3_b_o'
2778         dens_mastercomp_aer( l ) =  dens_opcg3_b_o_aer
2779         mw_mastercomp_aer(   l ) =    mw_opcg3_b_o_aer
2780         hygro_mastercomp_aer(l ) = hygro_opcg3_b_o_aer
2782         l = 40
2783         mastercompindx_opcg4_b_o_aer = l
2784         name_mastercomp_aer( l ) = 'opcg4_b_o'
2785         dens_mastercomp_aer( l ) =  dens_opcg4_b_o_aer
2786         mw_mastercomp_aer(   l ) =    mw_opcg4_b_o_aer
2787         hygro_mastercomp_aer(l ) = hygro_opcg4_b_o_aer
2789         l = 41
2790         mastercompindx_opcg5_b_o_aer = l
2791         name_mastercomp_aer( l ) = 'opcg5_b_o'
2792         dens_mastercomp_aer( l ) =  dens_opcg5_b_o_aer
2793         mw_mastercomp_aer(   l ) =    mw_opcg5_b_o_aer
2794         hygro_mastercomp_aer(l ) = hygro_opcg5_b_o_aer
2796         l = 42
2797         mastercompindx_opcg6_b_o_aer = l
2798         name_mastercomp_aer( l ) = 'opcg6_b_o'
2799         dens_mastercomp_aer( l ) =  dens_opcg6_b_o_aer
2800         mw_mastercomp_aer(   l ) =    mw_opcg6_b_o_aer
2801         hygro_mastercomp_aer(l ) = hygro_opcg6_b_o_aer
2803         l = 43
2804         mastercompindx_opcg7_b_o_aer = l
2805         name_mastercomp_aer( l ) = 'opcg7_b_o'
2806         dens_mastercomp_aer( l ) =  dens_opcg7_b_o_aer
2807         mw_mastercomp_aer(   l ) =    mw_opcg7_b_o_aer
2808         hygro_mastercomp_aer(l ) = hygro_opcg7_b_o_aer
2810         l = 44
2811         mastercompindx_opcg8_b_o_aer = l
2812         name_mastercomp_aer( l ) = 'opcg8_b_o'
2813         dens_mastercomp_aer( l ) =  dens_opcg8_b_o_aer
2814         mw_mastercomp_aer(   l ) =    mw_opcg8_b_o_aer
2815         hygro_mastercomp_aer(l ) = hygro_opcg8_b_o_aer
2817         l = 45
2818         mastercompindx_pcg1_f_c_aer = l
2819         name_mastercomp_aer( l ) = 'pcg1_f_c'
2820         dens_mastercomp_aer( l ) =  dens_pcg1_f_c_aer
2821         mw_mastercomp_aer(   l ) =    mw_pcg1_f_c_aer
2822         hygro_mastercomp_aer(l ) = hygro_pcg1_f_c_aer
2824         l = 46
2825         mastercompindx_pcg2_f_c_aer = l
2826         name_mastercomp_aer( l ) = 'pcg2_f_c'
2827         dens_mastercomp_aer( l ) =  dens_pcg2_f_c_aer
2828         mw_mastercomp_aer(   l ) =    mw_pcg2_f_c_aer
2829         hygro_mastercomp_aer(l ) = hygro_pcg2_f_c_aer
2831         l = 47
2832         mastercompindx_pcg3_f_c_aer = l
2833         name_mastercomp_aer( l ) = 'pcg3_f_c'
2834         dens_mastercomp_aer( l ) =  dens_pcg3_f_c_aer
2835         mw_mastercomp_aer(   l ) =    mw_pcg3_f_c_aer
2836         hygro_mastercomp_aer(l ) = hygro_pcg3_f_c_aer
2838         l = 48
2839         mastercompindx_pcg4_f_c_aer = l
2840         name_mastercomp_aer( l ) = 'pcg4_f_c'
2841         dens_mastercomp_aer( l ) =  dens_pcg4_f_c_aer
2842         mw_mastercomp_aer(   l ) =    mw_pcg4_f_c_aer
2843         hygro_mastercomp_aer(l ) = hygro_pcg4_f_c_aer
2845         l = 49
2846         mastercompindx_pcg5_f_c_aer = l
2847         name_mastercomp_aer( l ) = 'pcg5_f_c'
2848         dens_mastercomp_aer( l ) =  dens_pcg5_f_c_aer
2849         mw_mastercomp_aer(   l ) =    mw_pcg5_f_c_aer
2850         hygro_mastercomp_aer(l ) = hygro_pcg5_f_c_aer
2852         l = 50
2853         mastercompindx_pcg6_f_c_aer = l
2854         name_mastercomp_aer( l ) = 'pcg6_f_c'
2855         dens_mastercomp_aer( l ) =  dens_pcg6_f_c_aer
2856         mw_mastercomp_aer(   l ) =    mw_pcg6_f_c_aer
2857         hygro_mastercomp_aer(l ) = hygro_pcg6_f_c_aer
2859         l = 51
2860         mastercompindx_pcg7_f_c_aer = l
2861         name_mastercomp_aer( l ) = 'pcg7_f_c'
2862         dens_mastercomp_aer( l ) =  dens_pcg7_f_c_aer
2863         mw_mastercomp_aer(   l ) =    mw_pcg7_f_c_aer
2864         hygro_mastercomp_aer(l ) = hygro_pcg7_f_c_aer
2866         l = 52
2867         mastercompindx_pcg8_f_c_aer = l
2868         name_mastercomp_aer( l ) = 'pcg8_f_c'
2869         dens_mastercomp_aer( l ) =  dens_pcg8_f_c_aer
2870         mw_mastercomp_aer(   l ) =    mw_pcg8_f_c_aer
2871         hygro_mastercomp_aer(l ) = hygro_pcg8_f_c_aer
2873         l = 53
2874         mastercompindx_pcg9_f_c_aer = l
2875         name_mastercomp_aer( l ) = 'pcg9_f_c'
2876         dens_mastercomp_aer( l ) =  dens_pcg9_f_c_aer
2877         mw_mastercomp_aer(   l ) =    mw_pcg9_f_c_aer
2878         hygro_mastercomp_aer(l ) = hygro_pcg9_f_c_aer
2880         l = 54
2881         mastercompindx_pcg1_f_o_aer = l
2882         name_mastercomp_aer( l ) = 'pcg1_f_o'
2883         dens_mastercomp_aer( l ) =  dens_pcg1_f_o_aer
2884         mw_mastercomp_aer(   l ) =    mw_pcg1_f_o_aer
2885         hygro_mastercomp_aer(l ) = hygro_pcg1_f_o_aer
2887         l = 55
2888         mastercompindx_pcg2_f_o_aer = l
2889         name_mastercomp_aer( l ) = 'pcg2_f_o'
2890         dens_mastercomp_aer( l ) =  dens_pcg2_f_o_aer
2891         mw_mastercomp_aer(   l ) =    mw_pcg2_f_o_aer
2892         hygro_mastercomp_aer(l ) = hygro_pcg2_f_o_aer
2894         l = 56
2895         mastercompindx_pcg3_f_o_aer = l
2896         name_mastercomp_aer( l ) = 'pcg3_f_o'
2897         dens_mastercomp_aer( l ) =  dens_pcg3_f_o_aer
2898         mw_mastercomp_aer(   l ) =    mw_pcg3_f_o_aer
2899         hygro_mastercomp_aer(l ) = hygro_pcg3_f_o_aer
2901         l = 57
2902         mastercompindx_pcg4_f_o_aer = l
2903         name_mastercomp_aer( l ) = 'pcg4_f_o'
2904         dens_mastercomp_aer( l ) =  dens_pcg4_f_o_aer
2905         mw_mastercomp_aer(   l ) =    mw_pcg4_f_o_aer
2906         hygro_mastercomp_aer(l ) = hygro_pcg4_f_o_aer
2908         l = 58
2909         mastercompindx_pcg5_f_o_aer = l
2910         name_mastercomp_aer( l ) = 'pcg5_f_o'
2911         dens_mastercomp_aer( l ) =  dens_pcg5_f_o_aer
2912         mw_mastercomp_aer(   l ) =    mw_pcg5_f_o_aer
2913         hygro_mastercomp_aer(l ) = hygro_pcg5_f_o_aer
2915         l = 59
2916         mastercompindx_pcg6_f_o_aer = l
2917         name_mastercomp_aer( l ) = 'pcg6_f_o'
2918         dens_mastercomp_aer( l ) =  dens_pcg6_f_o_aer
2919         mw_mastercomp_aer(   l ) =    mw_pcg6_f_o_aer
2920         hygro_mastercomp_aer(l ) = hygro_pcg6_f_o_aer
2922         l = 60
2923         mastercompindx_pcg7_f_o_aer = l
2924         name_mastercomp_aer( l ) = 'pcg7_f_o'
2925         dens_mastercomp_aer( l ) =  dens_pcg7_f_o_aer
2926         mw_mastercomp_aer(   l ) =    mw_pcg7_f_o_aer
2927         hygro_mastercomp_aer(l ) = hygro_pcg7_f_o_aer
2929         l = 61
2930         mastercompindx_pcg8_f_o_aer = l
2931         name_mastercomp_aer( l ) = 'pcg8_f_o'
2932         dens_mastercomp_aer( l ) =  dens_pcg8_f_o_aer
2933         mw_mastercomp_aer(   l ) =    mw_pcg8_f_o_aer
2934         hygro_mastercomp_aer(l ) = hygro_pcg8_f_o_aer
2936         l = 62
2937         mastercompindx_pcg9_f_o_aer = l
2938         name_mastercomp_aer( l ) = 'pcg9_f_o'
2939         dens_mastercomp_aer( l ) =  dens_pcg9_f_o_aer
2940         mw_mastercomp_aer(   l ) =    mw_pcg9_f_o_aer
2941         hygro_mastercomp_aer(l ) = hygro_pcg9_f_o_aer
2943         l = 63
2944         mastercompindx_opcg1_f_c_aer = l
2945         name_mastercomp_aer( l ) = 'opcg1_f_c'
2946         dens_mastercomp_aer( l ) =  dens_opcg1_f_c_aer
2947         mw_mastercomp_aer(   l ) =    mw_opcg1_f_c_aer
2948         hygro_mastercomp_aer(l ) = hygro_opcg1_f_c_aer
2950         l = 64
2951         mastercompindx_opcg2_f_c_aer = l
2952         name_mastercomp_aer( l ) = 'opcg2_f_c'
2953         dens_mastercomp_aer( l ) =  dens_opcg2_f_c_aer
2954         mw_mastercomp_aer(   l ) =    mw_opcg2_f_c_aer
2955         hygro_mastercomp_aer(l ) = hygro_opcg2_f_c_aer
2957         l = 65
2958         mastercompindx_opcg3_f_c_aer = l
2959         name_mastercomp_aer( l ) = 'opcg3_f_c'
2960         dens_mastercomp_aer( l ) =  dens_opcg3_f_c_aer
2961         mw_mastercomp_aer(   l ) =    mw_opcg3_f_c_aer
2962         hygro_mastercomp_aer(l ) = hygro_opcg3_f_c_aer
2964         l = 66
2965         mastercompindx_opcg4_f_c_aer = l
2966         name_mastercomp_aer( l ) = 'opcg4_f_c'
2967         dens_mastercomp_aer( l ) =  dens_opcg4_f_c_aer
2968         mw_mastercomp_aer(   l ) =    mw_opcg4_f_c_aer
2969         hygro_mastercomp_aer(l ) = hygro_opcg4_f_c_aer
2971         l = 67
2972         mastercompindx_opcg5_f_c_aer = l
2973         name_mastercomp_aer( l ) = 'opcg5_f_c'
2974         dens_mastercomp_aer( l ) =  dens_opcg5_f_c_aer
2975         mw_mastercomp_aer(   l ) =    mw_opcg5_f_c_aer
2976         hygro_mastercomp_aer(l ) = hygro_opcg5_f_c_aer
2978         l = 68
2979         mastercompindx_opcg6_f_c_aer = l
2980         name_mastercomp_aer( l ) = 'opcg6_f_c'
2981         dens_mastercomp_aer( l ) =  dens_opcg6_f_c_aer
2982         mw_mastercomp_aer(   l ) =    mw_opcg6_f_c_aer
2983         hygro_mastercomp_aer(l ) = hygro_opcg6_f_c_aer
2985         l = 69
2986         mastercompindx_opcg7_f_c_aer = l
2987         name_mastercomp_aer( l ) = 'opcg7_f_c'
2988         dens_mastercomp_aer( l ) =  dens_opcg7_f_c_aer
2989         mw_mastercomp_aer(   l ) =    mw_opcg7_f_c_aer
2990         hygro_mastercomp_aer(l ) = hygro_opcg7_f_c_aer
2992         l = 70
2993         mastercompindx_opcg8_f_c_aer = l
2994         name_mastercomp_aer( l ) = 'opcg8_f_c'
2995         dens_mastercomp_aer( l ) =  dens_opcg8_f_c_aer
2996         mw_mastercomp_aer(   l ) =    mw_opcg8_f_c_aer
2997         hygro_mastercomp_aer(l ) = hygro_opcg8_f_c_aer
2999         l = 71
3000         mastercompindx_opcg1_f_o_aer = l
3001         name_mastercomp_aer( l ) = 'opcg1_f_o'
3002         dens_mastercomp_aer( l ) =  dens_opcg1_f_o_aer
3003         mw_mastercomp_aer(   l ) =    mw_opcg1_f_o_aer
3004         hygro_mastercomp_aer(l ) = hygro_opcg1_f_o_aer
3006         l = 72
3007         mastercompindx_opcg2_f_o_aer = l
3008         name_mastercomp_aer( l ) = 'opcg2_f_o'
3009         dens_mastercomp_aer( l ) =  dens_opcg2_f_o_aer
3010         mw_mastercomp_aer(   l ) =    mw_opcg2_f_o_aer
3011         hygro_mastercomp_aer(l ) = hygro_opcg2_f_o_aer
3013         l = 73
3014         mastercompindx_opcg3_f_o_aer = l
3015         name_mastercomp_aer( l ) = 'opcg3_f_o'
3016         dens_mastercomp_aer( l ) =  dens_opcg3_f_o_aer
3017         mw_mastercomp_aer(   l ) =    mw_opcg3_f_o_aer
3018         hygro_mastercomp_aer(l ) = hygro_opcg3_f_o_aer
3020         l = 74
3021         mastercompindx_opcg4_f_o_aer = l
3022         name_mastercomp_aer( l ) = 'opcg4_f_o'
3023         dens_mastercomp_aer( l ) =  dens_opcg4_f_o_aer
3024         mw_mastercomp_aer(   l ) =    mw_opcg4_f_o_aer
3025         hygro_mastercomp_aer(l ) = hygro_opcg4_f_o_aer
3027         l = 75
3028         mastercompindx_opcg5_f_o_aer = l
3029         name_mastercomp_aer( l ) = 'opcg5_f_o'
3030         dens_mastercomp_aer( l ) =  dens_opcg5_f_o_aer
3031         mw_mastercomp_aer(   l ) =    mw_opcg5_f_o_aer
3032         hygro_mastercomp_aer(l ) = hygro_opcg5_f_o_aer
3034         l = 76
3035         mastercompindx_opcg6_f_o_aer = l
3036         name_mastercomp_aer( l ) = 'opcg6_f_o'
3037         dens_mastercomp_aer( l ) =  dens_opcg6_f_o_aer
3038         mw_mastercomp_aer(   l ) =    mw_opcg6_f_o_aer
3039         hygro_mastercomp_aer(l ) = hygro_opcg6_f_o_aer
3041         l = 77
3042         mastercompindx_opcg7_f_o_aer = l
3043         name_mastercomp_aer( l ) = 'opcg7_f_o'
3044         dens_mastercomp_aer( l ) =  dens_opcg7_f_o_aer
3045         mw_mastercomp_aer(   l ) =    mw_opcg7_f_o_aer
3046         hygro_mastercomp_aer(l ) = hygro_opcg7_f_o_aer
3048         l = 78
3049         mastercompindx_opcg8_f_o_aer = l
3050         name_mastercomp_aer( l ) = 'opcg8_f_o'
3051         dens_mastercomp_aer( l ) =  dens_opcg8_f_o_aer
3052         mw_mastercomp_aer(   l ) =    mw_opcg8_f_o_aer
3053         hygro_mastercomp_aer(l ) = hygro_opcg8_f_o_aer
3055         l = 79
3056         mastercompindx_ant1_c_aer = l
3057         name_mastercomp_aer( l ) = 'ant1_c'
3058         dens_mastercomp_aer( l ) =  dens_ant1_c_aer
3059         mw_mastercomp_aer(   l ) =    mw_ant1_c_aer
3060         hygro_mastercomp_aer(l ) = hygro_ant1_c_aer
3062         l = 80
3063         mastercompindx_ant2_c_aer = l
3064         name_mastercomp_aer( l ) = 'ant2_c'
3065         dens_mastercomp_aer( l ) =  dens_ant2_c_aer
3066         mw_mastercomp_aer(   l ) =    mw_ant2_c_aer
3067         hygro_mastercomp_aer(l ) = hygro_ant2_c_aer
3069         l = 81
3070         mastercompindx_ant3_c_aer = l
3071         name_mastercomp_aer( l ) = 'ant3_c'
3072         dens_mastercomp_aer( l ) =  dens_ant3_c_aer
3073         mw_mastercomp_aer(   l ) =    mw_ant3_c_aer
3074         hygro_mastercomp_aer(l ) = hygro_ant3_c_aer
3076         l = 82
3077         mastercompindx_ant4_c_aer = l
3078         name_mastercomp_aer( l ) = 'ant4_c'
3079         dens_mastercomp_aer( l ) =  dens_ant4_c_aer
3080         mw_mastercomp_aer(   l ) =    mw_ant4_c_aer
3081         hygro_mastercomp_aer(l ) = hygro_ant4_c_aer
3083         l = 83
3084         mastercompindx_ant1_o_aer = l
3085         name_mastercomp_aer( l ) = 'ant1_o'
3086         dens_mastercomp_aer( l ) =  dens_ant1_o_aer
3087         mw_mastercomp_aer(   l ) =    mw_ant1_o_aer
3088         hygro_mastercomp_aer(l ) = hygro_ant1_o_aer
3090         l = 84
3091         mastercompindx_ant2_o_aer = l
3092         name_mastercomp_aer( l ) = 'ant2_o'
3093         dens_mastercomp_aer( l ) =  dens_ant2_o_aer
3094         mw_mastercomp_aer(   l ) =    mw_ant2_o_aer
3095         hygro_mastercomp_aer(l ) = hygro_ant2_o_aer
3097         l = 85
3098         mastercompindx_ant3_o_aer = l
3099         name_mastercomp_aer( l ) = 'ant3_o'
3100         dens_mastercomp_aer( l ) =  dens_ant3_o_aer
3101         mw_mastercomp_aer(   l ) =    mw_ant3_o_aer
3102         hygro_mastercomp_aer(l ) = hygro_ant3_o_aer
3104         l = 86
3105         mastercompindx_ant4_o_aer = l
3106         name_mastercomp_aer( l ) = 'ant4_o'
3107         dens_mastercomp_aer( l ) =  dens_ant4_o_aer
3108         mw_mastercomp_aer(   l ) =    mw_ant4_o_aer
3109         hygro_mastercomp_aer(l ) = hygro_ant4_o_aer
3112         l = 87
3113         mastercompindx_biog1_c_aer = l
3114         name_mastercomp_aer( l ) = 'biog1_c'
3115         dens_mastercomp_aer( l ) =  dens_biog1_c_aer
3116         mw_mastercomp_aer(   l ) =    mw_biog1_c_aer
3117         hygro_mastercomp_aer(l ) = hygro_biog1_c_aer
3119         l = 88
3120         mastercompindx_biog2_c_aer = l
3121         name_mastercomp_aer( l ) = 'biog2_c'
3122         dens_mastercomp_aer( l ) =  dens_biog2_c_aer
3123         mw_mastercomp_aer(   l ) =    mw_biog2_c_aer
3124         hygro_mastercomp_aer(l ) = hygro_biog2_c_aer
3126         l = 89
3127         mastercompindx_biog3_c_aer = l
3128         name_mastercomp_aer( l ) = 'biog3_c'
3129         dens_mastercomp_aer( l ) =  dens_biog3_c_aer
3130         mw_mastercomp_aer(   l ) =    mw_biog3_c_aer
3131         hygro_mastercomp_aer(l ) = hygro_biog3_c_aer
3133         l = 90
3134         mastercompindx_biog4_c_aer = l
3135         name_mastercomp_aer( l ) = 'biog4_c'
3136         dens_mastercomp_aer( l ) =  dens_biog4_c_aer
3137         mw_mastercomp_aer(   l ) =    mw_biog4_c_aer
3138         hygro_mastercomp_aer(l ) = hygro_biog4_c_aer
3140         l = 91
3141         mastercompindx_biog1_o_aer = l
3142         name_mastercomp_aer( l ) = 'biog1_o'
3143         dens_mastercomp_aer( l ) =  dens_biog1_o_aer
3144         mw_mastercomp_aer(   l ) =    mw_biog1_o_aer
3145         hygro_mastercomp_aer(l ) = hygro_biog1_o_aer
3147         l = 92
3148         mastercompindx_biog2_o_aer = l
3149         name_mastercomp_aer( l ) = 'biog2_o'
3150         dens_mastercomp_aer( l ) =  dens_biog2_o_aer
3151         mw_mastercomp_aer(   l ) =    mw_biog2_o_aer
3152         hygro_mastercomp_aer(l ) = hygro_biog2_o_aer
3154         l = 93
3155         mastercompindx_biog3_o_aer = l
3156         name_mastercomp_aer( l ) = 'biog3_o'
3157         dens_mastercomp_aer( l ) =  dens_biog3_o_aer
3158         mw_mastercomp_aer(   l ) =    mw_biog3_o_aer
3159         hygro_mastercomp_aer(l ) = hygro_biog3_o_aer
3161         l = 94
3162         mastercompindx_biog4_o_aer = l
3163         name_mastercomp_aer( l ) = 'biog4_o'
3164         dens_mastercomp_aer( l ) =  dens_biog4_o_aer
3165         mw_mastercomp_aer(   l ) =    mw_biog4_o_aer
3166         hygro_mastercomp_aer(l ) = hygro_biog4_o_aer
3168         l = 95
3169         mastercompindx_smpa_aer = l
3170         name_mastercomp_aer( l ) = 'smpa'
3171         dens_mastercomp_aer( l ) =  dens_smpa_aer
3172         mw_mastercomp_aer(   l ) =    mw_smpa_aer
3173         hygro_mastercomp_aer(l ) = hygro_smpa_aer
3175         l = 96
3176         mastercompindx_smpbb_aer = l
3177         name_mastercomp_aer( l ) = 'smpbb'
3178         dens_mastercomp_aer( l ) =  dens_smpbb_aer
3179         mw_mastercomp_aer(   l ) =    mw_smpbb_aer
3180         hygro_mastercomp_aer(l ) = hygro_smpbb_aer
3182         l = 97
3183         mastercompindx_glysoa_r1_aer = l
3184         name_mastercomp_aer( l ) = 'glysoa_r1'
3185         dens_mastercomp_aer( l ) =  dens_glysoa_r1_aer
3186         mw_mastercomp_aer(   l ) =    mw_glysoa_r1_aer
3187         hygro_mastercomp_aer(l ) = hygro_glysoa_r1_aer
3189         l = 98
3190         mastercompindx_glysoa_r2_aer = l
3191         name_mastercomp_aer( l ) = 'glysoa_r2'
3192         dens_mastercomp_aer( l ) =  dens_glysoa_r2_aer
3193         mw_mastercomp_aer(   l ) =    mw_glysoa_r2_aer
3194         hygro_mastercomp_aer(l ) = hygro_glysoa_r2_aer
3196         l = 99
3197         mastercompindx_glysoa_sfc_aer = l
3198         name_mastercomp_aer( l ) = 'glysoa_sfc'
3199         dens_mastercomp_aer( l ) =  dens_glysoa_sfc_aer
3200         mw_mastercomp_aer(   l ) =    mw_glysoa_sfc_aer
3201         hygro_mastercomp_aer(l ) = hygro_glysoa_sfc_aer
3203         l = 100
3204         mastercompindx_glysoa_nh4_aer = l
3205         name_mastercomp_aer( l ) = 'glysoa_nh4'
3206         dens_mastercomp_aer( l ) =  dens_glysoa_nh4_aer
3207         mw_mastercomp_aer(   l ) =    mw_glysoa_nh4_aer
3208         hygro_mastercomp_aer(l ) = hygro_glysoa_nh4_aer
3210         l = 101
3211         mastercompindx_glysoa_oh_aer = l
3212         name_mastercomp_aer( l ) = 'glysoa_oh'
3213         dens_mastercomp_aer( l ) =  dens_glysoa_oh_aer
3214         mw_mastercomp_aer(   l ) =    mw_glysoa_oh_aer
3215         hygro_mastercomp_aer(l ) = hygro_glysoa_oh_aer
3217         l = 102
3218         mastercompindx_asoaX_aer = l
3219         name_mastercomp_aer( l ) = 'asoaX'
3220         dens_mastercomp_aer( l ) =  dens_asoaX_aer
3221         mw_mastercomp_aer(   l ) =    mw_asoaX_aer
3222         hygro_mastercomp_aer(l ) = hygro_asoaX_aer
3224         l = 103
3225         mastercompindx_asoa1_aer = l
3226         name_mastercomp_aer( l ) = 'asoa1'
3227         dens_mastercomp_aer( l ) =  dens_asoa1_aer
3228         mw_mastercomp_aer(   l ) =    mw_asoa1_aer
3229         hygro_mastercomp_aer(l ) = hygro_asoa1_aer
3231         l = 104
3232         mastercompindx_asoa2_aer = l
3233         name_mastercomp_aer( l ) = 'asoa2'
3234         dens_mastercomp_aer( l ) =  dens_asoa2_aer
3235         mw_mastercomp_aer(   l ) =    mw_asoa2_aer
3236         hygro_mastercomp_aer(l ) = hygro_asoa2_aer
3238         l = 105
3239         mastercompindx_asoa3_aer = l
3240         name_mastercomp_aer( l ) = 'asoa3'
3241         dens_mastercomp_aer( l ) =  dens_asoa3_aer
3242         mw_mastercomp_aer(   l ) =    mw_asoa3_aer
3243         hygro_mastercomp_aer(l ) = hygro_asoa3_aer
3245         l = 106
3246         mastercompindx_asoa4_aer = l
3247         name_mastercomp_aer( l ) = 'asoa4'
3248         dens_mastercomp_aer( l ) =  dens_asoa4_aer
3249         mw_mastercomp_aer(   l ) =    mw_asoa4_aer
3250         hygro_mastercomp_aer(l ) = hygro_asoa4_aer
3252         l = 107
3253         mastercompindx_bsoaX_aer = l
3254         name_mastercomp_aer( l ) = 'bsoaX'
3255         dens_mastercomp_aer( l ) =  dens_bsoaX_aer
3256         mw_mastercomp_aer(   l ) =    mw_bsoaX_aer
3257         hygro_mastercomp_aer(l ) = hygro_bsoaX_aer
3259         l = 108
3260         mastercompindx_bsoa1_aer = l
3261         name_mastercomp_aer( l ) = 'bsoa1'
3262         dens_mastercomp_aer( l ) =  dens_bsoa1_aer
3263         mw_mastercomp_aer(   l ) =    mw_bsoa1_aer
3264         hygro_mastercomp_aer(l ) = hygro_bsoa1_aer
3266         l = 109
3267         mastercompindx_bsoa2_aer = l
3268         name_mastercomp_aer( l ) = 'bsoa2'
3269         dens_mastercomp_aer( l ) =  dens_bsoa2_aer
3270         mw_mastercomp_aer(   l ) =    mw_bsoa2_aer
3271         hygro_mastercomp_aer(l ) = hygro_bsoa2_aer
3273         l = 110
3274         mastercompindx_bsoa3_aer = l
3275         name_mastercomp_aer( l ) = 'bsoa3'
3276         dens_mastercomp_aer( l ) =  dens_bsoa3_aer
3277         mw_mastercomp_aer(   l ) =    mw_bsoa3_aer
3278         hygro_mastercomp_aer(l ) = hygro_bsoa3_aer
3280         l = 111
3281         mastercompindx_bsoa4_aer = l
3282         name_mastercomp_aer( l ) = 'bsoa4'
3283         dens_mastercomp_aer( l ) =  dens_bsoa4_aer
3284         mw_mastercomp_aer(   l ) =    mw_bsoa4_aer
3285         hygro_mastercomp_aer(l ) = hygro_bsoa4_aer
3288 !   set section size arrays
3290         do itype = 1, ntype_aer
3291             nhi = nsize_aer(itype)
3292             dlo_sect(1,itype) = 3.90625e-6
3293             dhi_sect(nhi,itype) = 10.0e-4
3295             dum = log( dhi_sect(nhi,itype)/dlo_sect(1,itype) ) / nhi !replaced alog by log by Manish Shrivastava on 11/28/2011. alog denoted natural log in fortran 77. log(x) is natural log in fortran 90
3296             do n = 2, nhi
3297                 dlo_sect(n,itype) = dlo_sect(1,itype) * exp( (n-1)*dum )
3298                 dhi_sect(n-1,itype) = dlo_sect(n,itype)
3299             end do
3300             do n = 1, nhi
3301                 dcen_sect(n,itype) = sqrt( dlo_sect(n,itype)*dhi_sect(n,itype) )
3302                 volumlo_sect(n,itype) = (pi/6.) * (dlo_sect(n,itype)**3)
3303                 volumhi_sect(n,itype) = (pi/6.) * (dhi_sect(n,itype)**3)
3304                 volumcen_sect(n,itype) = (pi/6.) * (dcen_sect(n,itype)**3)
3305                 sigmag_aer(n,itype) = (dhi_sect(n,itype)/dlo_sect(n,itype))**0.289
3306             end do
3307         end do
3310 !   set pointers to wrf chem-array species
3312         call init_data_mosaic_ptr( id,is_aerosol )
3315 !   csuesat initialization
3317         call init_csuesat
3320 !   move_sect initialization (and testing)
3322 !       subr move_sections( iflag, iclm, jclm, k, m )
3323         call move_sections(    -1,    1,    1, 1, 1 )
3325         call test_move_sections( 1,   1,    1, 1, 1 )
3326     
3328         idum = mod( max( config_flags%mosaic_aerchem_optaa, 0 ), 10 )   ! use mosaic2 when 1s digit = 2
3329         if ( idum == 2 ) then
3330             call init_data_mosaic2_asect( id, config_flags, is_aerosol, vbs_nbin )
3331         end if
3334         end subroutine init_data_mosaic_asect
3337 !-----------------------------------------------------------------------
3338         subroutine init_data_mosaic_ptr( id,is_aerosol )
3340         use module_configure
3341         use module_state_description, only:  param_first_scalar,num_chem
3342         use module_data_mosaic_asect
3343         use module_data_mosaic_other, only:   &
3344                 kh2so4, khno3, khcl, knh3, ko3, kh2o, ktemp,   &
3345                 kso2, kh2o2, khcho, koh, kho2,   &
3346                 kno3, kno, kno2, khono, kpan,   &
3347                 lmaxd, l2maxd, ltot, ltot2, lunout, lunerr, &
3348                 name,kpcg1_b_c,kpcg2_b_c,kpcg3_b_c,kpcg4_b_c, &
3349                 kpcg5_b_c,kpcg6_b_c,kpcg7_b_c,kpcg8_b_c, &
3350                 kpcg9_b_c,kpcg1_b_o,kpcg2_b_o,kpcg3_b_o, &
3351                 kpcg4_b_o,kpcg5_b_o,kpcg6_b_o,kpcg7_b_o, &
3352                 kpcg8_b_o,kpcg9_b_o,kopcg1_b_c,kopcg2_b_c,&
3353                 kopcg3_b_c, kopcg4_b_c,kopcg5_b_c,kopcg6_b_c,&
3354                 kopcg7_b_c,kopcg8_b_c,kopcg1_b_o,kopcg2_b_o,&
3355                 kopcg3_b_o,kopcg4_b_o,kopcg5_b_o,kopcg6_b_o,&
3356                 kopcg7_b_o,kopcg8_b_o,&
3357                 kpcg1_f_c,kpcg2_f_c,kpcg3_f_c,kpcg4_f_c, &
3358                 kpcg5_f_c,kpcg6_f_c,kpcg7_f_c,kpcg8_f_c, &
3359                 kpcg9_f_c,kpcg1_f_o,kpcg2_f_o,kpcg3_f_o, &
3360                 kpcg4_f_o,kpcg5_f_o,kpcg6_f_o,kpcg7_f_o, &
3361                 kpcg8_f_o,kpcg9_f_o,kopcg1_f_c,kopcg2_f_c,&
3362                 kopcg3_f_c, kopcg4_f_c,kopcg5_f_c,kopcg6_f_c,&
3363                 kopcg7_f_c,kopcg8_f_c,kopcg1_f_o,kopcg2_f_o,&
3364                 kopcg3_f_o,kopcg4_f_o,kopcg5_f_o,kopcg6_f_o,&
3365                 kopcg7_f_o,kopcg8_f_o,                      &
3366                 ksmpa,ksmpbb,                      &
3367                 kgly, &
3368                 kant1_c,kant2_c,kant3_c,kant4_c,kant1_o,kant2_o, &
3369                 kant3_o,kant4_o,                            &
3370                 kbiog1_c,kbiog2_c,kbiog3_c,kbiog4_c,kbiog1_o,kbiog2_o, &
3371                 kbiog3_o,kbiog4_o, &
3372 !                kn2o5, kclno2                            
3373                 kn2o5, kclno2, &                            
3374                 kasoaX,kasoa1,kasoa2,kasoa3,kasoa4,&
3375                 kbsoaX,kbsoa1,kbsoa2,kbsoa3,kbsoa4
3377         use module_peg_util, only:  peg_error_fatal, peg_message
3378         use module_mosaic_wetscav, only: initwet
3379     use module_scalar_tables, only:  chem_dname_table
3380         implicit none
3382 !   subr arguments
3383         logical, intent(out) :: is_aerosol(num_chem)
3384         integer, intent(in) :: id
3385 !   local variables
3386         integer l, ll, n, p1st
3387         integer iaddto_ncomp, iaddto_ncomp_plustracer
3388         integer l_mastercomp, lptr_dum
3389         integer mcindx_dum
3390         integer isize, itype, iphase
3391         integer nphasetxt, nsizetxt, nspectxt, ntypetxt
3392         integer ncomp_dum(maxd_asize,maxd_aphase)
3393         integer ncomp_plustracer_dum(maxd_asize,maxd_aphase)
3395         integer y_so4, y_no3, y_cl, y_msa, y_co3, y_nh4, y_na,   &
3396                 y_ca, y_oin, y_oc, y_bc, y_hysw, y_water, &
3397                 y_num, &
3398       y_pcg1_b_c,y_pcg2_b_c,y_pcg3_b_c,y_pcg4_b_c, &
3399       y_pcg5_b_c,y_pcg6_b_c,y_pcg7_b_c,y_pcg8_b_c, &
3400       y_pcg9_b_c,y_pcg1_b_o,y_pcg2_b_o,y_pcg3_b_o, &
3401       y_pcg4_b_o,y_pcg5_b_o,y_pcg6_b_o,y_pcg7_b_o, &
3402       y_pcg8_b_o,y_pcg9_b_o,y_opcg1_b_c,y_opcg2_b_c,&
3403       y_opcg3_b_c, y_opcg4_b_c,y_opcg5_b_c,y_opcg6_b_c,&
3404       y_opcg7_b_c,y_opcg8_b_c,y_opcg1_b_o,y_opcg2_b_o,&
3405       y_opcg3_b_o,y_opcg4_b_o,y_opcg5_b_o,y_opcg6_b_o,&
3406       y_opcg7_b_o,y_opcg8_b_o,&
3407       y_pcg1_f_c,y_pcg2_f_c,y_pcg3_f_c,y_pcg4_f_c, &
3408       y_pcg5_f_c,y_pcg6_f_c,y_pcg7_f_c,y_pcg8_f_c, &
3409       y_pcg9_f_c,y_pcg1_f_o,y_pcg2_f_o,y_pcg3_f_o, &
3410       y_pcg4_f_o,y_pcg5_f_o,y_pcg6_f_o,y_pcg7_f_o, &
3411       y_pcg8_f_o,y_pcg9_f_o,y_opcg1_f_c,y_opcg2_f_c,&
3412       y_opcg3_f_c, y_opcg4_f_c,y_opcg5_f_c,y_opcg6_f_c,&
3413       y_opcg7_f_c,y_opcg8_f_c,y_opcg1_f_o,y_opcg2_f_o,&
3414       y_opcg3_f_o,y_opcg4_f_o,y_opcg5_f_o,y_opcg6_f_o,&
3415       y_opcg7_f_o,y_opcg8_f_o, &
3416       y_smpa,y_smpbb, &
3417       y_glysoa_r1, y_glysoa_r2, y_glysoa_sfc, y_glysoa_nh4, y_glysoa_oh, &
3418       y_ant1_c,y_ant2_c,y_ant3_c,y_ant4_c, &
3419       y_ant1_o,y_ant2_o,y_ant3_o,y_ant4_o, &
3420       y_biog1_c,y_biog2_c,y_biog3_c,y_biog4_c, &
3421       y_biog1_o,y_biog2_o,y_biog3_o,y_biog4_o, &
3422       y_asoaX, y_asoa1, y_asoa2, y_asoa3, y_asoa4, &
3423       y_bsoaX, y_bsoa1, y_bsoa2, y_bsoa3, y_bsoa4
3425         integer y_cw_so4, y_cw_no3, y_cw_cl, y_cw_msa, y_cw_co3,   &
3426                 y_cw_nh4, y_cw_na,   &
3427                 y_cw_ca, y_cw_oin, y_cw_oc, y_cw_bc, y_cw_num
3429         character*200 msg
3430         character*20 phasetxt, sizetxt, spectxt, typetxt
3433         p1st = param_first_scalar
3435 !   set up pointers to aerosol species in the wrf-chem "chem" array
3436 !   note:  lptr=1 points to the first chem species which is "unused"
3438         itype=1
3439         lptr_so4_aer(:,itype,:)      = 1
3440         lptr_no3_aer(:,itype,:)      = 1
3441         lptr_cl_aer(:,itype,:)       = 1
3442         lptr_msa_aer(:,itype,:)      = 1
3443         lptr_co3_aer(:,itype,:)      = 1
3444         lptr_nh4_aer(:,itype,:)      = 1
3445         lptr_na_aer(:,itype,:)       = 1
3446         lptr_ca_aer(:,itype,:)       = 1
3447         lptr_oin_aer(:,itype,:)      = 1
3448         lptr_oc_aer(:,itype,:)       = 1
3449         lptr_bc_aer(:,itype,:)       = 1
3450         hyswptr_aer(:,itype)    = 1
3451         waterptr_aer(:,itype)        = 1
3452         numptr_aer(:,itype,:)        = 1
3453         lptr_pcg1_b_c_aer(:,itype,:)      = 1
3454         lptr_pcg2_b_c_aer(:,itype,:)      = 1
3455         lptr_pcg3_b_c_aer(:,itype,:)      = 1
3456         lptr_pcg4_b_c_aer(:,itype,:)      = 1
3457         lptr_pcg5_b_c_aer(:,itype,:)      = 1
3458         lptr_pcg6_b_c_aer(:,itype,:)      = 1
3459         lptr_pcg7_b_c_aer(:,itype,:)      = 1
3460         lptr_pcg8_b_c_aer(:,itype,:)      = 1
3461         lptr_pcg9_b_c_aer(:,itype,:)      = 1
3462         lptr_pcg1_b_o_aer(:,itype,:)      = 1
3463         lptr_pcg2_b_o_aer(:,itype,:)      = 1
3464         lptr_pcg3_b_o_aer(:,itype,:)      = 1
3465         lptr_pcg4_b_o_aer(:,itype,:)      = 1
3466         lptr_pcg5_b_o_aer(:,itype,:)      = 1
3467         lptr_pcg6_b_o_aer(:,itype,:)      = 1
3468         lptr_pcg7_b_o_aer(:,itype,:)      = 1
3469         lptr_pcg8_b_o_aer(:,itype,:)      = 1
3470         lptr_pcg9_b_o_aer(:,itype,:)      = 1
3471         lptr_opcg1_b_c_aer(:,itype,:)      = 1
3472         lptr_opcg2_b_c_aer(:,itype,:)      = 1
3473         lptr_opcg3_b_c_aer(:,itype,:)      = 1
3474         lptr_opcg4_b_c_aer(:,itype,:)      = 1
3475         lptr_opcg5_b_c_aer(:,itype,:)      = 1
3476         lptr_opcg6_b_c_aer(:,itype,:)      = 1
3477         lptr_opcg7_b_c_aer(:,itype,:)      = 1
3478         lptr_opcg8_b_c_aer(:,itype,:)      = 1
3479         lptr_opcg1_b_o_aer(:,itype,:)      = 1
3480         lptr_opcg2_b_o_aer(:,itype,:)      = 1
3481         lptr_opcg3_b_o_aer(:,itype,:)      = 1
3482         lptr_opcg4_b_o_aer(:,itype,:)      = 1
3483         lptr_opcg5_b_o_aer(:,itype,:)      = 1
3484         lptr_opcg6_b_o_aer(:,itype,:)      = 1
3485         lptr_opcg7_b_o_aer(:,itype,:)      = 1
3486         lptr_opcg8_b_o_aer(:,itype,:)      = 1
3487         lptr_pcg1_f_c_aer(:,itype,:)      = 1
3488         lptr_pcg2_f_c_aer(:,itype,:)      = 1
3489         lptr_pcg3_f_c_aer(:,itype,:)      = 1
3490         lptr_pcg4_f_c_aer(:,itype,:)      = 1
3491         lptr_pcg5_f_c_aer(:,itype,:)      = 1
3492         lptr_pcg6_f_c_aer(:,itype,:)      = 1
3493         lptr_pcg7_f_c_aer(:,itype,:)      = 1
3494         lptr_pcg8_f_c_aer(:,itype,:)      = 1
3495         lptr_pcg9_f_c_aer(:,itype,:)      = 1
3496         lptr_pcg1_f_o_aer(:,itype,:)      = 1
3497         lptr_pcg2_f_o_aer(:,itype,:)      = 1
3498         lptr_pcg3_f_o_aer(:,itype,:)      = 1
3499         lptr_pcg4_f_o_aer(:,itype,:)      = 1
3500         lptr_pcg5_f_o_aer(:,itype,:)      = 1
3501         lptr_pcg6_f_o_aer(:,itype,:)      = 1
3502         lptr_pcg7_f_o_aer(:,itype,:)      = 1
3503         lptr_pcg8_f_o_aer(:,itype,:)      = 1
3504         lptr_pcg9_f_o_aer(:,itype,:)      = 1
3505         lptr_opcg1_f_c_aer(:,itype,:)      = 1
3506         lptr_opcg2_f_c_aer(:,itype,:)      = 1
3507         lptr_opcg3_f_c_aer(:,itype,:)      = 1
3508         lptr_opcg4_f_c_aer(:,itype,:)      = 1
3509         lptr_opcg5_f_c_aer(:,itype,:)      = 1
3510         lptr_opcg6_f_c_aer(:,itype,:)      = 1
3511         lptr_opcg7_f_c_aer(:,itype,:)      = 1
3512         lptr_opcg8_f_c_aer(:,itype,:)      = 1
3513         lptr_opcg1_f_o_aer(:,itype,:)      = 1
3514         lptr_opcg2_f_o_aer(:,itype,:)      = 1
3515         lptr_opcg3_f_o_aer(:,itype,:)      = 1
3516         lptr_opcg4_f_o_aer(:,itype,:)      = 1
3517         lptr_opcg5_f_o_aer(:,itype,:)      = 1
3518         lptr_opcg6_f_o_aer(:,itype,:)      = 1
3519         lptr_opcg7_f_o_aer(:,itype,:)      = 1
3520         lptr_opcg8_f_o_aer(:,itype,:)      = 1
3521         lptr_smpa_aer(:,itype,:)      = 1
3522         lptr_smpbb_aer(:,itype,:)      = 1
3523         lptr_glysoa_r1_aer(:,itype,:)  = 1
3524         lptr_glysoa_r2_aer(:,itype,:)  = 1
3525         lptr_glysoa_sfc_aer(:,itype,:) = 1
3526         lptr_glysoa_nh4_aer(:,itype,:) = 1
3527         lptr_glysoa_oh_aer(:,itype,:)  = 1
3528         lptr_ant1_c_aer(:,itype,:)      = 1
3529         lptr_ant2_c_aer(:,itype,:)      = 1
3530         lptr_ant3_c_aer(:,itype,:)      = 1
3531         lptr_ant4_c_aer(:,itype,:)      = 1
3532         lptr_ant1_o_aer(:,itype,:)      = 1
3533         lptr_ant2_o_aer(:,itype,:)      = 1
3534         lptr_ant3_o_aer(:,itype,:)      = 1
3535         lptr_ant4_o_aer(:,itype,:)      = 1
3536         lptr_biog1_c_aer(:,itype,:)      = 1
3537         lptr_biog2_c_aer(:,itype,:)      = 1
3538         lptr_biog3_c_aer(:,itype,:)      = 1
3539         lptr_biog4_c_aer(:,itype,:)      = 1
3540         lptr_biog1_o_aer(:,itype,:)      = 1
3541         lptr_biog2_o_aer(:,itype,:)      = 1
3542         lptr_biog3_o_aer(:,itype,:)      = 1
3543         lptr_biog4_o_aer(:,itype,:)      = 1
3544         lptr_asoaX_aer(:,itype,:)        = 1
3545         lptr_asoa1_aer(:,itype,:)        = 1
3546         lptr_asoa2_aer(:,itype,:)        = 1
3547         lptr_asoa3_aer(:,itype,:)        = 1
3548         lptr_asoa4_aer(:,itype,:)        = 1
3549         lptr_bsoaX_aer(:,itype,:)        = 1
3550         lptr_bsoa1_aer(:,itype,:)        = 1
3551         lptr_bsoa2_aer(:,itype,:)        = 1
3552         lptr_bsoa3_aer(:,itype,:)        = 1
3553         lptr_bsoa4_aer(:,itype,:)        = 1
3556         if (nsize_aer(itype) .ge. 1) then
3557             
3558         if (p_so4_a01 .ge. p1st) lptr_so4_aer(01,itype,ai_phase) = p_so4_a01
3559         if (p_no3_a01 .ge. p1st) lptr_no3_aer(01,itype,ai_phase) = p_no3_a01
3560         if (p_cl_a01 .ge. p1st) lptr_cl_aer(01,itype,ai_phase)  = p_cl_a01
3561         if (p_msa_a01 .ge. p1st) lptr_msa_aer(01,itype,ai_phase) = p_msa_a01
3562         if (p_co3_a01 .ge. p1st) lptr_co3_aer(01,itype,ai_phase) = p_co3_a01
3563         if (p_nh4_a01 .ge. p1st) lptr_nh4_aer(01,itype,ai_phase) = p_nh4_a01
3564         if (p_na_a01 .ge. p1st) lptr_na_aer(01,itype,ai_phase)  = p_na_a01
3565         if (p_ca_a01 .ge. p1st) lptr_ca_aer(01,itype,ai_phase)  = p_ca_a01
3566         if (p_oin_a01 .ge. p1st) lptr_oin_aer(01,itype,ai_phase) = p_oin_a01
3567         if (p_oc_a01 .ge. p1st) lptr_oc_aer(01,itype,ai_phase)  = p_oc_a01
3568         if (p_bc_a01 .ge. p1st) lptr_bc_aer(01,itype,ai_phase)  = p_bc_a01
3569         if (p_hysw_a01 .ge. p1st) hyswptr_aer(01,itype)         = p_hysw_a01
3570         if (p_water_a01 .ge. p1st) waterptr_aer(01,itype)       = p_water_a01
3571         if (p_pcg1_b_c_a01 .ge. p1st) lptr_pcg1_b_c_aer(01,itype,ai_phase) = p_pcg1_b_c_a01
3572         if (p_pcg2_b_c_a01 .ge. p1st) lptr_pcg2_b_c_aer(01,itype,ai_phase)  = p_pcg2_b_c_a01
3573         if (p_pcg3_b_c_a01 .ge. p1st) lptr_pcg3_b_c_aer(01,itype,ai_phase)  = p_pcg3_b_c_a01
3574         if (p_pcg4_b_c_a01 .ge. p1st) lptr_pcg4_b_c_aer(01,itype,ai_phase)  = p_pcg4_b_c_a01
3575         if (p_pcg5_b_c_a01 .ge. p1st) lptr_pcg5_b_c_aer(01,itype,ai_phase)  = p_pcg5_b_c_a01
3576         if (p_pcg6_b_c_a01 .ge. p1st) lptr_pcg6_b_c_aer(01,itype,ai_phase)  = p_pcg6_b_c_a01
3577         if (p_pcg7_b_c_a01 .ge. p1st) lptr_pcg7_b_c_aer(01,itype,ai_phase)  = p_pcg7_b_c_a01
3578         if (p_pcg8_b_c_a01 .ge. p1st) lptr_pcg8_b_c_aer(01,itype,ai_phase)  = p_pcg8_b_c_a01
3579         if (p_pcg9_b_c_a01 .ge. p1st) lptr_pcg9_b_c_aer(01,itype,ai_phase)  = p_pcg9_b_c_a01
3580         if (p_pcg1_b_o_a01 .ge. p1st) lptr_pcg1_b_o_aer(01,itype,ai_phase) = p_pcg1_b_o_a01
3581         if (p_pcg2_b_o_a01 .ge. p1st) lptr_pcg2_b_o_aer(01,itype,ai_phase)  = p_pcg2_b_o_a01
3582         if (p_pcg3_b_o_a01 .ge. p1st) lptr_pcg3_b_o_aer(01,itype,ai_phase)  = p_pcg3_b_o_a01
3583         if (p_pcg4_b_o_a01 .ge. p1st) lptr_pcg4_b_o_aer(01,itype,ai_phase)  = p_pcg4_b_o_a01
3584         if (p_pcg5_b_o_a01 .ge. p1st) lptr_pcg5_b_o_aer(01,itype,ai_phase)  = p_pcg5_b_o_a01
3585         if (p_pcg6_b_o_a01 .ge. p1st) lptr_pcg6_b_o_aer(01,itype,ai_phase)  = p_pcg6_b_o_a01
3586         if (p_pcg7_b_o_a01 .ge. p1st) lptr_pcg7_b_o_aer(01,itype,ai_phase)  = p_pcg7_b_o_a01
3587         if (p_pcg8_b_o_a01 .ge. p1st) lptr_pcg8_b_o_aer(01,itype,ai_phase)  = p_pcg8_b_o_a01
3588         if (p_pcg9_b_o_a01 .ge. p1st) lptr_pcg9_b_o_aer(01,itype,ai_phase)  = p_pcg9_b_o_a01
3589         if (p_opcg1_b_c_a01 .ge. p1st) lptr_opcg1_b_c_aer(01,itype,ai_phase) = p_opcg1_b_c_a01
3590         if (p_opcg2_b_c_a01 .ge. p1st) lptr_opcg2_b_c_aer(01,itype,ai_phase)  = p_opcg2_b_c_a01
3591         if (p_opcg3_b_c_a01 .ge. p1st) lptr_opcg3_b_c_aer(01,itype,ai_phase)  = p_opcg3_b_c_a01
3592         if (p_opcg4_b_c_a01 .ge. p1st) lptr_opcg4_b_c_aer(01,itype,ai_phase)  = p_opcg4_b_c_a01
3593         if (p_opcg5_b_c_a01 .ge. p1st) lptr_opcg5_b_c_aer(01,itype,ai_phase)  = p_opcg5_b_c_a01
3594         if (p_opcg6_b_c_a01 .ge. p1st) lptr_opcg6_b_c_aer(01,itype,ai_phase)  = p_opcg6_b_c_a01
3595         if (p_opcg7_b_c_a01 .ge. p1st) lptr_opcg7_b_c_aer(01,itype,ai_phase)  = p_opcg7_b_c_a01
3596         if (p_opcg8_b_c_a01 .ge. p1st) lptr_opcg8_b_c_aer(01,itype,ai_phase)  = p_opcg8_b_c_a01
3597         if (p_opcg1_b_o_a01 .ge. p1st) lptr_opcg1_b_o_aer(01,itype,ai_phase) = p_opcg1_b_o_a01
3598         if (p_opcg2_b_o_a01 .ge. p1st) lptr_opcg2_b_o_aer(01,itype,ai_phase)  = p_opcg2_b_o_a01
3599         if (p_opcg3_b_o_a01 .ge. p1st) lptr_opcg3_b_o_aer(01,itype,ai_phase)  = p_opcg3_b_o_a01
3600         if (p_opcg4_b_o_a01 .ge. p1st) lptr_opcg4_b_o_aer(01,itype,ai_phase)  = p_opcg4_b_o_a01
3601         if (p_opcg5_b_o_a01 .ge. p1st) lptr_opcg5_b_o_aer(01,itype,ai_phase)  = p_opcg5_b_o_a01
3602         if (p_opcg6_b_o_a01 .ge. p1st) lptr_opcg6_b_o_aer(01,itype,ai_phase)  = p_opcg6_b_o_a01
3603         if (p_opcg7_b_o_a01 .ge. p1st) lptr_opcg7_b_o_aer(01,itype,ai_phase)  = p_opcg7_b_o_a01
3604         if (p_opcg8_b_o_a01 .ge. p1st) lptr_opcg8_b_o_aer(01,itype,ai_phase)  = p_opcg8_b_o_a01
3605         if (p_pcg1_f_c_a01 .ge. p1st) lptr_pcg1_f_c_aer(01,itype,ai_phase) = p_pcg1_f_c_a01
3606         if (p_pcg2_f_c_a01 .ge. p1st) lptr_pcg2_f_c_aer(01,itype,ai_phase)  = p_pcg2_f_c_a01
3607         if (p_pcg3_f_c_a01 .ge. p1st) lptr_pcg3_f_c_aer(01,itype,ai_phase)  = p_pcg3_f_c_a01
3608         if (p_pcg4_f_c_a01 .ge. p1st) lptr_pcg4_f_c_aer(01,itype,ai_phase)  = p_pcg4_f_c_a01
3609         if (p_pcg5_f_c_a01 .ge. p1st) lptr_pcg5_f_c_aer(01,itype,ai_phase)  = p_pcg5_f_c_a01
3610         if (p_pcg6_f_c_a01 .ge. p1st) lptr_pcg6_f_c_aer(01,itype,ai_phase)  = p_pcg6_f_c_a01
3611         if (p_pcg7_f_c_a01 .ge. p1st) lptr_pcg7_f_c_aer(01,itype,ai_phase)  = p_pcg7_f_c_a01
3612         if (p_pcg8_f_c_a01 .ge. p1st) lptr_pcg8_f_c_aer(01,itype,ai_phase)  = p_pcg8_f_c_a01
3613         if (p_pcg9_f_c_a01 .ge. p1st) lptr_pcg9_f_c_aer(01,itype,ai_phase)  = p_pcg9_f_c_a01
3614         if (p_pcg1_f_o_a01 .ge. p1st) lptr_pcg1_f_o_aer(01,itype,ai_phase) = p_pcg1_f_o_a01
3615         if (p_pcg2_f_o_a01 .ge. p1st) lptr_pcg2_f_o_aer(01,itype,ai_phase)  = p_pcg2_f_o_a01
3616         if (p_pcg3_f_o_a01 .ge. p1st) lptr_pcg3_f_o_aer(01,itype,ai_phase)  = p_pcg3_f_o_a01
3617         if (p_pcg4_f_o_a01 .ge. p1st) lptr_pcg4_f_o_aer(01,itype,ai_phase)  = p_pcg4_f_o_a01
3618         if (p_pcg5_f_o_a01 .ge. p1st) lptr_pcg5_f_o_aer(01,itype,ai_phase)  = p_pcg5_f_o_a01
3619         if (p_pcg6_f_o_a01 .ge. p1st) lptr_pcg6_f_o_aer(01,itype,ai_phase)  = p_pcg6_f_o_a01
3620         if (p_pcg7_f_o_a01 .ge. p1st) lptr_pcg7_f_o_aer(01,itype,ai_phase)  = p_pcg7_f_o_a01
3621         if (p_pcg8_f_o_a01 .ge. p1st) lptr_pcg8_f_o_aer(01,itype,ai_phase)  = p_pcg8_f_o_a01
3622         if (p_pcg9_f_o_a01 .ge. p1st) lptr_pcg9_f_o_aer(01,itype,ai_phase)  = p_pcg9_f_o_a01
3623         if (p_opcg1_f_c_a01 .ge. p1st) lptr_opcg1_f_c_aer(01,itype,ai_phase) = p_opcg1_f_c_a01
3624         if (p_opcg2_f_c_a01 .ge. p1st) lptr_opcg2_f_c_aer(01,itype,ai_phase)  = p_opcg2_f_c_a01
3625         if (p_opcg3_f_c_a01 .ge. p1st) lptr_opcg3_f_c_aer(01,itype,ai_phase)  = p_opcg3_f_c_a01
3626         if (p_opcg4_f_c_a01 .ge. p1st) lptr_opcg4_f_c_aer(01,itype,ai_phase)  = p_opcg4_f_c_a01
3627         if (p_opcg5_f_c_a01 .ge. p1st) lptr_opcg5_f_c_aer(01,itype,ai_phase)  = p_opcg5_f_c_a01
3628         if (p_opcg6_f_c_a01 .ge. p1st) lptr_opcg6_f_c_aer(01,itype,ai_phase)  = p_opcg6_f_c_a01
3629         if (p_opcg7_f_c_a01 .ge. p1st) lptr_opcg7_f_c_aer(01,itype,ai_phase)  = p_opcg7_f_c_a01
3630         if (p_opcg8_f_c_a01 .ge. p1st) lptr_opcg8_f_c_aer(01,itype,ai_phase)  = p_opcg8_f_c_a01
3631         if (p_opcg1_f_o_a01 .ge. p1st) lptr_opcg1_f_o_aer(01,itype,ai_phase) = p_opcg1_f_o_a01
3632         if (p_opcg2_f_o_a01 .ge. p1st) lptr_opcg2_f_o_aer(01,itype,ai_phase)  = p_opcg2_f_o_a01
3633         if (p_opcg3_f_o_a01 .ge. p1st) lptr_opcg3_f_o_aer(01,itype,ai_phase)  = p_opcg3_f_o_a01
3634         if (p_opcg4_f_o_a01 .ge. p1st) lptr_opcg4_f_o_aer(01,itype,ai_phase)  = p_opcg4_f_o_a01
3635         if (p_opcg5_f_o_a01 .ge. p1st) lptr_opcg5_f_o_aer(01,itype,ai_phase)  = p_opcg5_f_o_a01
3636         if (p_opcg6_f_o_a01 .ge. p1st) lptr_opcg6_f_o_aer(01,itype,ai_phase)  = p_opcg6_f_o_a01
3637         if (p_opcg7_f_o_a01 .ge. p1st) lptr_opcg7_f_o_aer(01,itype,ai_phase)  = p_opcg7_f_o_a01
3638         if (p_opcg8_f_o_a01 .ge. p1st) lptr_opcg8_f_o_aer(01,itype,ai_phase)  = p_opcg8_f_o_a01
3639         if (p_smpa_a01 .ge. p1st) lptr_smpa_aer(01,itype,ai_phase)  = p_smpa_a01
3640         if (p_smpbb_a01 .ge. p1st) lptr_smpbb_aer(01,itype,ai_phase)  = p_smpbb_a01
3641         if (p_glysoa_r1_a01 .ge. p1st) lptr_glysoa_r1_aer (01,itype,ai_phase) = p_glysoa_r1_a01
3642         if (p_glysoa_r2_a01 .ge. p1st) lptr_glysoa_r2_aer (01,itype,ai_phase) = p_glysoa_r2_a01
3643         if (p_glysoa_sfc_a01 .ge. p1st) lptr_glysoa_sfc_aer (01,itype,ai_phase) = p_glysoa_sfc_a01
3644         if (p_glysoa_nh4_a01 .ge. p1st) lptr_glysoa_nh4_aer (01,itype,ai_phase) = p_glysoa_nh4_a01
3645         if (p_glysoa_oh_a01 .ge. p1st) lptr_glysoa_oh_aer (01,itype,ai_phase) = p_glysoa_oh_a01
3646         if (p_ant1_c_a01 .ge. p1st) lptr_ant1_c_aer(01,itype,ai_phase)  = p_ant1_c_a01
3647         if (p_ant2_c_a01 .ge. p1st) lptr_ant2_c_aer(01,itype,ai_phase)  = p_ant2_c_a01
3648         if (p_ant3_c_a01 .ge. p1st) lptr_ant3_c_aer(01,itype,ai_phase)  = p_ant3_c_a01
3649         if (p_ant4_c_a01 .ge. p1st) lptr_ant4_c_aer(01,itype,ai_phase)  = p_ant4_c_a01
3650         if (p_ant1_o_a01 .ge. p1st) lptr_ant1_o_aer(01,itype,ai_phase)  = p_ant1_o_a01
3651         if (p_ant2_o_a01 .ge. p1st) lptr_ant2_o_aer(01,itype,ai_phase)  = p_ant2_o_a01
3652         if (p_ant3_o_a01 .ge. p1st) lptr_ant3_o_aer(01,itype,ai_phase)  = p_ant3_o_a01
3653         if (p_ant4_o_a01 .ge. p1st) lptr_ant4_o_aer(01,itype,ai_phase)  = p_ant4_o_a01
3654         if (p_biog1_c_a01 .ge. p1st) lptr_biog1_c_aer(01,itype,ai_phase)  = p_biog1_c_a01
3655         if (p_biog2_c_a01 .ge. p1st) lptr_biog2_c_aer(01,itype,ai_phase)  = p_biog2_c_a01
3656         if (p_biog3_c_a01 .ge. p1st) lptr_biog3_c_aer(01,itype,ai_phase)  = p_biog3_c_a01
3657         if (p_biog4_c_a01 .ge. p1st) lptr_biog4_c_aer(01,itype,ai_phase)  = p_biog4_c_a01
3658         if (p_biog1_o_a01 .ge. p1st) lptr_biog1_o_aer(01,itype,ai_phase)  = p_biog1_o_a01
3659         if (p_biog2_o_a01 .ge. p1st) lptr_biog2_o_aer(01,itype,ai_phase)  = p_biog2_o_a01
3660         if (p_biog3_o_a01 .ge. p1st) lptr_biog3_o_aer(01,itype,ai_phase)  = p_biog3_o_a01
3661         if (p_biog4_o_a01 .ge. p1st) lptr_biog4_o_aer(01,itype,ai_phase)  = p_biog4_o_a01
3662         if (p_asoaX_a01 .ge. p1st) lptr_asoaX_aer(01,itype,ai_phase)  = p_asoaX_a01
3663         if (p_asoa1_a01 .ge. p1st) lptr_asoa1_aer(01,itype,ai_phase)  = p_asoa1_a01
3664         if (p_asoa2_a01 .ge. p1st) lptr_asoa2_aer(01,itype,ai_phase)  = p_asoa2_a01
3665         if (p_asoa3_a01 .ge. p1st) lptr_asoa3_aer(01,itype,ai_phase)  = p_asoa3_a01
3666         if (p_asoa4_a01 .ge. p1st) lptr_asoa4_aer(01,itype,ai_phase)  = p_asoa4_a01
3667         if (p_bsoaX_a01 .ge. p1st) lptr_bsoaX_aer(01,itype,ai_phase)  = p_bsoaX_a01
3668         if (p_bsoa1_a01 .ge. p1st) lptr_bsoa1_aer(01,itype,ai_phase)  = p_bsoa1_a01
3669         if (p_bsoa2_a01 .ge. p1st) lptr_bsoa2_aer(01,itype,ai_phase)  = p_bsoa2_a01
3670         if (p_bsoa3_a01 .ge. p1st) lptr_bsoa3_aer(01,itype,ai_phase)  = p_bsoa3_a01
3671         if (p_bsoa4_a01 .ge. p1st) lptr_bsoa4_aer(01,itype,ai_phase)  = p_bsoa4_a01
3672         if (p_num_a01 .ge. p1st)  numptr_aer(01,itype,ai_phase)        = p_num_a01
3673         end if
3675         if (nsize_aer(itype) .ge. 2) then
3676         if (p_so4_a02 .ge. p1st) lptr_so4_aer(02,itype,ai_phase) = p_so4_a02
3677         if (p_no3_a02 .ge. p1st) lptr_no3_aer(02,itype,ai_phase) = p_no3_a02
3678         if (p_cl_a02 .ge. p1st) lptr_cl_aer(02,itype,ai_phase)  = p_cl_a02
3679         if (p_msa_a02 .ge. p1st) lptr_msa_aer(02,itype,ai_phase) = p_msa_a02
3680         if (p_co3_a02 .ge. p1st) lptr_co3_aer(02,itype,ai_phase) = p_co3_a02
3681         if (p_nh4_a02 .ge. p1st) lptr_nh4_aer(02,itype,ai_phase) = p_nh4_a02
3682         if (p_na_a02 .ge. p1st) lptr_na_aer(02,itype,ai_phase)  = p_na_a02
3683         if (p_ca_a02 .ge. p1st) lptr_ca_aer(02,itype,ai_phase)  = p_ca_a02
3684         if (p_oin_a02 .ge. p1st) lptr_oin_aer(02,itype,ai_phase) = p_oin_a02
3685         if (p_oc_a02 .ge. p1st) lptr_oc_aer(02,itype,ai_phase)  = p_oc_a02
3686         if (p_bc_a02 .ge. p1st) lptr_bc_aer(02,itype,ai_phase)  = p_bc_a02
3687         if (p_hysw_a02 .ge. p1st) hyswptr_aer(02,itype)         = p_hysw_a02
3688         if (p_water_a02 .ge. p1st) waterptr_aer(02,itype)       = p_water_a02
3689         if (p_pcg1_b_c_a02 .ge. p1st) lptr_pcg1_b_c_aer(02,itype,ai_phase) = p_pcg1_b_c_a02
3690         if (p_pcg2_b_c_a02 .ge. p1st) lptr_pcg2_b_c_aer(02,itype,ai_phase)  = p_pcg2_b_c_a02
3691         if (p_pcg3_b_c_a02 .ge. p1st) lptr_pcg3_b_c_aer(02,itype,ai_phase)  = p_pcg3_b_c_a02
3692         if (p_pcg4_b_c_a02 .ge. p1st) lptr_pcg4_b_c_aer(02,itype,ai_phase)  = p_pcg4_b_c_a02
3693         if (p_pcg5_b_c_a02 .ge. p1st) lptr_pcg5_b_c_aer(02,itype,ai_phase)  = p_pcg5_b_c_a02
3694         if (p_pcg6_b_c_a02 .ge. p1st) lptr_pcg6_b_c_aer(02,itype,ai_phase)  = p_pcg6_b_c_a02
3695         if (p_pcg7_b_c_a02 .ge. p1st) lptr_pcg7_b_c_aer(02,itype,ai_phase)  = p_pcg7_b_c_a02
3696         if (p_pcg8_b_c_a02 .ge. p1st) lptr_pcg8_b_c_aer(02,itype,ai_phase)  = p_pcg8_b_c_a02
3697         if (p_pcg9_b_c_a02 .ge. p1st) lptr_pcg9_b_c_aer(02,itype,ai_phase)  = p_pcg9_b_c_a02
3698         if (p_pcg1_b_o_a02 .ge. p1st) lptr_pcg1_b_o_aer(02,itype,ai_phase) = p_pcg1_b_o_a02
3699         if (p_pcg2_b_o_a02 .ge. p1st) lptr_pcg2_b_o_aer(02,itype,ai_phase)  = p_pcg2_b_o_a02
3700         if (p_pcg3_b_o_a02 .ge. p1st) lptr_pcg3_b_o_aer(02,itype,ai_phase)  = p_pcg3_b_o_a02
3701         if (p_pcg4_b_o_a02 .ge. p1st) lptr_pcg4_b_o_aer(02,itype,ai_phase)  = p_pcg4_b_o_a02
3702         if (p_pcg5_b_o_a02 .ge. p1st) lptr_pcg5_b_o_aer(02,itype,ai_phase)  = p_pcg5_b_o_a02
3703         if (p_pcg6_b_o_a02 .ge. p1st) lptr_pcg6_b_o_aer(02,itype,ai_phase)  = p_pcg6_b_o_a02
3704         if (p_pcg7_b_o_a02 .ge. p1st) lptr_pcg7_b_o_aer(02,itype,ai_phase)  = p_pcg7_b_o_a02
3705         if (p_pcg8_b_o_a02 .ge. p1st) lptr_pcg8_b_o_aer(02,itype,ai_phase)  = p_pcg8_b_o_a02
3706         if (p_pcg9_b_o_a02 .ge. p1st) lptr_pcg9_b_o_aer(02,itype,ai_phase)  = p_pcg9_b_o_a02
3707         if (p_opcg1_b_c_a02 .ge. p1st) lptr_opcg1_b_c_aer(02,itype,ai_phase) = p_opcg1_b_c_a02
3708         if (p_opcg2_b_c_a02 .ge. p1st) lptr_opcg2_b_c_aer(02,itype,ai_phase)  = p_opcg2_b_c_a02
3709         if (p_opcg3_b_c_a02 .ge. p1st) lptr_opcg3_b_c_aer(02,itype,ai_phase)  = p_opcg3_b_c_a02
3710         if (p_opcg4_b_c_a02 .ge. p1st) lptr_opcg4_b_c_aer(02,itype,ai_phase)  = p_opcg4_b_c_a02
3711         if (p_opcg5_b_c_a02 .ge. p1st) lptr_opcg5_b_c_aer(02,itype,ai_phase)  = p_opcg5_b_c_a02
3712         if (p_opcg6_b_c_a02 .ge. p1st) lptr_opcg6_b_c_aer(02,itype,ai_phase)  = p_opcg6_b_c_a02
3713         if (p_opcg7_b_c_a02 .ge. p1st) lptr_opcg7_b_c_aer(02,itype,ai_phase)  = p_opcg7_b_c_a02
3714         if (p_opcg8_b_c_a02 .ge. p1st) lptr_opcg8_b_c_aer(02,itype,ai_phase)  = p_opcg8_b_c_a02
3715         if (p_opcg1_b_o_a02 .ge. p1st) lptr_opcg1_b_o_aer(02,itype,ai_phase) = p_opcg1_b_o_a02
3716         if (p_opcg2_b_o_a02 .ge. p1st) lptr_opcg2_b_o_aer(02,itype,ai_phase)  = p_opcg2_b_o_a02
3717         if (p_opcg3_b_o_a02 .ge. p1st) lptr_opcg3_b_o_aer(02,itype,ai_phase)  = p_opcg3_b_o_a02
3718         if (p_opcg4_b_o_a02 .ge. p1st) lptr_opcg4_b_o_aer(02,itype,ai_phase)  = p_opcg4_b_o_a02
3719         if (p_opcg5_b_o_a02 .ge. p1st) lptr_opcg5_b_o_aer(02,itype,ai_phase)  = p_opcg5_b_o_a02
3720         if (p_opcg6_b_o_a02 .ge. p1st) lptr_opcg6_b_o_aer(02,itype,ai_phase)  = p_opcg6_b_o_a02
3721         if (p_opcg7_b_o_a02 .ge. p1st) lptr_opcg7_b_o_aer(02,itype,ai_phase)  = p_opcg7_b_o_a02
3722         if (p_opcg8_b_o_a02 .ge. p1st) lptr_opcg8_b_o_aer(02,itype,ai_phase)  = p_opcg8_b_o_a02
3723         if (p_pcg1_f_c_a02 .ge. p1st) lptr_pcg1_f_c_aer(02,itype,ai_phase) = p_pcg1_f_c_a02
3724         if (p_pcg2_f_c_a02 .ge. p1st) lptr_pcg2_f_c_aer(02,itype,ai_phase)  = p_pcg2_f_c_a02
3725         if (p_pcg3_f_c_a02 .ge. p1st) lptr_pcg3_f_c_aer(02,itype,ai_phase)  = p_pcg3_f_c_a02
3726         if (p_pcg4_f_c_a02 .ge. p1st) lptr_pcg4_f_c_aer(02,itype,ai_phase)  = p_pcg4_f_c_a02
3727         if (p_pcg5_f_c_a02 .ge. p1st) lptr_pcg5_f_c_aer(02,itype,ai_phase)  = p_pcg5_f_c_a02
3728         if (p_pcg6_f_c_a02 .ge. p1st) lptr_pcg6_f_c_aer(02,itype,ai_phase)  = p_pcg6_f_c_a02
3729         if (p_pcg7_f_c_a02 .ge. p1st) lptr_pcg7_f_c_aer(02,itype,ai_phase)  = p_pcg7_f_c_a02
3730         if (p_pcg8_f_c_a02 .ge. p1st) lptr_pcg8_f_c_aer(02,itype,ai_phase)  = p_pcg8_f_c_a02
3731         if (p_pcg9_f_c_a02 .ge. p1st) lptr_pcg9_f_c_aer(02,itype,ai_phase)  = p_pcg9_f_c_a02
3732         if (p_pcg1_f_o_a02 .ge. p1st) lptr_pcg1_f_o_aer(02,itype,ai_phase) = p_pcg1_f_o_a02
3733         if (p_pcg2_f_o_a02 .ge. p1st) lptr_pcg2_f_o_aer(02,itype,ai_phase)  = p_pcg2_f_o_a02
3734         if (p_pcg3_f_o_a02 .ge. p1st) lptr_pcg3_f_o_aer(02,itype,ai_phase)  = p_pcg3_f_o_a02
3735         if (p_pcg4_f_o_a02 .ge. p1st) lptr_pcg4_f_o_aer(02,itype,ai_phase)  = p_pcg4_f_o_a02
3736         if (p_pcg5_f_o_a02 .ge. p1st) lptr_pcg5_f_o_aer(02,itype,ai_phase)  = p_pcg5_f_o_a02
3737         if (p_pcg6_f_o_a02 .ge. p1st) lptr_pcg6_f_o_aer(02,itype,ai_phase)  = p_pcg6_f_o_a02
3738         if (p_pcg7_f_o_a02 .ge. p1st) lptr_pcg7_f_o_aer(02,itype,ai_phase)  = p_pcg7_f_o_a02
3739         if (p_pcg8_f_o_a02 .ge. p1st) lptr_pcg8_f_o_aer(02,itype,ai_phase)  = p_pcg8_f_o_a02
3740         if (p_pcg9_f_o_a02 .ge. p1st) lptr_pcg9_f_o_aer(02,itype,ai_phase)  = p_pcg9_f_o_a02
3741         if (p_opcg1_f_c_a02 .ge. p1st) lptr_opcg1_f_c_aer(02,itype,ai_phase) = p_opcg1_f_c_a02
3742         if (p_opcg2_f_c_a02 .ge. p1st) lptr_opcg2_f_c_aer(02,itype,ai_phase)  = p_opcg2_f_c_a02
3743         if (p_opcg3_f_c_a02 .ge. p1st) lptr_opcg3_f_c_aer(02,itype,ai_phase)  = p_opcg3_f_c_a02
3744         if (p_opcg4_f_c_a02 .ge. p1st) lptr_opcg4_f_c_aer(02,itype,ai_phase)  = p_opcg4_f_c_a02
3745         if (p_opcg5_f_c_a02 .ge. p1st) lptr_opcg5_f_c_aer(02,itype,ai_phase)  = p_opcg5_f_c_a02
3746         if (p_opcg6_f_c_a02 .ge. p1st) lptr_opcg6_f_c_aer(02,itype,ai_phase)  = p_opcg6_f_c_a02
3747         if (p_opcg7_f_c_a02 .ge. p1st) lptr_opcg7_f_c_aer(02,itype,ai_phase)  = p_opcg7_f_c_a02
3748         if (p_opcg8_f_c_a02 .ge. p1st) lptr_opcg8_f_c_aer(02,itype,ai_phase)  = p_opcg8_f_c_a02
3749         if (p_opcg1_f_o_a02 .ge. p1st) lptr_opcg1_f_o_aer(02,itype,ai_phase) = p_opcg1_f_o_a02
3750         if (p_opcg2_f_o_a02 .ge. p1st) lptr_opcg2_f_o_aer(02,itype,ai_phase)  = p_opcg2_f_o_a02
3751         if (p_opcg3_f_o_a02 .ge. p1st) lptr_opcg3_f_o_aer(02,itype,ai_phase)  = p_opcg3_f_o_a02
3752         if (p_opcg4_f_o_a02 .ge. p1st) lptr_opcg4_f_o_aer(02,itype,ai_phase)  = p_opcg4_f_o_a02
3753         if (p_opcg5_f_o_a02 .ge. p1st) lptr_opcg5_f_o_aer(02,itype,ai_phase)  = p_opcg5_f_o_a02
3754         if (p_opcg6_f_o_a02 .ge. p1st) lptr_opcg6_f_o_aer(02,itype,ai_phase)  = p_opcg6_f_o_a02
3755         if (p_opcg7_f_o_a02 .ge. p1st) lptr_opcg7_f_o_aer(02,itype,ai_phase)  = p_opcg7_f_o_a02
3756         if (p_opcg8_f_o_a02 .ge. p1st) lptr_opcg8_f_o_aer(02,itype,ai_phase)  = p_opcg8_f_o_a02
3757         if (p_smpa_a02 .ge. p1st) lptr_smpa_aer(02,itype,ai_phase)  = p_smpa_a02
3758         if (p_smpbb_a02 .ge. p1st) lptr_smpbb_aer(02,itype,ai_phase)  = p_smpbb_a02
3759         if (p_glysoa_r1_a02 .ge. p1st) lptr_glysoa_r1_aer (02,itype,ai_phase) = p_glysoa_r1_a02
3760         if (p_glysoa_r2_a02 .ge. p1st) lptr_glysoa_r2_aer (02,itype,ai_phase) = p_glysoa_r2_a02
3761         if (p_glysoa_sfc_a02 .ge. p1st) lptr_glysoa_sfc_aer(02,itype,ai_phase)  = p_glysoa_sfc_a02
3762         if (p_glysoa_nh4_a02 .ge. p1st) lptr_glysoa_nh4_aer(02,itype,ai_phase)  = p_glysoa_nh4_a02
3763         if (p_glysoa_oh_a02 .ge. p1st) lptr_glysoa_oh_aer(02,itype,ai_phase)  = p_glysoa_oh_a02
3764         if (p_ant1_c_a02 .ge. p1st) lptr_ant1_c_aer(02,itype,ai_phase)  = p_ant1_c_a02
3765         if (p_ant2_c_a02 .ge. p1st) lptr_ant2_c_aer(02,itype,ai_phase)  = p_ant2_c_a02
3766         if (p_ant3_c_a02 .ge. p1st) lptr_ant3_c_aer(02,itype,ai_phase)  = p_ant3_c_a02
3767         if (p_ant4_c_a02 .ge. p1st) lptr_ant4_c_aer(02,itype,ai_phase)  = p_ant4_c_a02
3768         if (p_ant1_o_a02 .ge. p1st) lptr_ant1_o_aer(02,itype,ai_phase)  = p_ant1_o_a02
3769         if (p_ant2_o_a02 .ge. p1st) lptr_ant2_o_aer(02,itype,ai_phase)  = p_ant2_o_a02
3770         if (p_ant3_o_a02 .ge. p1st) lptr_ant3_o_aer(02,itype,ai_phase)  = p_ant3_o_a02
3771         if (p_ant4_o_a02 .ge. p1st) lptr_ant4_o_aer(02,itype,ai_phase)  = p_ant4_o_a02
3772         if (p_biog1_c_a02 .ge. p1st) lptr_biog1_c_aer(02,itype,ai_phase)  = p_biog1_c_a02
3773         if (p_biog2_c_a02 .ge. p1st) lptr_biog2_c_aer(02,itype,ai_phase)  = p_biog2_c_a02
3774         if (p_biog3_c_a02 .ge. p1st) lptr_biog3_c_aer(02,itype,ai_phase)  = p_biog3_c_a02
3775         if (p_biog4_c_a02 .ge. p1st) lptr_biog4_c_aer(02,itype,ai_phase)  = p_biog4_c_a02
3776         if (p_biog1_o_a02 .ge. p1st) lptr_biog1_o_aer(02,itype,ai_phase)  = p_biog1_o_a02
3777         if (p_biog2_o_a02 .ge. p1st) lptr_biog2_o_aer(02,itype,ai_phase)  = p_biog2_o_a02
3778         if (p_biog3_o_a02 .ge. p1st) lptr_biog3_o_aer(02,itype,ai_phase)  = p_biog3_o_a02
3779         if (p_biog4_o_a02 .ge. p1st) lptr_biog4_o_aer(02,itype,ai_phase)  = p_biog4_o_a02
3780         if (p_asoaX_a02 .ge. p1st) lptr_asoaX_aer(02,itype,ai_phase)  = p_asoaX_a02
3781         if (p_asoa1_a02 .ge. p1st) lptr_asoa1_aer(02,itype,ai_phase)  = p_asoa1_a02
3782         if (p_asoa2_a02 .ge. p1st) lptr_asoa2_aer(02,itype,ai_phase)  = p_asoa2_a02
3783         if (p_asoa3_a02 .ge. p1st) lptr_asoa3_aer(02,itype,ai_phase)  = p_asoa3_a02
3784         if (p_asoa4_a02 .ge. p1st) lptr_asoa4_aer(02,itype,ai_phase)  = p_asoa4_a02
3785         if (p_bsoaX_a02 .ge. p1st) lptr_bsoaX_aer(02,itype,ai_phase)  = p_bsoaX_a02
3786         if (p_bsoa1_a02 .ge. p1st) lptr_bsoa1_aer(02,itype,ai_phase)  = p_bsoa1_a02
3787         if (p_bsoa2_a02 .ge. p1st) lptr_bsoa2_aer(02,itype,ai_phase)  = p_bsoa2_a02
3788         if (p_bsoa3_a02 .ge. p1st) lptr_bsoa3_aer(02,itype,ai_phase)  = p_bsoa3_a02
3789         if (p_bsoa4_a02 .ge. p1st) lptr_bsoa4_aer(02,itype,ai_phase)  = p_bsoa4_a02
3790         if (p_num_a02 .ge. p1st)  numptr_aer(02,itype,ai_phase)        = p_num_a02
3791         end if
3793         if (nsize_aer(itype) .ge. 3) then
3794         if (p_so4_a03 .ge. p1st) lptr_so4_aer(03,itype,ai_phase) = p_so4_a03
3795         if (p_no3_a03 .ge. p1st) lptr_no3_aer(03,itype,ai_phase) = p_no3_a03
3796         if (p_cl_a03 .ge. p1st) lptr_cl_aer(03,itype,ai_phase)  = p_cl_a03
3797         if (p_msa_a03 .ge. p1st) lptr_msa_aer(03,itype,ai_phase) = p_msa_a03
3798         if (p_co3_a03 .ge. p1st) lptr_co3_aer(03,itype,ai_phase) = p_co3_a03
3799         if (p_nh4_a03 .ge. p1st) lptr_nh4_aer(03,itype,ai_phase) = p_nh4_a03
3800         if (p_na_a03 .ge. p1st) lptr_na_aer(03,itype,ai_phase)  = p_na_a03
3801         if (p_ca_a03 .ge. p1st) lptr_ca_aer(03,itype,ai_phase)  = p_ca_a03
3802         if (p_oin_a03 .ge. p1st) lptr_oin_aer(03,itype,ai_phase) = p_oin_a03
3803         if (p_oc_a03 .ge. p1st) lptr_oc_aer(03,itype,ai_phase)  = p_oc_a03
3804         if (p_bc_a03 .ge. p1st) lptr_bc_aer(03,itype,ai_phase)  = p_bc_a03
3805         if (p_hysw_a03 .ge. p1st) hyswptr_aer(03,itype)         = p_hysw_a03
3806         if (p_water_a03 .ge. p1st) waterptr_aer(03,itype)       = p_water_a03
3807         if (p_pcg1_b_c_a03 .ge. p1st) lptr_pcg1_b_c_aer(03,itype,ai_phase) = p_pcg1_b_c_a03
3808         if (p_pcg2_b_c_a03 .ge. p1st) lptr_pcg2_b_c_aer(03,itype,ai_phase)  = p_pcg2_b_c_a03
3809         if (p_pcg3_b_c_a03 .ge. p1st) lptr_pcg3_b_c_aer(03,itype,ai_phase)  = p_pcg3_b_c_a03
3810         if (p_pcg4_b_c_a03 .ge. p1st) lptr_pcg4_b_c_aer(03,itype,ai_phase)  = p_pcg4_b_c_a03
3811         if (p_pcg5_b_c_a03 .ge. p1st) lptr_pcg5_b_c_aer(03,itype,ai_phase)  = p_pcg5_b_c_a03
3812         if (p_pcg6_b_c_a03 .ge. p1st) lptr_pcg6_b_c_aer(03,itype,ai_phase)  = p_pcg6_b_c_a03
3813         if (p_pcg7_b_c_a03 .ge. p1st) lptr_pcg7_b_c_aer(03,itype,ai_phase)  = p_pcg7_b_c_a03
3814         if (p_pcg8_b_c_a03 .ge. p1st) lptr_pcg8_b_c_aer(03,itype,ai_phase)  = p_pcg8_b_c_a03
3815         if (p_pcg9_b_c_a03 .ge. p1st) lptr_pcg9_b_c_aer(03,itype,ai_phase)  = p_pcg9_b_c_a03
3816         if (p_pcg1_b_o_a03 .ge. p1st) lptr_pcg1_b_o_aer(03,itype,ai_phase) = p_pcg1_b_o_a03
3817         if (p_pcg2_b_o_a03 .ge. p1st) lptr_pcg2_b_o_aer(03,itype,ai_phase)  = p_pcg2_b_o_a03
3818         if (p_pcg3_b_o_a03 .ge. p1st) lptr_pcg3_b_o_aer(03,itype,ai_phase)  = p_pcg3_b_o_a03
3819         if (p_pcg4_b_o_a03 .ge. p1st) lptr_pcg4_b_o_aer(03,itype,ai_phase)  = p_pcg4_b_o_a03
3820         if (p_pcg5_b_o_a03 .ge. p1st) lptr_pcg5_b_o_aer(03,itype,ai_phase)  = p_pcg5_b_o_a03
3821         if (p_pcg6_b_o_a03 .ge. p1st) lptr_pcg6_b_o_aer(03,itype,ai_phase)  = p_pcg6_b_o_a03
3822         if (p_pcg7_b_o_a03 .ge. p1st) lptr_pcg7_b_o_aer(03,itype,ai_phase)  = p_pcg7_b_o_a03
3823         if (p_pcg8_b_o_a03 .ge. p1st) lptr_pcg8_b_o_aer(03,itype,ai_phase)  = p_pcg8_b_o_a03
3824         if (p_pcg9_b_o_a03 .ge. p1st) lptr_pcg9_b_o_aer(03,itype,ai_phase)  = p_pcg9_b_o_a03
3825         if (p_opcg1_b_c_a03 .ge. p1st) lptr_opcg1_b_c_aer(03,itype,ai_phase) = p_opcg1_b_c_a03
3826         if (p_opcg2_b_c_a03 .ge. p1st) lptr_opcg2_b_c_aer(03,itype,ai_phase)  = p_opcg2_b_c_a03
3827         if (p_opcg3_b_c_a03 .ge. p1st) lptr_opcg3_b_c_aer(03,itype,ai_phase)  = p_opcg3_b_c_a03
3828         if (p_opcg4_b_c_a03 .ge. p1st) lptr_opcg4_b_c_aer(03,itype,ai_phase)  = p_opcg4_b_c_a03
3829         if (p_opcg5_b_c_a03 .ge. p1st) lptr_opcg5_b_c_aer(03,itype,ai_phase)  = p_opcg5_b_c_a03
3830         if (p_opcg6_b_c_a03 .ge. p1st) lptr_opcg6_b_c_aer(03,itype,ai_phase)  = p_opcg6_b_c_a03
3831         if (p_opcg7_b_c_a03 .ge. p1st) lptr_opcg7_b_c_aer(03,itype,ai_phase)  = p_opcg7_b_c_a03
3832         if (p_opcg8_b_c_a03 .ge. p1st) lptr_opcg8_b_c_aer(03,itype,ai_phase)  = p_opcg8_b_c_a03
3833         if (p_opcg1_b_o_a03 .ge. p1st) lptr_opcg1_b_o_aer(03,itype,ai_phase) = p_opcg1_b_o_a03
3834         if (p_opcg2_b_o_a03 .ge. p1st) lptr_opcg2_b_o_aer(03,itype,ai_phase)  = p_opcg2_b_o_a03
3835         if (p_opcg3_b_o_a03 .ge. p1st) lptr_opcg3_b_o_aer(03,itype,ai_phase)  = p_opcg3_b_o_a03
3836         if (p_opcg4_b_o_a03 .ge. p1st) lptr_opcg4_b_o_aer(03,itype,ai_phase)  = p_opcg4_b_o_a03
3837         if (p_opcg5_b_o_a03 .ge. p1st) lptr_opcg5_b_o_aer(03,itype,ai_phase)  = p_opcg5_b_o_a03
3838         if (p_opcg6_b_o_a03 .ge. p1st) lptr_opcg6_b_o_aer(03,itype,ai_phase)  = p_opcg6_b_o_a03
3839         if (p_opcg7_b_o_a03 .ge. p1st) lptr_opcg7_b_o_aer(03,itype,ai_phase)  = p_opcg7_b_o_a03
3840         if (p_opcg8_b_o_a03 .ge. p1st) lptr_opcg8_b_o_aer(03,itype,ai_phase)  = p_opcg8_b_o_a03
3841         if (p_pcg1_f_c_a03 .ge. p1st) lptr_pcg1_f_c_aer(03,itype,ai_phase) = p_pcg1_f_c_a03
3842         if (p_pcg2_f_c_a03 .ge. p1st) lptr_pcg2_f_c_aer(03,itype,ai_phase)  = p_pcg2_f_c_a03
3843         if (p_pcg3_f_c_a03 .ge. p1st) lptr_pcg3_f_c_aer(03,itype,ai_phase)  = p_pcg3_f_c_a03
3844         if (p_pcg4_f_c_a03 .ge. p1st) lptr_pcg4_f_c_aer(03,itype,ai_phase)  = p_pcg4_f_c_a03
3845         if (p_pcg5_f_c_a03 .ge. p1st) lptr_pcg5_f_c_aer(03,itype,ai_phase)  = p_pcg5_f_c_a03
3846         if (p_pcg6_f_c_a03 .ge. p1st) lptr_pcg6_f_c_aer(03,itype,ai_phase)  = p_pcg6_f_c_a03
3847         if (p_pcg7_f_c_a03 .ge. p1st) lptr_pcg7_f_c_aer(03,itype,ai_phase)  = p_pcg7_f_c_a03
3848         if (p_pcg8_f_c_a03 .ge. p1st) lptr_pcg8_f_c_aer(03,itype,ai_phase)  = p_pcg8_f_c_a03
3849         if (p_pcg9_f_c_a03 .ge. p1st) lptr_pcg9_f_c_aer(03,itype,ai_phase)  = p_pcg9_f_c_a03
3850         if (p_pcg1_f_o_a03 .ge. p1st) lptr_pcg1_f_o_aer(03,itype,ai_phase) = p_pcg1_f_o_a03
3851         if (p_pcg2_f_o_a03 .ge. p1st) lptr_pcg2_f_o_aer(03,itype,ai_phase)  = p_pcg2_f_o_a03
3852         if (p_pcg3_f_o_a03 .ge. p1st) lptr_pcg3_f_o_aer(03,itype,ai_phase)  = p_pcg3_f_o_a03
3853         if (p_pcg4_f_o_a03 .ge. p1st) lptr_pcg4_f_o_aer(03,itype,ai_phase)  = p_pcg4_f_o_a03
3854         if (p_pcg5_f_o_a03 .ge. p1st) lptr_pcg5_f_o_aer(03,itype,ai_phase)  = p_pcg5_f_o_a03
3855         if (p_pcg6_f_o_a03 .ge. p1st) lptr_pcg6_f_o_aer(03,itype,ai_phase)  = p_pcg6_f_o_a03
3856         if (p_pcg7_f_o_a03 .ge. p1st) lptr_pcg7_f_o_aer(03,itype,ai_phase)  = p_pcg7_f_o_a03
3857         if (p_pcg8_f_o_a03 .ge. p1st) lptr_pcg8_f_o_aer(03,itype,ai_phase)  = p_pcg8_f_o_a03
3858         if (p_pcg9_f_o_a03 .ge. p1st) lptr_pcg9_f_o_aer(03,itype,ai_phase)  = p_pcg9_f_o_a03
3859         if (p_opcg1_f_c_a03 .ge. p1st) lptr_opcg1_f_c_aer(03,itype,ai_phase) = p_opcg1_f_c_a03
3860         if (p_opcg2_f_c_a03 .ge. p1st) lptr_opcg2_f_c_aer(03,itype,ai_phase)  = p_opcg2_f_c_a03
3861         if (p_opcg3_f_c_a03 .ge. p1st) lptr_opcg3_f_c_aer(03,itype,ai_phase)  = p_opcg3_f_c_a03
3862         if (p_opcg4_f_c_a03 .ge. p1st) lptr_opcg4_f_c_aer(03,itype,ai_phase)  = p_opcg4_f_c_a03
3863         if (p_opcg5_f_c_a03 .ge. p1st) lptr_opcg5_f_c_aer(03,itype,ai_phase)  = p_opcg5_f_c_a03
3864         if (p_opcg6_f_c_a03 .ge. p1st) lptr_opcg6_f_c_aer(03,itype,ai_phase)  = p_opcg6_f_c_a03
3865         if (p_opcg7_f_c_a03 .ge. p1st) lptr_opcg7_f_c_aer(03,itype,ai_phase)  = p_opcg7_f_c_a03
3866         if (p_opcg8_f_c_a03 .ge. p1st) lptr_opcg8_f_c_aer(03,itype,ai_phase)  = p_opcg8_f_c_a03
3867         if (p_opcg1_f_o_a03 .ge. p1st) lptr_opcg1_f_o_aer(03,itype,ai_phase) = p_opcg1_f_o_a03
3868         if (p_opcg2_f_o_a03 .ge. p1st) lptr_opcg2_f_o_aer(03,itype,ai_phase)  = p_opcg2_f_o_a03
3869         if (p_opcg3_f_o_a03 .ge. p1st) lptr_opcg3_f_o_aer(03,itype,ai_phase)  = p_opcg3_f_o_a03
3870         if (p_opcg4_f_o_a03 .ge. p1st) lptr_opcg4_f_o_aer(03,itype,ai_phase)  = p_opcg4_f_o_a03
3871         if (p_opcg5_f_o_a03 .ge. p1st) lptr_opcg5_f_o_aer(03,itype,ai_phase)  = p_opcg5_f_o_a03
3872         if (p_opcg6_f_o_a03 .ge. p1st) lptr_opcg6_f_o_aer(03,itype,ai_phase)  = p_opcg6_f_o_a03
3873         if (p_opcg7_f_o_a03 .ge. p1st) lptr_opcg7_f_o_aer(03,itype,ai_phase)  = p_opcg7_f_o_a03
3874         if (p_opcg8_f_o_a03 .ge. p1st) lptr_opcg8_f_o_aer(03,itype,ai_phase)  = p_opcg8_f_o_a03
3875         if (p_smpa_a03 .ge. p1st) lptr_smpa_aer(03,itype,ai_phase)  = p_smpa_a03
3876         if (p_smpbb_a03 .ge. p1st) lptr_smpbb_aer(03,itype,ai_phase)  = p_smpbb_a03
3877         if (p_glysoa_r1_a03 .ge. p1st) lptr_glysoa_r1_aer (03,itype,ai_phase) = p_glysoa_r1_a03
3878         if (p_glysoa_r2_a03 .ge. p1st) lptr_glysoa_r2_aer (03,itype,ai_phase) = p_glysoa_r2_a03
3879         if (p_glysoa_sfc_a03 .ge. p1st) lptr_glysoa_sfc_aer(03,itype,ai_phase)  = p_glysoa_sfc_a03
3880         if (p_glysoa_nh4_a03 .ge. p1st) lptr_glysoa_nh4_aer(03,itype,ai_phase)  = p_glysoa_nh4_a03
3881         if (p_glysoa_oh_a03 .ge. p1st) lptr_glysoa_oh_aer(03,itype,ai_phase)  = p_glysoa_oh_a03
3882         if (p_ant1_c_a03 .ge. p1st) lptr_ant1_c_aer(03,itype,ai_phase)  = p_ant1_c_a03
3883         if (p_ant2_c_a03 .ge. p1st) lptr_ant2_c_aer(03,itype,ai_phase)  = p_ant2_c_a03
3884         if (p_ant3_c_a03 .ge. p1st) lptr_ant3_c_aer(03,itype,ai_phase)  = p_ant3_c_a03
3885         if (p_ant4_c_a03 .ge. p1st) lptr_ant4_c_aer(03,itype,ai_phase)  = p_ant4_c_a03
3886         if (p_ant1_o_a03 .ge. p1st) lptr_ant1_o_aer(03,itype,ai_phase)  = p_ant1_o_a03
3887         if (p_ant2_o_a03 .ge. p1st) lptr_ant2_o_aer(03,itype,ai_phase)  = p_ant2_o_a03
3888         if (p_ant3_o_a03 .ge. p1st) lptr_ant3_o_aer(03,itype,ai_phase)  = p_ant3_o_a03
3889         if (p_ant4_o_a03 .ge. p1st) lptr_ant4_o_aer(03,itype,ai_phase)  = p_ant4_o_a03
3890         if (p_biog1_c_a03 .ge. p1st) lptr_biog1_c_aer(03,itype,ai_phase)  = p_biog1_c_a03
3891         if (p_biog2_c_a03 .ge. p1st) lptr_biog2_c_aer(03,itype,ai_phase)  = p_biog2_c_a03
3892         if (p_biog3_c_a03 .ge. p1st) lptr_biog3_c_aer(03,itype,ai_phase)  = p_biog3_c_a03
3893         if (p_biog4_c_a03 .ge. p1st) lptr_biog4_c_aer(03,itype,ai_phase)  = p_biog4_c_a03
3894         if (p_biog1_o_a03 .ge. p1st) lptr_biog1_o_aer(03,itype,ai_phase)  = p_biog1_o_a03
3895         if (p_biog2_o_a03 .ge. p1st) lptr_biog2_o_aer(03,itype,ai_phase)  = p_biog2_o_a03
3896         if (p_biog3_o_a03 .ge. p1st) lptr_biog3_o_aer(03,itype,ai_phase)  = p_biog3_o_a03
3897         if (p_biog4_o_a03 .ge. p1st) lptr_biog4_o_aer(03,itype,ai_phase)  = p_biog4_o_a03
3898         if (p_asoaX_a03 .ge. p1st) lptr_asoaX_aer(03,itype,ai_phase)  = p_asoaX_a03
3899         if (p_asoa1_a03 .ge. p1st) lptr_asoa1_aer(03,itype,ai_phase)  = p_asoa1_a03
3900         if (p_asoa2_a03 .ge. p1st) lptr_asoa2_aer(03,itype,ai_phase)  = p_asoa2_a03
3901         if (p_asoa3_a03 .ge. p1st) lptr_asoa3_aer(03,itype,ai_phase)  = p_asoa3_a03
3902         if (p_asoa4_a03 .ge. p1st) lptr_asoa4_aer(03,itype,ai_phase)  = p_asoa4_a03
3903         if (p_bsoaX_a03 .ge. p1st) lptr_bsoaX_aer(03,itype,ai_phase)  = p_bsoaX_a03
3904         if (p_bsoa1_a03 .ge. p1st) lptr_bsoa1_aer(03,itype,ai_phase)  = p_bsoa1_a03
3905         if (p_bsoa2_a03 .ge. p1st) lptr_bsoa2_aer(03,itype,ai_phase)  = p_bsoa2_a03
3906         if (p_bsoa3_a03 .ge. p1st) lptr_bsoa3_aer(03,itype,ai_phase)  = p_bsoa3_a03
3907         if (p_bsoa4_a03 .ge. p1st) lptr_bsoa4_aer(03,itype,ai_phase)  = p_bsoa4_a03
3908         if (p_num_a03 .ge. p1st)  numptr_aer(03,itype,ai_phase)        = p_num_a03
3909         end if
3912         if (nsize_aer(itype) .ge. 4) then
3913         if (p_so4_a04 .ge. p1st) lptr_so4_aer(04,itype,ai_phase) = p_so4_a04
3914         if (p_no3_a04 .ge. p1st) lptr_no3_aer(04,itype,ai_phase) = p_no3_a04
3915         if (p_cl_a04 .ge. p1st) lptr_cl_aer(04,itype,ai_phase)  = p_cl_a04
3916         if (p_msa_a04 .ge. p1st) lptr_msa_aer(04,itype,ai_phase) = p_msa_a04
3917         if (p_co3_a04 .ge. p1st) lptr_co3_aer(04,itype,ai_phase) = p_co3_a04
3918         if (p_nh4_a04 .ge. p1st) lptr_nh4_aer(04,itype,ai_phase) = p_nh4_a04
3919         if (p_na_a04 .ge. p1st) lptr_na_aer(04,itype,ai_phase)  = p_na_a04
3920         if (p_ca_a04 .ge. p1st) lptr_ca_aer(04,itype,ai_phase)  = p_ca_a04
3921         if (p_oin_a04 .ge. p1st) lptr_oin_aer(04,itype,ai_phase) = p_oin_a04
3922         if (p_oc_a04 .ge. p1st) lptr_oc_aer(04,itype,ai_phase)  = p_oc_a04
3923         if (p_bc_a04 .ge. p1st) lptr_bc_aer(04,itype,ai_phase)  = p_bc_a04
3924         if (p_hysw_a04 .ge. p1st) hyswptr_aer(04,itype)         = p_hysw_a04
3925         if (p_water_a04 .ge. p1st) waterptr_aer(04,itype)       = p_water_a04
3926         if (p_pcg1_b_c_a04 .ge. p1st) lptr_pcg1_b_c_aer(04,itype,ai_phase) = p_pcg1_b_c_a04
3927         if (p_pcg2_b_c_a04 .ge. p1st) lptr_pcg2_b_c_aer(04,itype,ai_phase)  = p_pcg2_b_c_a04
3928         if (p_pcg3_b_c_a04 .ge. p1st) lptr_pcg3_b_c_aer(04,itype,ai_phase)  = p_pcg3_b_c_a04
3929         if (p_pcg4_b_c_a04 .ge. p1st) lptr_pcg4_b_c_aer(04,itype,ai_phase)  = p_pcg4_b_c_a04
3930         if (p_pcg5_b_c_a04 .ge. p1st) lptr_pcg5_b_c_aer(04,itype,ai_phase)  = p_pcg5_b_c_a04
3931         if (p_pcg6_b_c_a04 .ge. p1st) lptr_pcg6_b_c_aer(04,itype,ai_phase)  = p_pcg6_b_c_a04
3932         if (p_pcg7_b_c_a04 .ge. p1st) lptr_pcg7_b_c_aer(04,itype,ai_phase)  = p_pcg7_b_c_a04
3933         if (p_pcg8_b_c_a04 .ge. p1st) lptr_pcg8_b_c_aer(04,itype,ai_phase)  = p_pcg8_b_c_a04
3934         if (p_pcg9_b_c_a04 .ge. p1st) lptr_pcg9_b_c_aer(04,itype,ai_phase)  = p_pcg9_b_c_a04
3935         if (p_pcg1_b_o_a04 .ge. p1st) lptr_pcg1_b_o_aer(04,itype,ai_phase) = p_pcg1_b_o_a04
3936         if (p_pcg2_b_o_a04 .ge. p1st) lptr_pcg2_b_o_aer(04,itype,ai_phase)  = p_pcg2_b_o_a04
3937         if (p_pcg3_b_o_a04 .ge. p1st) lptr_pcg3_b_o_aer(04,itype,ai_phase)  = p_pcg3_b_o_a04
3938         if (p_pcg4_b_o_a04 .ge. p1st) lptr_pcg4_b_o_aer(04,itype,ai_phase)  = p_pcg4_b_o_a04
3939         if (p_pcg5_b_o_a04 .ge. p1st) lptr_pcg5_b_o_aer(04,itype,ai_phase)  = p_pcg5_b_o_a04
3940         if (p_pcg6_b_o_a04 .ge. p1st) lptr_pcg6_b_o_aer(04,itype,ai_phase)  = p_pcg6_b_o_a04
3941         if (p_pcg7_b_o_a04 .ge. p1st) lptr_pcg7_b_o_aer(04,itype,ai_phase)  = p_pcg7_b_o_a04
3942         if (p_pcg8_b_o_a04 .ge. p1st) lptr_pcg8_b_o_aer(04,itype,ai_phase)  = p_pcg8_b_o_a04
3943         if (p_pcg9_b_o_a04 .ge. p1st) lptr_pcg9_b_o_aer(04,itype,ai_phase)  = p_pcg9_b_o_a04
3944         if (p_opcg1_b_c_a04 .ge. p1st) lptr_opcg1_b_c_aer(04,itype,ai_phase) = p_opcg1_b_c_a04
3945         if (p_opcg2_b_c_a04 .ge. p1st) lptr_opcg2_b_c_aer(04,itype,ai_phase)  = p_opcg2_b_c_a04
3946         if (p_opcg3_b_c_a04 .ge. p1st) lptr_opcg3_b_c_aer(04,itype,ai_phase)  = p_opcg3_b_c_a04
3947         if (p_opcg4_b_c_a04 .ge. p1st) lptr_opcg4_b_c_aer(04,itype,ai_phase)  = p_opcg4_b_c_a04
3948         if (p_opcg5_b_c_a04 .ge. p1st) lptr_opcg5_b_c_aer(04,itype,ai_phase)  = p_opcg5_b_c_a04
3949         if (p_opcg6_b_c_a04 .ge. p1st) lptr_opcg6_b_c_aer(04,itype,ai_phase)  = p_opcg6_b_c_a04
3950         if (p_opcg7_b_c_a04 .ge. p1st) lptr_opcg7_b_c_aer(04,itype,ai_phase)  = p_opcg7_b_c_a04
3951         if (p_opcg8_b_c_a04 .ge. p1st) lptr_opcg8_b_c_aer(04,itype,ai_phase)  = p_opcg8_b_c_a04
3952         if (p_opcg1_b_o_a04 .ge. p1st) lptr_opcg1_b_o_aer(04,itype,ai_phase) = p_opcg1_b_o_a04
3953         if (p_opcg2_b_o_a04 .ge. p1st) lptr_opcg2_b_o_aer(04,itype,ai_phase)  = p_opcg2_b_o_a04
3954         if (p_opcg3_b_o_a04 .ge. p1st) lptr_opcg3_b_o_aer(04,itype,ai_phase)  = p_opcg3_b_o_a04
3955         if (p_opcg4_b_o_a04 .ge. p1st) lptr_opcg4_b_o_aer(04,itype,ai_phase)  = p_opcg4_b_o_a04
3956         if (p_opcg5_b_o_a04 .ge. p1st) lptr_opcg5_b_o_aer(04,itype,ai_phase)  = p_opcg5_b_o_a04
3957         if (p_opcg6_b_o_a04 .ge. p1st) lptr_opcg6_b_o_aer(04,itype,ai_phase)  = p_opcg6_b_o_a04
3958         if (p_opcg7_b_o_a04 .ge. p1st) lptr_opcg7_b_o_aer(04,itype,ai_phase)  = p_opcg7_b_o_a04
3959         if (p_opcg8_b_o_a04 .ge. p1st) lptr_opcg8_b_o_aer(04,itype,ai_phase)  = p_opcg8_b_o_a04
3960         if (p_pcg1_f_c_a04 .ge. p1st) lptr_pcg1_f_c_aer(04,itype,ai_phase) = p_pcg1_f_c_a04
3961         if (p_pcg2_f_c_a04 .ge. p1st) lptr_pcg2_f_c_aer(04,itype,ai_phase)  = p_pcg2_f_c_a04
3962         if (p_pcg3_f_c_a04 .ge. p1st) lptr_pcg3_f_c_aer(04,itype,ai_phase)  = p_pcg3_f_c_a04
3963         if (p_pcg4_f_c_a04 .ge. p1st) lptr_pcg4_f_c_aer(04,itype,ai_phase)  = p_pcg4_f_c_a04
3964         if (p_pcg5_f_c_a04 .ge. p1st) lptr_pcg5_f_c_aer(04,itype,ai_phase)  = p_pcg5_f_c_a04
3965         if (p_pcg6_f_c_a04 .ge. p1st) lptr_pcg6_f_c_aer(04,itype,ai_phase)  = p_pcg6_f_c_a04
3966         if (p_pcg7_f_c_a04 .ge. p1st) lptr_pcg7_f_c_aer(04,itype,ai_phase)  = p_pcg7_f_c_a04
3967         if (p_pcg8_f_c_a04 .ge. p1st) lptr_pcg8_f_c_aer(04,itype,ai_phase)  = p_pcg8_f_c_a04
3968         if (p_pcg9_f_c_a04 .ge. p1st) lptr_pcg9_f_c_aer(04,itype,ai_phase)  = p_pcg9_f_c_a04
3969         if (p_pcg1_f_o_a04 .ge. p1st) lptr_pcg1_f_o_aer(04,itype,ai_phase) = p_pcg1_f_o_a04
3970         if (p_pcg2_f_o_a04 .ge. p1st) lptr_pcg2_f_o_aer(04,itype,ai_phase)  = p_pcg2_f_o_a04
3971         if (p_pcg3_f_o_a04 .ge. p1st) lptr_pcg3_f_o_aer(04,itype,ai_phase)  = p_pcg3_f_o_a04
3972         if (p_pcg4_f_o_a04 .ge. p1st) lptr_pcg4_f_o_aer(04,itype,ai_phase)  = p_pcg4_f_o_a04
3973         if (p_pcg5_f_o_a04 .ge. p1st) lptr_pcg5_f_o_aer(04,itype,ai_phase)  = p_pcg5_f_o_a04
3974         if (p_pcg6_f_o_a04 .ge. p1st) lptr_pcg6_f_o_aer(04,itype,ai_phase)  = p_pcg6_f_o_a04
3975         if (p_pcg7_f_o_a04 .ge. p1st) lptr_pcg7_f_o_aer(04,itype,ai_phase)  = p_pcg7_f_o_a04
3976         if (p_pcg8_f_o_a04 .ge. p1st) lptr_pcg8_f_o_aer(04,itype,ai_phase)  = p_pcg8_f_o_a04
3977         if (p_pcg9_f_o_a04 .ge. p1st) lptr_pcg9_f_o_aer(04,itype,ai_phase)  = p_pcg9_f_o_a04
3978         if (p_opcg1_f_c_a04 .ge. p1st) lptr_opcg1_f_c_aer(04,itype,ai_phase) = p_opcg1_f_c_a04
3979         if (p_opcg2_f_c_a04 .ge. p1st) lptr_opcg2_f_c_aer(04,itype,ai_phase)  = p_opcg2_f_c_a04
3980         if (p_opcg3_f_c_a04 .ge. p1st) lptr_opcg3_f_c_aer(04,itype,ai_phase)  = p_opcg3_f_c_a04
3981         if (p_opcg4_f_c_a04 .ge. p1st) lptr_opcg4_f_c_aer(04,itype,ai_phase)  = p_opcg4_f_c_a04
3982         if (p_opcg5_f_c_a04 .ge. p1st) lptr_opcg5_f_c_aer(04,itype,ai_phase)  = p_opcg5_f_c_a04
3983         if (p_opcg6_f_c_a04 .ge. p1st) lptr_opcg6_f_c_aer(04,itype,ai_phase)  = p_opcg6_f_c_a04
3984         if (p_opcg7_f_c_a04 .ge. p1st) lptr_opcg7_f_c_aer(04,itype,ai_phase)  = p_opcg7_f_c_a04
3985         if (p_opcg8_f_c_a04 .ge. p1st) lptr_opcg8_f_c_aer(04,itype,ai_phase)  = p_opcg8_f_c_a04
3986         if (p_opcg1_f_o_a04 .ge. p1st) lptr_opcg1_f_o_aer(04,itype,ai_phase) = p_opcg1_f_o_a04
3987         if (p_opcg2_f_o_a04 .ge. p1st) lptr_opcg2_f_o_aer(04,itype,ai_phase)  = p_opcg2_f_o_a04
3988         if (p_opcg3_f_o_a04 .ge. p1st) lptr_opcg3_f_o_aer(04,itype,ai_phase)  = p_opcg3_f_o_a04
3989         if (p_opcg4_f_o_a04 .ge. p1st) lptr_opcg4_f_o_aer(04,itype,ai_phase)  = p_opcg4_f_o_a04
3990         if (p_opcg5_f_o_a04 .ge. p1st) lptr_opcg5_f_o_aer(04,itype,ai_phase)  = p_opcg5_f_o_a04
3991         if (p_opcg6_f_o_a04 .ge. p1st) lptr_opcg6_f_o_aer(04,itype,ai_phase)  = p_opcg6_f_o_a04
3992         if (p_opcg7_f_o_a04 .ge. p1st) lptr_opcg7_f_o_aer(04,itype,ai_phase)  = p_opcg7_f_o_a04
3993         if (p_opcg8_f_o_a04 .ge. p1st) lptr_opcg8_f_o_aer(04,itype,ai_phase)  = p_opcg8_f_o_a04
3994         if (p_smpa_a04 .ge. p1st) lptr_smpa_aer(04,itype,ai_phase)  = p_smpa_a04
3995         if (p_smpbb_a04 .ge. p1st) lptr_smpbb_aer(04,itype,ai_phase)  = p_smpbb_a04
3996         if (p_glysoa_r1_a04 .ge. p1st) lptr_glysoa_r1_aer (04,itype,ai_phase) = p_glysoa_r1_a04
3997         if (p_glysoa_r2_a04 .ge. p1st) lptr_glysoa_r2_aer (04,itype,ai_phase) = p_glysoa_r2_a04
3998         if (p_glysoa_sfc_a04 .ge. p1st) lptr_glysoa_sfc_aer(04,itype,ai_phase)  = p_glysoa_sfc_a04
3999         if (p_glysoa_nh4_a04 .ge. p1st) lptr_glysoa_nh4_aer(04,itype,ai_phase)  = p_glysoa_nh4_a04
4000         if (p_glysoa_oh_a04 .ge. p1st) lptr_glysoa_oh_aer(04,itype,ai_phase)  = p_glysoa_oh_a04
4001         if (p_ant1_c_a04 .ge. p1st) lptr_ant1_c_aer(04,itype,ai_phase)  = p_ant1_c_a04
4002         if (p_ant2_c_a04 .ge. p1st) lptr_ant2_c_aer(04,itype,ai_phase)  = p_ant2_c_a04
4003         if (p_ant3_c_a04 .ge. p1st) lptr_ant3_c_aer(04,itype,ai_phase)  = p_ant3_c_a04
4004         if (p_ant4_c_a04 .ge. p1st) lptr_ant4_c_aer(04,itype,ai_phase)  = p_ant4_c_a04
4005         if (p_ant1_o_a04 .ge. p1st) lptr_ant1_o_aer(04,itype,ai_phase)  = p_ant1_o_a04
4006         if (p_ant2_o_a04 .ge. p1st) lptr_ant2_o_aer(04,itype,ai_phase)  = p_ant2_o_a04
4007         if (p_ant3_o_a04 .ge. p1st) lptr_ant3_o_aer(04,itype,ai_phase)  = p_ant3_o_a04
4008         if (p_ant4_o_a04 .ge. p1st) lptr_ant4_o_aer(04,itype,ai_phase)  = p_ant4_o_a04
4009         if (p_biog1_c_a04 .ge. p1st) lptr_biog1_c_aer(04,itype,ai_phase)  = p_biog1_c_a04
4010         if (p_biog2_c_a04 .ge. p1st) lptr_biog2_c_aer(04,itype,ai_phase)  = p_biog2_c_a04
4011         if (p_biog3_c_a04 .ge. p1st) lptr_biog3_c_aer(04,itype,ai_phase)  = p_biog3_c_a04
4012         if (p_biog4_c_a04 .ge. p1st) lptr_biog4_c_aer(04,itype,ai_phase)  = p_biog4_c_a04
4013         if (p_biog1_o_a04 .ge. p1st) lptr_biog1_o_aer(04,itype,ai_phase)  = p_biog1_o_a04
4014         if (p_biog2_o_a04 .ge. p1st) lptr_biog2_o_aer(04,itype,ai_phase)  = p_biog2_o_a04
4015         if (p_biog3_o_a04 .ge. p1st) lptr_biog3_o_aer(04,itype,ai_phase)  = p_biog3_o_a04
4016         if (p_biog4_o_a04 .ge. p1st) lptr_biog4_o_aer(04,itype,ai_phase)  = p_biog4_o_a04
4017         if (p_asoaX_a04 .ge. p1st) lptr_asoaX_aer(04,itype,ai_phase)  = p_asoaX_a04
4018         if (p_asoa1_a04 .ge. p1st) lptr_asoa1_aer(04,itype,ai_phase)  = p_asoa1_a04
4019         if (p_asoa2_a04 .ge. p1st) lptr_asoa2_aer(04,itype,ai_phase)  = p_asoa2_a04
4020         if (p_asoa3_a04 .ge. p1st) lptr_asoa3_aer(04,itype,ai_phase)  = p_asoa3_a04
4021         if (p_asoa4_a04 .ge. p1st) lptr_asoa4_aer(04,itype,ai_phase)  = p_asoa4_a04
4022         if (p_bsoaX_a04 .ge. p1st) lptr_bsoaX_aer(04,itype,ai_phase)  = p_bsoaX_a04
4023         if (p_bsoa1_a04 .ge. p1st) lptr_bsoa1_aer(04,itype,ai_phase)  = p_bsoa1_a04
4024         if (p_bsoa2_a04 .ge. p1st) lptr_bsoa2_aer(04,itype,ai_phase)  = p_bsoa2_a04
4025         if (p_bsoa3_a04 .ge. p1st) lptr_bsoa3_aer(04,itype,ai_phase)  = p_bsoa3_a04
4026         if (p_bsoa4_a04 .ge. p1st) lptr_bsoa4_aer(04,itype,ai_phase)  = p_bsoa4_a04
4027         if (p_num_a04 .ge. p1st)  numptr_aer(04,itype,ai_phase)        = p_num_a04
4028         end if
4031         if (nsize_aer(itype) .ge. 5) then
4032             lptr_so4_aer(05,itype,ai_phase)      = p_so4_a05
4033             lptr_no3_aer(05,itype,ai_phase)      = p_no3_a05
4034             lptr_cl_aer(05,itype,ai_phase)       = p_cl_a05
4035             lptr_msa_aer(05,itype,ai_phase)      = p_msa_a05
4036             lptr_co3_aer(05,itype,ai_phase)      = p_co3_a05
4037             lptr_nh4_aer(05,itype,ai_phase)      = p_nh4_a05
4038             lptr_na_aer(05,itype,ai_phase)       = p_na_a05
4039             lptr_ca_aer(05,itype,ai_phase)       = p_ca_a05
4040             lptr_oin_aer(05,itype,ai_phase)      = p_oin_a05
4041             lptr_oc_aer(05,itype,ai_phase)       = p_oc_a05
4042             lptr_bc_aer(05,itype,ai_phase)       = p_bc_a05
4043             hyswptr_aer(05,itype)                = p_hysw_a05
4044             waterptr_aer(05,itype)               = p_water_a05
4046             if (p_pcg1_b_c_a05 .ge. p1st) lptr_pcg1_b_c_aer(05,itype,ai_phase) = p_pcg1_b_c_a05
4047             if (p_pcg2_b_c_a05 .ge. p1st) lptr_pcg2_b_c_aer(05,itype,ai_phase)  = p_pcg2_b_c_a05
4048             if (p_pcg3_b_c_a05 .ge. p1st) lptr_pcg3_b_c_aer(05,itype,ai_phase)  = p_pcg3_b_c_a05
4049             if (p_pcg4_b_c_a05 .ge. p1st) lptr_pcg4_b_c_aer(05,itype,ai_phase)  = p_pcg4_b_c_a05
4050             if (p_pcg5_b_c_a05 .ge. p1st) lptr_pcg5_b_c_aer(05,itype,ai_phase)  = p_pcg5_b_c_a05
4051             if (p_pcg6_b_c_a05 .ge. p1st) lptr_pcg6_b_c_aer(05,itype,ai_phase)  = p_pcg6_b_c_a05
4052             if (p_pcg7_b_c_a05 .ge. p1st) lptr_pcg7_b_c_aer(05,itype,ai_phase)  = p_pcg7_b_c_a05
4053             if (p_pcg8_b_c_a05 .ge. p1st) lptr_pcg8_b_c_aer(05,itype,ai_phase)  = p_pcg8_b_c_a05
4054             if (p_pcg9_b_c_a05 .ge. p1st) lptr_pcg9_b_c_aer(05,itype,ai_phase)  = p_pcg9_b_c_a05
4055             if (p_pcg1_b_o_a05 .ge. p1st) lptr_pcg1_b_o_aer(05,itype,ai_phase) = p_pcg1_b_o_a05
4056             if (p_pcg2_b_o_a05 .ge. p1st) lptr_pcg2_b_o_aer(05,itype,ai_phase)  = p_pcg2_b_o_a05
4057             if (p_pcg3_b_o_a05 .ge. p1st) lptr_pcg3_b_o_aer(05,itype,ai_phase)  = p_pcg3_b_o_a05
4058             if (p_pcg4_b_o_a05 .ge. p1st) lptr_pcg4_b_o_aer(05,itype,ai_phase)  = p_pcg4_b_o_a05
4059             if (p_pcg5_b_o_a05 .ge. p1st) lptr_pcg5_b_o_aer(05,itype,ai_phase)  = p_pcg5_b_o_a05
4060             if (p_pcg6_b_o_a05 .ge. p1st) lptr_pcg6_b_o_aer(05,itype,ai_phase)  = p_pcg6_b_o_a05
4061             if (p_pcg7_b_o_a05 .ge. p1st) lptr_pcg7_b_o_aer(05,itype,ai_phase)  = p_pcg7_b_o_a05
4062             if (p_pcg8_b_o_a05 .ge. p1st) lptr_pcg8_b_o_aer(05,itype,ai_phase)  = p_pcg8_b_o_a05
4063             if (p_pcg9_b_o_a05 .ge. p1st) lptr_pcg9_b_o_aer(05,itype,ai_phase)  = p_pcg9_b_o_a05
4064             if (p_opcg1_b_c_a05 .ge. p1st) lptr_opcg1_b_c_aer(05,itype,ai_phase) = p_opcg1_b_c_a05
4065             if (p_opcg2_b_c_a05 .ge. p1st) lptr_opcg2_b_c_aer(05,itype,ai_phase)  = p_opcg2_b_c_a05
4066             if (p_opcg3_b_c_a05 .ge. p1st) lptr_opcg3_b_c_aer(05,itype,ai_phase)  = p_opcg3_b_c_a05
4067             if (p_opcg4_b_c_a05 .ge. p1st) lptr_opcg4_b_c_aer(05,itype,ai_phase)  = p_opcg4_b_c_a05
4068             if (p_opcg5_b_c_a05 .ge. p1st) lptr_opcg5_b_c_aer(05,itype,ai_phase)  = p_opcg5_b_c_a05
4069             if (p_opcg6_b_c_a05 .ge. p1st) lptr_opcg6_b_c_aer(05,itype,ai_phase)  = p_opcg6_b_c_a05
4070             if (p_opcg7_b_c_a05 .ge. p1st) lptr_opcg7_b_c_aer(05,itype,ai_phase)  = p_opcg7_b_c_a05
4071             if (p_opcg8_b_c_a05 .ge. p1st) lptr_opcg8_b_c_aer(05,itype,ai_phase)  = p_opcg8_b_c_a05
4072             if (p_opcg1_b_o_a05 .ge. p1st) lptr_opcg1_b_o_aer(05,itype,ai_phase) = p_opcg1_b_o_a05
4073             if (p_opcg2_b_o_a05 .ge. p1st) lptr_opcg2_b_o_aer(05,itype,ai_phase)  = p_opcg2_b_o_a05
4074             if (p_opcg3_b_o_a05 .ge. p1st) lptr_opcg3_b_o_aer(05,itype,ai_phase)  = p_opcg3_b_o_a05
4075             if (p_opcg4_b_o_a05 .ge. p1st) lptr_opcg4_b_o_aer(05,itype,ai_phase)  = p_opcg4_b_o_a05
4076             if (p_opcg5_b_o_a05 .ge. p1st) lptr_opcg5_b_o_aer(05,itype,ai_phase)  = p_opcg5_b_o_a05
4077             if (p_opcg6_b_o_a05 .ge. p1st) lptr_opcg6_b_o_aer(05,itype,ai_phase)  = p_opcg6_b_o_a05
4078             if (p_opcg7_b_o_a05 .ge. p1st) lptr_opcg7_b_o_aer(05,itype,ai_phase)  = p_opcg7_b_o_a05
4079             if (p_opcg8_b_o_a05 .ge. p1st) lptr_opcg8_b_o_aer(05,itype,ai_phase)  = p_opcg8_b_o_a05
4080             if (p_pcg1_f_c_a05 .ge. p1st) lptr_pcg1_f_c_aer(05,itype,ai_phase) = p_pcg1_f_c_a05
4081             if (p_pcg2_f_c_a05 .ge. p1st) lptr_pcg2_f_c_aer(05,itype,ai_phase)  = p_pcg2_f_c_a05
4082             if (p_pcg3_f_c_a05 .ge. p1st) lptr_pcg3_f_c_aer(05,itype,ai_phase)  = p_pcg3_f_c_a05
4083             if (p_pcg4_f_c_a05 .ge. p1st) lptr_pcg4_f_c_aer(05,itype,ai_phase)  = p_pcg4_f_c_a05
4084             if (p_pcg5_f_c_a05 .ge. p1st) lptr_pcg5_f_c_aer(05,itype,ai_phase)  = p_pcg5_f_c_a05
4085             if (p_pcg6_f_c_a05 .ge. p1st) lptr_pcg6_f_c_aer(05,itype,ai_phase)  = p_pcg6_f_c_a05
4086             if (p_pcg7_f_c_a05 .ge. p1st) lptr_pcg7_f_c_aer(05,itype,ai_phase)  = p_pcg7_f_c_a05
4087             if (p_pcg8_f_c_a05 .ge. p1st) lptr_pcg8_f_c_aer(05,itype,ai_phase)  = p_pcg8_f_c_a05
4088             if (p_pcg9_f_c_a05 .ge. p1st) lptr_pcg9_f_c_aer(05,itype,ai_phase)  = p_pcg9_f_c_a05
4089             if (p_pcg1_f_o_a05 .ge. p1st) lptr_pcg1_f_o_aer(05,itype,ai_phase) = p_pcg1_f_o_a05
4090             if (p_pcg2_f_o_a05 .ge. p1st) lptr_pcg2_f_o_aer(05,itype,ai_phase)  = p_pcg2_f_o_a05
4091             if (p_pcg3_f_o_a05 .ge. p1st) lptr_pcg3_f_o_aer(05,itype,ai_phase)  = p_pcg3_f_o_a05
4092             if (p_pcg4_f_o_a05 .ge. p1st) lptr_pcg4_f_o_aer(05,itype,ai_phase)  = p_pcg4_f_o_a05
4093             if (p_pcg5_f_o_a05 .ge. p1st) lptr_pcg5_f_o_aer(05,itype,ai_phase)  = p_pcg5_f_o_a05
4094             if (p_pcg6_f_o_a05 .ge. p1st) lptr_pcg6_f_o_aer(05,itype,ai_phase)  = p_pcg6_f_o_a05
4095             if (p_pcg7_f_o_a05 .ge. p1st) lptr_pcg7_f_o_aer(05,itype,ai_phase)  = p_pcg7_f_o_a05
4096             if (p_pcg8_f_o_a05 .ge. p1st) lptr_pcg8_f_o_aer(05,itype,ai_phase)  = p_pcg8_f_o_a05
4097             if (p_pcg9_f_o_a05 .ge. p1st) lptr_pcg9_f_o_aer(05,itype,ai_phase)  = p_pcg9_f_o_a05
4098             if (p_opcg1_f_c_a05 .ge. p1st) lptr_opcg1_f_c_aer(05,itype,ai_phase) = p_opcg1_f_c_a05
4099             if (p_opcg2_f_c_a05 .ge. p1st) lptr_opcg2_f_c_aer(05,itype,ai_phase)  = p_opcg2_f_c_a05
4100             if (p_opcg3_f_c_a05 .ge. p1st) lptr_opcg3_f_c_aer(05,itype,ai_phase)  = p_opcg3_f_c_a05
4101             if (p_opcg4_f_c_a05 .ge. p1st) lptr_opcg4_f_c_aer(05,itype,ai_phase)  = p_opcg4_f_c_a05
4102             if (p_opcg5_f_c_a05 .ge. p1st) lptr_opcg5_f_c_aer(05,itype,ai_phase)  = p_opcg5_f_c_a05
4103             if (p_opcg6_f_c_a05 .ge. p1st) lptr_opcg6_f_c_aer(05,itype,ai_phase)  = p_opcg6_f_c_a05
4104             if (p_opcg7_f_c_a05 .ge. p1st) lptr_opcg7_f_c_aer(05,itype,ai_phase)  = p_opcg7_f_c_a05
4105             if (p_opcg8_f_c_a05 .ge. p1st) lptr_opcg8_f_c_aer(05,itype,ai_phase)  = p_opcg8_f_c_a05
4106             if (p_opcg1_f_o_a05 .ge. p1st) lptr_opcg1_f_o_aer(05,itype,ai_phase) = p_opcg1_f_o_a05
4107             if (p_opcg2_f_o_a05 .ge. p1st) lptr_opcg2_f_o_aer(05,itype,ai_phase)  = p_opcg2_f_o_a05
4108             if (p_opcg3_f_o_a05 .ge. p1st) lptr_opcg3_f_o_aer(05,itype,ai_phase)  = p_opcg3_f_o_a05
4109             if (p_opcg4_f_o_a05 .ge. p1st) lptr_opcg4_f_o_aer(05,itype,ai_phase)  = p_opcg4_f_o_a05
4110             if (p_opcg5_f_o_a05 .ge. p1st) lptr_opcg5_f_o_aer(05,itype,ai_phase)  = p_opcg5_f_o_a05
4111             if (p_opcg6_f_o_a05 .ge. p1st) lptr_opcg6_f_o_aer(05,itype,ai_phase)  = p_opcg6_f_o_a05
4112             if (p_opcg7_f_o_a05 .ge. p1st) lptr_opcg7_f_o_aer(05,itype,ai_phase)  = p_opcg7_f_o_a05
4113             if (p_opcg8_f_o_a05 .ge. p1st) lptr_opcg8_f_o_aer(05,itype,ai_phase)  = p_opcg8_f_o_a05
4114             if (p_ant1_c_a05 .ge. p1st) lptr_ant1_c_aer(05,itype,ai_phase)  = p_ant1_c_a05
4115             if (p_ant2_c_a05 .ge. p1st) lptr_ant2_c_aer(05,itype,ai_phase)  = p_ant2_c_a05
4116             if (p_ant3_c_a05 .ge. p1st) lptr_ant3_c_aer(05,itype,ai_phase)  = p_ant3_c_a05
4117             if (p_ant4_c_a05 .ge. p1st) lptr_ant4_c_aer(05,itype,ai_phase)  = p_ant4_c_a05
4118             if (p_biog1_c_a05 .ge. p1st) lptr_biog1_c_aer(05,itype,ai_phase)  = p_biog1_c_a05
4119             if (p_biog2_c_a05 .ge. p1st) lptr_biog2_c_aer(05,itype,ai_phase)  = p_biog2_c_a05
4120             if (p_biog3_c_a05 .ge. p1st) lptr_biog3_c_aer(05,itype,ai_phase)  = p_biog3_c_a05
4121             if (p_biog4_c_a05 .ge. p1st) lptr_biog4_c_aer(05,itype,ai_phase)  = p_biog4_c_a05
4122             if (p_ant1_o_a05 .ge. p1st) lptr_ant1_o_aer(05,itype,ai_phase)  = p_ant1_o_a05
4123             if (p_ant2_o_a05 .ge. p1st) lptr_ant2_o_aer(05,itype,ai_phase)  = p_ant2_o_a05
4124             if (p_ant3_o_a05 .ge. p1st) lptr_ant3_o_aer(05,itype,ai_phase)  = p_ant3_o_a05
4125             if (p_ant4_o_a05 .ge. p1st) lptr_ant4_o_aer(05,itype,ai_phase)  = p_ant4_o_a05
4126             if (p_biog1_o_a05 .ge. p1st) lptr_biog1_o_aer(05,itype,ai_phase)  = p_biog1_o_a05
4127             if (p_biog2_o_a05 .ge. p1st) lptr_biog2_o_aer(05,itype,ai_phase)  = p_biog2_o_a05
4128             if (p_biog3_o_a05 .ge. p1st) lptr_biog3_o_aer(05,itype,ai_phase)  = p_biog3_o_a05
4129             if (p_biog4_o_a05 .ge. p1st) lptr_biog4_o_aer(05,itype,ai_phase)  = p_biog4_o_a05
4131             numptr_aer(05,itype,ai_phase)        = p_num_a05
4132         end if
4134         if (nsize_aer(itype) .ge. 6) then
4135             lptr_so4_aer(06,itype,ai_phase)      = p_so4_a06
4136             lptr_no3_aer(06,itype,ai_phase)      = p_no3_a06
4137             lptr_cl_aer(06,itype,ai_phase)       = p_cl_a06
4138             lptr_msa_aer(06,itype,ai_phase)      = p_msa_a06
4139             lptr_co3_aer(06,itype,ai_phase)      = p_co3_a06
4140             lptr_nh4_aer(06,itype,ai_phase)      = p_nh4_a06
4141             lptr_na_aer(06,itype,ai_phase)       = p_na_a06
4142             lptr_ca_aer(06,itype,ai_phase)       = p_ca_a06
4143             lptr_oin_aer(06,itype,ai_phase)      = p_oin_a06
4144             lptr_oc_aer(06,itype,ai_phase)       = p_oc_a06
4145             lptr_bc_aer(06,itype,ai_phase)       = p_bc_a06
4146             hyswptr_aer(06,itype)                = p_hysw_a06
4147             waterptr_aer(06,itype)               = p_water_a06
4149             if (p_pcg1_b_c_a06 .ge. p1st) lptr_pcg1_b_c_aer(06,itype,ai_phase) = p_pcg1_b_c_a06
4150             if (p_pcg2_b_c_a06 .ge. p1st) lptr_pcg2_b_c_aer(06,itype,ai_phase)  = p_pcg2_b_c_a06
4151             if (p_pcg3_b_c_a06 .ge. p1st) lptr_pcg3_b_c_aer(06,itype,ai_phase)  = p_pcg3_b_c_a06
4152             if (p_pcg4_b_c_a06 .ge. p1st) lptr_pcg4_b_c_aer(06,itype,ai_phase)  = p_pcg4_b_c_a06
4153             if (p_pcg5_b_c_a06 .ge. p1st) lptr_pcg5_b_c_aer(06,itype,ai_phase)  = p_pcg5_b_c_a06
4154             if (p_pcg6_b_c_a06 .ge. p1st) lptr_pcg6_b_c_aer(06,itype,ai_phase)  = p_pcg6_b_c_a06
4155             if (p_pcg7_b_c_a06 .ge. p1st) lptr_pcg7_b_c_aer(06,itype,ai_phase)  = p_pcg7_b_c_a06
4156             if (p_pcg8_b_c_a06 .ge. p1st) lptr_pcg8_b_c_aer(06,itype,ai_phase)  = p_pcg8_b_c_a06
4157             if (p_pcg9_b_c_a06 .ge. p1st) lptr_pcg9_b_c_aer(06,itype,ai_phase)  = p_pcg9_b_c_a06
4158             if (p_pcg1_b_o_a06 .ge. p1st) lptr_pcg1_b_o_aer(06,itype,ai_phase) = p_pcg1_b_o_a06
4159             if (p_pcg2_b_o_a06 .ge. p1st) lptr_pcg2_b_o_aer(06,itype,ai_phase)  = p_pcg2_b_o_a06
4160             if (p_pcg3_b_o_a06 .ge. p1st) lptr_pcg3_b_o_aer(06,itype,ai_phase)  = p_pcg3_b_o_a06
4161             if (p_pcg4_b_o_a06 .ge. p1st) lptr_pcg4_b_o_aer(06,itype,ai_phase)  = p_pcg4_b_o_a06
4162             if (p_pcg5_b_o_a06 .ge. p1st) lptr_pcg5_b_o_aer(06,itype,ai_phase)  = p_pcg5_b_o_a06
4163             if (p_pcg6_b_o_a06 .ge. p1st) lptr_pcg6_b_o_aer(06,itype,ai_phase)  = p_pcg6_b_o_a06
4164             if (p_pcg7_b_o_a06 .ge. p1st) lptr_pcg7_b_o_aer(06,itype,ai_phase)  = p_pcg7_b_o_a06
4165             if (p_pcg8_b_o_a06 .ge. p1st) lptr_pcg8_b_o_aer(06,itype,ai_phase)  = p_pcg8_b_o_a06
4166             if (p_pcg9_b_o_a06 .ge. p1st) lptr_pcg9_b_o_aer(06,itype,ai_phase)  = p_pcg9_b_o_a06
4167             if (p_opcg1_b_c_a06 .ge. p1st) lptr_opcg1_b_c_aer(06,itype,ai_phase) = p_opcg1_b_c_a06
4168             if (p_opcg2_b_c_a06 .ge. p1st) lptr_opcg2_b_c_aer(06,itype,ai_phase)  = p_opcg2_b_c_a06
4169             if (p_opcg3_b_c_a06 .ge. p1st) lptr_opcg3_b_c_aer(06,itype,ai_phase)  = p_opcg3_b_c_a06
4170             if (p_opcg4_b_c_a06 .ge. p1st) lptr_opcg4_b_c_aer(06,itype,ai_phase)  = p_opcg4_b_c_a06
4171             if (p_opcg5_b_c_a06 .ge. p1st) lptr_opcg5_b_c_aer(06,itype,ai_phase)  = p_opcg5_b_c_a06
4172             if (p_opcg6_b_c_a06 .ge. p1st) lptr_opcg6_b_c_aer(06,itype,ai_phase)  = p_opcg6_b_c_a06
4173             if (p_opcg7_b_c_a06 .ge. p1st) lptr_opcg7_b_c_aer(06,itype,ai_phase)  = p_opcg7_b_c_a06
4174             if (p_opcg8_b_c_a06 .ge. p1st) lptr_opcg8_b_c_aer(06,itype,ai_phase)  = p_opcg8_b_c_a06
4175             if (p_opcg1_b_o_a06 .ge. p1st) lptr_opcg1_b_o_aer(06,itype,ai_phase) = p_opcg1_b_o_a06
4176             if (p_opcg2_b_o_a06 .ge. p1st) lptr_opcg2_b_o_aer(06,itype,ai_phase)  = p_opcg2_b_o_a06
4177             if (p_opcg3_b_o_a06 .ge. p1st) lptr_opcg3_b_o_aer(06,itype,ai_phase)  = p_opcg3_b_o_a06
4178             if (p_opcg4_b_o_a06 .ge. p1st) lptr_opcg4_b_o_aer(06,itype,ai_phase)  = p_opcg4_b_o_a06
4179             if (p_opcg5_b_o_a06 .ge. p1st) lptr_opcg5_b_o_aer(06,itype,ai_phase)  = p_opcg5_b_o_a06
4180             if (p_opcg6_b_o_a06 .ge. p1st) lptr_opcg6_b_o_aer(06,itype,ai_phase)  = p_opcg6_b_o_a06
4181             if (p_opcg7_b_o_a06 .ge. p1st) lptr_opcg7_b_o_aer(06,itype,ai_phase)  = p_opcg7_b_o_a06
4182             if (p_opcg8_b_o_a06 .ge. p1st) lptr_opcg8_b_o_aer(06,itype,ai_phase)  = p_opcg8_b_o_a06
4183             if (p_pcg1_f_c_a06 .ge. p1st) lptr_pcg1_f_c_aer(06,itype,ai_phase) = p_pcg1_f_c_a06
4184             if (p_pcg2_f_c_a06 .ge. p1st) lptr_pcg2_f_c_aer(06,itype,ai_phase)  = p_pcg2_f_c_a06
4185             if (p_pcg3_f_c_a06 .ge. p1st) lptr_pcg3_f_c_aer(06,itype,ai_phase)  = p_pcg3_f_c_a06
4186             if (p_pcg4_f_c_a06 .ge. p1st) lptr_pcg4_f_c_aer(06,itype,ai_phase)  = p_pcg4_f_c_a06
4187             if (p_pcg5_f_c_a06 .ge. p1st) lptr_pcg5_f_c_aer(06,itype,ai_phase)  = p_pcg5_f_c_a06
4188             if (p_pcg6_f_c_a06 .ge. p1st) lptr_pcg6_f_c_aer(06,itype,ai_phase)  = p_pcg6_f_c_a06
4189             if (p_pcg7_f_c_a06 .ge. p1st) lptr_pcg7_f_c_aer(06,itype,ai_phase)  = p_pcg7_f_c_a06
4190             if (p_pcg8_f_c_a06 .ge. p1st) lptr_pcg8_f_c_aer(06,itype,ai_phase)  = p_pcg8_f_c_a06
4191             if (p_pcg9_f_c_a06 .ge. p1st) lptr_pcg9_f_c_aer(06,itype,ai_phase)  = p_pcg9_f_c_a06
4192             if (p_pcg1_f_o_a06 .ge. p1st) lptr_pcg1_f_o_aer(06,itype,ai_phase) = p_pcg1_f_o_a06
4193             if (p_pcg2_f_o_a06 .ge. p1st) lptr_pcg2_f_o_aer(06,itype,ai_phase)  = p_pcg2_f_o_a06
4194             if (p_pcg3_f_o_a06 .ge. p1st) lptr_pcg3_f_o_aer(06,itype,ai_phase)  = p_pcg3_f_o_a06
4195             if (p_pcg4_f_o_a06 .ge. p1st) lptr_pcg4_f_o_aer(06,itype,ai_phase)  = p_pcg4_f_o_a06
4196             if (p_pcg5_f_o_a06 .ge. p1st) lptr_pcg5_f_o_aer(06,itype,ai_phase)  = p_pcg5_f_o_a06
4197             if (p_pcg6_f_o_a06 .ge. p1st) lptr_pcg6_f_o_aer(06,itype,ai_phase)  = p_pcg6_f_o_a06
4198             if (p_pcg7_f_o_a06 .ge. p1st) lptr_pcg7_f_o_aer(06,itype,ai_phase)  = p_pcg7_f_o_a06
4199             if (p_pcg8_f_o_a06 .ge. p1st) lptr_pcg8_f_o_aer(06,itype,ai_phase)  = p_pcg8_f_o_a06
4200             if (p_pcg9_f_o_a06 .ge. p1st) lptr_pcg9_f_o_aer(06,itype,ai_phase)  = p_pcg9_f_o_a06
4201             if (p_opcg1_f_c_a06 .ge. p1st) lptr_opcg1_f_c_aer(06,itype,ai_phase) = p_opcg1_f_c_a06
4202             if (p_opcg2_f_c_a06 .ge. p1st) lptr_opcg2_f_c_aer(06,itype,ai_phase)  = p_opcg2_f_c_a06
4203             if (p_opcg3_f_c_a06 .ge. p1st) lptr_opcg3_f_c_aer(06,itype,ai_phase)  = p_opcg3_f_c_a06
4204             if (p_opcg4_f_c_a06 .ge. p1st) lptr_opcg4_f_c_aer(06,itype,ai_phase)  = p_opcg4_f_c_a06
4205             if (p_opcg5_f_c_a06 .ge. p1st) lptr_opcg5_f_c_aer(06,itype,ai_phase)  = p_opcg5_f_c_a06
4206             if (p_opcg6_f_c_a06 .ge. p1st) lptr_opcg6_f_c_aer(06,itype,ai_phase)  = p_opcg6_f_c_a06
4207             if (p_opcg7_f_c_a06 .ge. p1st) lptr_opcg7_f_c_aer(06,itype,ai_phase)  = p_opcg7_f_c_a06
4208             if (p_opcg8_f_c_a06 .ge. p1st) lptr_opcg8_f_c_aer(06,itype,ai_phase)  = p_opcg8_f_c_a06
4209             if (p_opcg1_f_o_a06 .ge. p1st) lptr_opcg1_f_o_aer(06,itype,ai_phase) = p_opcg1_f_o_a06
4210             if (p_opcg2_f_o_a06 .ge. p1st) lptr_opcg2_f_o_aer(06,itype,ai_phase)  = p_opcg2_f_o_a06
4211             if (p_opcg3_f_o_a06 .ge. p1st) lptr_opcg3_f_o_aer(06,itype,ai_phase)  = p_opcg3_f_o_a06
4212             if (p_opcg4_f_o_a06 .ge. p1st) lptr_opcg4_f_o_aer(06,itype,ai_phase)  = p_opcg4_f_o_a06
4213             if (p_opcg5_f_o_a06 .ge. p1st) lptr_opcg5_f_o_aer(06,itype,ai_phase)  = p_opcg5_f_o_a06
4214             if (p_opcg6_f_o_a06 .ge. p1st) lptr_opcg6_f_o_aer(06,itype,ai_phase)  = p_opcg6_f_o_a06
4215             if (p_opcg7_f_o_a06 .ge. p1st) lptr_opcg7_f_o_aer(06,itype,ai_phase)  = p_opcg7_f_o_a06
4216             if (p_opcg8_f_o_a06 .ge. p1st) lptr_opcg8_f_o_aer(06,itype,ai_phase)  = p_opcg8_f_o_a06
4217             if (p_ant1_c_a06 .ge. p1st) lptr_ant1_c_aer(06,itype,ai_phase)  = p_ant1_c_a06
4218             if (p_ant2_c_a06 .ge. p1st) lptr_ant2_c_aer(06,itype,ai_phase)  = p_ant2_c_a06
4219             if (p_ant3_c_a06 .ge. p1st) lptr_ant3_c_aer(06,itype,ai_phase)  = p_ant3_c_a06
4220             if (p_ant4_c_a06 .ge. p1st) lptr_ant4_c_aer(06,itype,ai_phase)  = p_ant4_c_a06
4221             if (p_biog1_c_a06 .ge. p1st) lptr_biog1_c_aer(06,itype,ai_phase)  = p_biog1_c_a06
4222             if (p_biog2_c_a06 .ge. p1st) lptr_biog2_c_aer(06,itype,ai_phase)  = p_biog2_c_a06
4223             if (p_biog3_c_a06 .ge. p1st) lptr_biog3_c_aer(06,itype,ai_phase)  = p_biog3_c_a06
4224             if (p_biog4_c_a06 .ge. p1st) lptr_biog4_c_aer(06,itype,ai_phase)  = p_biog4_c_a06
4225             if (p_ant1_o_a06 .ge. p1st) lptr_ant1_o_aer(06,itype,ai_phase)  = p_ant1_o_a06
4226             if (p_ant2_o_a06 .ge. p1st) lptr_ant2_o_aer(06,itype,ai_phase)  = p_ant2_o_a06
4227             if (p_ant3_o_a06 .ge. p1st) lptr_ant3_o_aer(06,itype,ai_phase)  = p_ant3_o_a06
4228             if (p_ant4_o_a06 .ge. p1st) lptr_ant4_o_aer(06,itype,ai_phase)  = p_ant4_o_a06
4229             if (p_biog1_o_a06 .ge. p1st) lptr_biog1_o_aer(06,itype,ai_phase)  = p_biog1_o_a06
4230             if (p_biog2_o_a06 .ge. p1st) lptr_biog2_o_aer(06,itype,ai_phase)  = p_biog2_o_a06
4231             if (p_biog3_o_a06 .ge. p1st) lptr_biog3_o_aer(06,itype,ai_phase)  = p_biog3_o_a06
4232             if (p_biog4_o_a06 .ge. p1st) lptr_biog4_o_aer(06,itype,ai_phase)  = p_biog4_o_a06
4234             numptr_aer(06,itype,ai_phase)        = p_num_a06
4235         end if
4237         if (nsize_aer(itype) .ge. 7) then
4238             lptr_so4_aer(07,itype,ai_phase)      = p_so4_a07
4239             lptr_no3_aer(07,itype,ai_phase)      = p_no3_a07
4240             lptr_cl_aer(07,itype,ai_phase)       = p_cl_a07
4241             lptr_msa_aer(07,itype,ai_phase)      = p_msa_a07
4242             lptr_co3_aer(07,itype,ai_phase)      = p_co3_a07
4243             lptr_nh4_aer(07,itype,ai_phase)      = p_nh4_a07
4244             lptr_na_aer(07,itype,ai_phase)       = p_na_a07
4245             lptr_ca_aer(07,itype,ai_phase)       = p_ca_a07
4246             lptr_oin_aer(07,itype,ai_phase)      = p_oin_a07
4247             lptr_oc_aer(07,itype,ai_phase)       = p_oc_a07
4248             lptr_bc_aer(07,itype,ai_phase)       = p_bc_a07
4249             hyswptr_aer(07,itype)                = p_hysw_a07
4250             waterptr_aer(07,itype)               = p_water_a07
4252             if (p_pcg1_b_c_a07 .ge. p1st) lptr_pcg1_b_c_aer(07,itype,ai_phase) = p_pcg1_b_c_a07
4253             if (p_pcg2_b_c_a07 .ge. p1st) lptr_pcg2_b_c_aer(07,itype,ai_phase)  = p_pcg2_b_c_a07
4254             if (p_pcg3_b_c_a07 .ge. p1st) lptr_pcg3_b_c_aer(07,itype,ai_phase)  = p_pcg3_b_c_a07
4255             if (p_pcg4_b_c_a07 .ge. p1st) lptr_pcg4_b_c_aer(07,itype,ai_phase)  = p_pcg4_b_c_a07
4256             if (p_pcg5_b_c_a07 .ge. p1st) lptr_pcg5_b_c_aer(07,itype,ai_phase)  = p_pcg5_b_c_a07
4257             if (p_pcg6_b_c_a07 .ge. p1st) lptr_pcg6_b_c_aer(07,itype,ai_phase)  = p_pcg6_b_c_a07
4258             if (p_pcg7_b_c_a07 .ge. p1st) lptr_pcg7_b_c_aer(07,itype,ai_phase)  = p_pcg7_b_c_a07
4259             if (p_pcg8_b_c_a07 .ge. p1st) lptr_pcg8_b_c_aer(07,itype,ai_phase)  = p_pcg8_b_c_a07
4260             if (p_pcg9_b_c_a07 .ge. p1st) lptr_pcg9_b_c_aer(07,itype,ai_phase)  = p_pcg9_b_c_a07
4261             if (p_pcg1_b_o_a07 .ge. p1st) lptr_pcg1_b_o_aer(07,itype,ai_phase) = p_pcg1_b_o_a07
4262             if (p_pcg2_b_o_a07 .ge. p1st) lptr_pcg2_b_o_aer(07,itype,ai_phase)  = p_pcg2_b_o_a07
4263             if (p_pcg3_b_o_a07 .ge. p1st) lptr_pcg3_b_o_aer(07,itype,ai_phase)  = p_pcg3_b_o_a07
4264             if (p_pcg4_b_o_a07 .ge. p1st) lptr_pcg4_b_o_aer(07,itype,ai_phase)  = p_pcg4_b_o_a07
4265             if (p_pcg5_b_o_a07 .ge. p1st) lptr_pcg5_b_o_aer(07,itype,ai_phase)  = p_pcg5_b_o_a07
4266             if (p_pcg6_b_o_a07 .ge. p1st) lptr_pcg6_b_o_aer(07,itype,ai_phase)  = p_pcg6_b_o_a07
4267             if (p_pcg7_b_o_a07 .ge. p1st) lptr_pcg7_b_o_aer(07,itype,ai_phase)  = p_pcg7_b_o_a07
4268             if (p_pcg8_b_o_a07 .ge. p1st) lptr_pcg8_b_o_aer(07,itype,ai_phase)  = p_pcg8_b_o_a07
4269             if (p_pcg9_b_o_a07 .ge. p1st) lptr_pcg9_b_o_aer(07,itype,ai_phase)  = p_pcg9_b_o_a07
4270             if (p_opcg1_b_c_a07 .ge. p1st) lptr_opcg1_b_c_aer(07,itype,ai_phase) = p_opcg1_b_c_a07
4271             if (p_opcg2_b_c_a07 .ge. p1st) lptr_opcg2_b_c_aer(07,itype,ai_phase)  = p_opcg2_b_c_a07
4272             if (p_opcg3_b_c_a07 .ge. p1st) lptr_opcg3_b_c_aer(07,itype,ai_phase)  = p_opcg3_b_c_a07
4273             if (p_opcg4_b_c_a07 .ge. p1st) lptr_opcg4_b_c_aer(07,itype,ai_phase)  = p_opcg4_b_c_a07
4274             if (p_opcg5_b_c_a07 .ge. p1st) lptr_opcg5_b_c_aer(07,itype,ai_phase)  = p_opcg5_b_c_a07
4275             if (p_opcg6_b_c_a07 .ge. p1st) lptr_opcg6_b_c_aer(07,itype,ai_phase)  = p_opcg6_b_c_a07
4276             if (p_opcg7_b_c_a07 .ge. p1st) lptr_opcg7_b_c_aer(07,itype,ai_phase)  = p_opcg7_b_c_a07
4277             if (p_opcg8_b_c_a07 .ge. p1st) lptr_opcg8_b_c_aer(07,itype,ai_phase)  = p_opcg8_b_c_a07
4278             if (p_opcg1_b_o_a07 .ge. p1st) lptr_opcg1_b_o_aer(07,itype,ai_phase) = p_opcg1_b_o_a07
4279             if (p_opcg2_b_o_a07 .ge. p1st) lptr_opcg2_b_o_aer(07,itype,ai_phase)  = p_opcg2_b_o_a07
4280             if (p_opcg3_b_o_a07 .ge. p1st) lptr_opcg3_b_o_aer(07,itype,ai_phase)  = p_opcg3_b_o_a07
4281             if (p_opcg4_b_o_a07 .ge. p1st) lptr_opcg4_b_o_aer(07,itype,ai_phase)  = p_opcg4_b_o_a07
4282             if (p_opcg5_b_o_a07 .ge. p1st) lptr_opcg5_b_o_aer(07,itype,ai_phase)  = p_opcg5_b_o_a07
4283             if (p_opcg6_b_o_a07 .ge. p1st) lptr_opcg6_b_o_aer(07,itype,ai_phase)  = p_opcg6_b_o_a07
4284             if (p_opcg7_b_o_a07 .ge. p1st) lptr_opcg7_b_o_aer(07,itype,ai_phase)  = p_opcg7_b_o_a07
4285             if (p_opcg8_b_o_a07 .ge. p1st) lptr_opcg8_b_o_aer(07,itype,ai_phase)  = p_opcg8_b_o_a07
4286             if (p_pcg1_f_c_a07 .ge. p1st) lptr_pcg1_f_c_aer(07,itype,ai_phase) = p_pcg1_f_c_a07
4287             if (p_pcg2_f_c_a07 .ge. p1st) lptr_pcg2_f_c_aer(07,itype,ai_phase)  = p_pcg2_f_c_a07
4288             if (p_pcg3_f_c_a07 .ge. p1st) lptr_pcg3_f_c_aer(07,itype,ai_phase)  = p_pcg3_f_c_a07
4289             if (p_pcg4_f_c_a07 .ge. p1st) lptr_pcg4_f_c_aer(07,itype,ai_phase)  = p_pcg4_f_c_a07
4290             if (p_pcg5_f_c_a07 .ge. p1st) lptr_pcg5_f_c_aer(07,itype,ai_phase)  = p_pcg5_f_c_a07
4291             if (p_pcg6_f_c_a07 .ge. p1st) lptr_pcg6_f_c_aer(07,itype,ai_phase)  = p_pcg6_f_c_a07
4292             if (p_pcg7_f_c_a07 .ge. p1st) lptr_pcg7_f_c_aer(07,itype,ai_phase)  = p_pcg7_f_c_a07
4293             if (p_pcg8_f_c_a07 .ge. p1st) lptr_pcg8_f_c_aer(07,itype,ai_phase)  = p_pcg8_f_c_a07
4294             if (p_pcg9_f_c_a07 .ge. p1st) lptr_pcg9_f_c_aer(07,itype,ai_phase)  = p_pcg9_f_c_a07
4295             if (p_pcg1_f_o_a07 .ge. p1st) lptr_pcg1_f_o_aer(07,itype,ai_phase) = p_pcg1_f_o_a07
4296             if (p_pcg2_f_o_a07 .ge. p1st) lptr_pcg2_f_o_aer(07,itype,ai_phase)  = p_pcg2_f_o_a07
4297             if (p_pcg3_f_o_a07 .ge. p1st) lptr_pcg3_f_o_aer(07,itype,ai_phase)  = p_pcg3_f_o_a07
4298             if (p_pcg4_f_o_a07 .ge. p1st) lptr_pcg4_f_o_aer(07,itype,ai_phase)  = p_pcg4_f_o_a07
4299             if (p_pcg5_f_o_a07 .ge. p1st) lptr_pcg5_f_o_aer(07,itype,ai_phase)  = p_pcg5_f_o_a07
4300             if (p_pcg6_f_o_a07 .ge. p1st) lptr_pcg6_f_o_aer(07,itype,ai_phase)  = p_pcg6_f_o_a07
4301             if (p_pcg7_f_o_a07 .ge. p1st) lptr_pcg7_f_o_aer(07,itype,ai_phase)  = p_pcg7_f_o_a07
4302             if (p_pcg8_f_o_a07 .ge. p1st) lptr_pcg8_f_o_aer(07,itype,ai_phase)  = p_pcg8_f_o_a07
4303             if (p_pcg9_f_o_a07 .ge. p1st) lptr_pcg9_f_o_aer(07,itype,ai_phase)  = p_pcg9_f_o_a07
4304             if (p_opcg1_f_c_a07 .ge. p1st) lptr_opcg1_f_c_aer(07,itype,ai_phase) = p_opcg1_f_c_a07
4305             if (p_opcg2_f_c_a07 .ge. p1st) lptr_opcg2_f_c_aer(07,itype,ai_phase)  = p_opcg2_f_c_a07
4306             if (p_opcg3_f_c_a07 .ge. p1st) lptr_opcg3_f_c_aer(07,itype,ai_phase)  = p_opcg3_f_c_a07
4307             if (p_opcg4_f_c_a07 .ge. p1st) lptr_opcg4_f_c_aer(07,itype,ai_phase)  = p_opcg4_f_c_a07
4308             if (p_opcg5_f_c_a07 .ge. p1st) lptr_opcg5_f_c_aer(07,itype,ai_phase)  = p_opcg5_f_c_a07
4309             if (p_opcg6_f_c_a07 .ge. p1st) lptr_opcg6_f_c_aer(07,itype,ai_phase)  = p_opcg6_f_c_a07
4310             if (p_opcg7_f_c_a07 .ge. p1st) lptr_opcg7_f_c_aer(07,itype,ai_phase)  = p_opcg7_f_c_a07
4311             if (p_opcg8_f_c_a07 .ge. p1st) lptr_opcg8_f_c_aer(07,itype,ai_phase)  = p_opcg8_f_c_a07
4312             if (p_opcg1_f_o_a07 .ge. p1st) lptr_opcg1_f_o_aer(07,itype,ai_phase) = p_opcg1_f_o_a07
4313             if (p_opcg2_f_o_a07 .ge. p1st) lptr_opcg2_f_o_aer(07,itype,ai_phase)  = p_opcg2_f_o_a07
4314             if (p_opcg3_f_o_a07 .ge. p1st) lptr_opcg3_f_o_aer(07,itype,ai_phase)  = p_opcg3_f_o_a07
4315             if (p_opcg4_f_o_a07 .ge. p1st) lptr_opcg4_f_o_aer(07,itype,ai_phase)  = p_opcg4_f_o_a07
4316             if (p_opcg5_f_o_a07 .ge. p1st) lptr_opcg5_f_o_aer(07,itype,ai_phase)  = p_opcg5_f_o_a07
4317             if (p_opcg6_f_o_a07 .ge. p1st) lptr_opcg6_f_o_aer(07,itype,ai_phase)  = p_opcg6_f_o_a07
4318             if (p_opcg7_f_o_a07 .ge. p1st) lptr_opcg7_f_o_aer(07,itype,ai_phase)  = p_opcg7_f_o_a07
4319             if (p_opcg8_f_o_a07 .ge. p1st) lptr_opcg8_f_o_aer(07,itype,ai_phase)  = p_opcg8_f_o_a07
4320             if (p_ant1_c_a07 .ge. p1st) lptr_ant1_c_aer(07,itype,ai_phase)  = p_ant1_c_a07
4321             if (p_ant2_c_a07 .ge. p1st) lptr_ant2_c_aer(07,itype,ai_phase)  = p_ant2_c_a07
4322             if (p_ant3_c_a07 .ge. p1st) lptr_ant3_c_aer(07,itype,ai_phase)  = p_ant3_c_a07
4323             if (p_ant4_c_a07 .ge. p1st) lptr_ant4_c_aer(07,itype,ai_phase)  = p_ant4_c_a07
4324             if (p_biog1_c_a07 .ge. p1st) lptr_biog1_c_aer(07,itype,ai_phase)  = p_biog1_c_a07
4325             if (p_biog2_c_a07 .ge. p1st) lptr_biog2_c_aer(07,itype,ai_phase)  = p_biog2_c_a07
4326             if (p_biog3_c_a07 .ge. p1st) lptr_biog3_c_aer(07,itype,ai_phase)  = p_biog3_c_a07
4327             if (p_biog4_c_a07 .ge. p1st) lptr_biog4_c_aer(07,itype,ai_phase)  = p_biog4_c_a07
4328             if (p_ant1_o_a07 .ge. p1st) lptr_ant1_o_aer(07,itype,ai_phase)  = p_ant1_o_a07
4329             if (p_ant2_o_a07 .ge. p1st) lptr_ant2_o_aer(07,itype,ai_phase)  = p_ant2_o_a07
4330             if (p_ant3_o_a07 .ge. p1st) lptr_ant3_o_aer(07,itype,ai_phase)  = p_ant3_o_a07
4331             if (p_ant4_o_a07 .ge. p1st) lptr_ant4_o_aer(07,itype,ai_phase)  = p_ant4_o_a07
4332             if (p_biog1_o_a07 .ge. p1st) lptr_biog1_o_aer(07,itype,ai_phase)  = p_biog1_o_a07
4333             if (p_biog2_o_a07 .ge. p1st) lptr_biog2_o_aer(07,itype,ai_phase)  = p_biog2_o_a07
4334             if (p_biog3_o_a07 .ge. p1st) lptr_biog3_o_aer(07,itype,ai_phase)  = p_biog3_o_a07
4335             if (p_biog4_o_a07 .ge. p1st) lptr_biog4_o_aer(07,itype,ai_phase)  = p_biog4_o_a07
4337             numptr_aer(07,itype,ai_phase)        = p_num_a07
4338          end if
4340         if (nsize_aer(itype) .ge. 8) then
4341             lptr_so4_aer(08,itype,ai_phase)      = p_so4_a08
4342             lptr_no3_aer(08,itype,ai_phase)      = p_no3_a08
4343             lptr_cl_aer(08,itype,ai_phase)       = p_cl_a08
4344             lptr_msa_aer(08,itype,ai_phase)      = p_msa_a08
4345             lptr_co3_aer(08,itype,ai_phase)      = p_co3_a08
4346             lptr_nh4_aer(08,itype,ai_phase)      = p_nh4_a08
4347             lptr_na_aer(08,itype,ai_phase)       = p_na_a08
4348             lptr_ca_aer(08,itype,ai_phase)       = p_ca_a08
4349             lptr_oin_aer(08,itype,ai_phase)      = p_oin_a08
4350             lptr_oc_aer(08,itype,ai_phase)       = p_oc_a08
4351             lptr_bc_aer(08,itype,ai_phase)       = p_bc_a08
4352             hyswptr_aer(08,itype)                = p_hysw_a08
4353             waterptr_aer(08,itype)               = p_water_a08
4355             if (p_pcg1_b_c_a08 .ge. p1st) lptr_pcg1_b_c_aer(08,itype,ai_phase) = p_pcg1_b_c_a08
4356             if (p_pcg2_b_c_a08 .ge. p1st) lptr_pcg2_b_c_aer(08,itype,ai_phase)  = p_pcg2_b_c_a08
4357             if (p_pcg3_b_c_a08 .ge. p1st) lptr_pcg3_b_c_aer(08,itype,ai_phase)  = p_pcg3_b_c_a08
4358             if (p_pcg4_b_c_a08 .ge. p1st) lptr_pcg4_b_c_aer(08,itype,ai_phase)  = p_pcg4_b_c_a08
4359             if (p_pcg5_b_c_a08 .ge. p1st) lptr_pcg5_b_c_aer(08,itype,ai_phase)  = p_pcg5_b_c_a08
4360             if (p_pcg6_b_c_a08 .ge. p1st) lptr_pcg6_b_c_aer(08,itype,ai_phase)  = p_pcg6_b_c_a08
4361             if (p_pcg7_b_c_a08 .ge. p1st) lptr_pcg7_b_c_aer(08,itype,ai_phase)  = p_pcg7_b_c_a08
4362             if (p_pcg8_b_c_a08 .ge. p1st) lptr_pcg8_b_c_aer(08,itype,ai_phase)  = p_pcg8_b_c_a08
4363             if (p_pcg9_b_c_a08 .ge. p1st) lptr_pcg9_b_c_aer(08,itype,ai_phase)  = p_pcg9_b_c_a08
4364             if (p_pcg1_b_o_a08 .ge. p1st) lptr_pcg1_b_o_aer(08,itype,ai_phase) = p_pcg1_b_o_a08
4365             if (p_pcg2_b_o_a08 .ge. p1st) lptr_pcg2_b_o_aer(08,itype,ai_phase)  = p_pcg2_b_o_a08
4366             if (p_pcg3_b_o_a08 .ge. p1st) lptr_pcg3_b_o_aer(08,itype,ai_phase)  = p_pcg3_b_o_a08
4367             if (p_pcg4_b_o_a08 .ge. p1st) lptr_pcg4_b_o_aer(08,itype,ai_phase)  = p_pcg4_b_o_a08
4368             if (p_pcg5_b_o_a08 .ge. p1st) lptr_pcg5_b_o_aer(08,itype,ai_phase)  = p_pcg5_b_o_a08
4369             if (p_pcg6_b_o_a08 .ge. p1st) lptr_pcg6_b_o_aer(08,itype,ai_phase)  = p_pcg6_b_o_a08
4370             if (p_pcg7_b_o_a08 .ge. p1st) lptr_pcg7_b_o_aer(08,itype,ai_phase)  = p_pcg7_b_o_a08
4371             if (p_pcg8_b_o_a08 .ge. p1st) lptr_pcg8_b_o_aer(08,itype,ai_phase)  = p_pcg8_b_o_a08
4372             if (p_pcg9_b_o_a08 .ge. p1st) lptr_pcg9_b_o_aer(08,itype,ai_phase)  = p_pcg9_b_o_a08
4373             if (p_opcg1_b_c_a08 .ge. p1st) lptr_opcg1_b_c_aer(08,itype,ai_phase) = p_opcg1_b_c_a08
4374             if (p_opcg2_b_c_a08 .ge. p1st) lptr_opcg2_b_c_aer(08,itype,ai_phase)  = p_opcg2_b_c_a08
4375             if (p_opcg3_b_c_a08 .ge. p1st) lptr_opcg3_b_c_aer(08,itype,ai_phase)  = p_opcg3_b_c_a08
4376             if (p_opcg4_b_c_a08 .ge. p1st) lptr_opcg4_b_c_aer(08,itype,ai_phase)  = p_opcg4_b_c_a08
4377             if (p_opcg5_b_c_a08 .ge. p1st) lptr_opcg5_b_c_aer(08,itype,ai_phase)  = p_opcg5_b_c_a08
4378             if (p_opcg6_b_c_a08 .ge. p1st) lptr_opcg6_b_c_aer(08,itype,ai_phase)  = p_opcg6_b_c_a08
4379             if (p_opcg7_b_c_a08 .ge. p1st) lptr_opcg7_b_c_aer(08,itype,ai_phase)  = p_opcg7_b_c_a08
4380             if (p_opcg8_b_c_a08 .ge. p1st) lptr_opcg8_b_c_aer(08,itype,ai_phase)  = p_opcg8_b_c_a08
4381             if (p_opcg1_b_o_a08 .ge. p1st) lptr_opcg1_b_o_aer(08,itype,ai_phase) = p_opcg1_b_o_a08
4382             if (p_opcg2_b_o_a08 .ge. p1st) lptr_opcg2_b_o_aer(08,itype,ai_phase)  = p_opcg2_b_o_a08
4383             if (p_opcg3_b_o_a08 .ge. p1st) lptr_opcg3_b_o_aer(08,itype,ai_phase)  = p_opcg3_b_o_a08
4384             if (p_opcg4_b_o_a08 .ge. p1st) lptr_opcg4_b_o_aer(08,itype,ai_phase)  = p_opcg4_b_o_a08
4385             if (p_opcg5_b_o_a08 .ge. p1st) lptr_opcg5_b_o_aer(08,itype,ai_phase)  = p_opcg5_b_o_a08
4386             if (p_opcg6_b_o_a08 .ge. p1st) lptr_opcg6_b_o_aer(08,itype,ai_phase)  = p_opcg6_b_o_a08
4387             if (p_opcg7_b_o_a08 .ge. p1st) lptr_opcg7_b_o_aer(08,itype,ai_phase)  = p_opcg7_b_o_a08
4388             if (p_opcg8_b_o_a08 .ge. p1st) lptr_opcg8_b_o_aer(08,itype,ai_phase)  = p_opcg8_b_o_a08
4389             if (p_pcg1_f_c_a08 .ge. p1st) lptr_pcg1_f_c_aer(08,itype,ai_phase) = p_pcg1_f_c_a08
4390             if (p_pcg2_f_c_a08 .ge. p1st) lptr_pcg2_f_c_aer(08,itype,ai_phase)  = p_pcg2_f_c_a08
4391             if (p_pcg3_f_c_a08 .ge. p1st) lptr_pcg3_f_c_aer(08,itype,ai_phase)  = p_pcg3_f_c_a08
4392             if (p_pcg4_f_c_a08 .ge. p1st) lptr_pcg4_f_c_aer(08,itype,ai_phase)  = p_pcg4_f_c_a08
4393             if (p_pcg5_f_c_a08 .ge. p1st) lptr_pcg5_f_c_aer(08,itype,ai_phase)  = p_pcg5_f_c_a08
4394             if (p_pcg6_f_c_a08 .ge. p1st) lptr_pcg6_f_c_aer(08,itype,ai_phase)  = p_pcg6_f_c_a08
4395             if (p_pcg7_f_c_a08 .ge. p1st) lptr_pcg7_f_c_aer(08,itype,ai_phase)  = p_pcg7_f_c_a08
4396             if (p_pcg8_f_c_a08 .ge. p1st) lptr_pcg8_f_c_aer(08,itype,ai_phase)  = p_pcg8_f_c_a08
4397             if (p_pcg9_f_c_a08 .ge. p1st) lptr_pcg9_f_c_aer(08,itype,ai_phase)  = p_pcg9_f_c_a08
4398             if (p_pcg1_f_o_a08 .ge. p1st) lptr_pcg1_f_o_aer(08,itype,ai_phase) = p_pcg1_f_o_a08
4399             if (p_pcg2_f_o_a08 .ge. p1st) lptr_pcg2_f_o_aer(08,itype,ai_phase)  = p_pcg2_f_o_a08
4400             if (p_pcg3_f_o_a08 .ge. p1st) lptr_pcg3_f_o_aer(08,itype,ai_phase)  = p_pcg3_f_o_a08
4401             if (p_pcg4_f_o_a08 .ge. p1st) lptr_pcg4_f_o_aer(08,itype,ai_phase)  = p_pcg4_f_o_a08
4402             if (p_pcg5_f_o_a08 .ge. p1st) lptr_pcg5_f_o_aer(08,itype,ai_phase)  = p_pcg5_f_o_a08
4403             if (p_pcg6_f_o_a08 .ge. p1st) lptr_pcg6_f_o_aer(08,itype,ai_phase)  = p_pcg6_f_o_a08
4404             if (p_pcg7_f_o_a08 .ge. p1st) lptr_pcg7_f_o_aer(08,itype,ai_phase)  = p_pcg7_f_o_a08
4405             if (p_pcg8_f_o_a08 .ge. p1st) lptr_pcg8_f_o_aer(08,itype,ai_phase)  = p_pcg8_f_o_a08
4406             if (p_pcg9_f_o_a08 .ge. p1st) lptr_pcg9_f_o_aer(08,itype,ai_phase)  = p_pcg9_f_o_a08
4407             if (p_opcg1_f_c_a08 .ge. p1st) lptr_opcg1_f_c_aer(08,itype,ai_phase) = p_opcg1_f_c_a08
4408             if (p_opcg2_f_c_a08 .ge. p1st) lptr_opcg2_f_c_aer(08,itype,ai_phase)  = p_opcg2_f_c_a08
4409             if (p_opcg3_f_c_a08 .ge. p1st) lptr_opcg3_f_c_aer(08,itype,ai_phase)  = p_opcg3_f_c_a08
4410             if (p_opcg4_f_c_a08 .ge. p1st) lptr_opcg4_f_c_aer(08,itype,ai_phase)  = p_opcg4_f_c_a08
4411             if (p_opcg5_f_c_a08 .ge. p1st) lptr_opcg5_f_c_aer(08,itype,ai_phase)  = p_opcg5_f_c_a08
4412             if (p_opcg6_f_c_a08 .ge. p1st) lptr_opcg6_f_c_aer(08,itype,ai_phase)  = p_opcg6_f_c_a08
4413             if (p_opcg7_f_c_a08 .ge. p1st) lptr_opcg7_f_c_aer(08,itype,ai_phase)  = p_opcg7_f_c_a08
4414             if (p_opcg8_f_c_a08 .ge. p1st) lptr_opcg8_f_c_aer(08,itype,ai_phase)  = p_opcg8_f_c_a08
4415             if (p_opcg1_f_o_a08 .ge. p1st) lptr_opcg1_f_o_aer(08,itype,ai_phase) = p_opcg1_f_o_a08
4416             if (p_opcg2_f_o_a08 .ge. p1st) lptr_opcg2_f_o_aer(08,itype,ai_phase)  = p_opcg2_f_o_a08
4417             if (p_opcg3_f_o_a08 .ge. p1st) lptr_opcg3_f_o_aer(08,itype,ai_phase)  = p_opcg3_f_o_a08
4418             if (p_opcg4_f_o_a08 .ge. p1st) lptr_opcg4_f_o_aer(08,itype,ai_phase)  = p_opcg4_f_o_a08
4419             if (p_opcg5_f_o_a08 .ge. p1st) lptr_opcg5_f_o_aer(08,itype,ai_phase)  = p_opcg5_f_o_a08
4420             if (p_opcg6_f_o_a08 .ge. p1st) lptr_opcg6_f_o_aer(08,itype,ai_phase)  = p_opcg6_f_o_a08
4421             if (p_opcg7_f_o_a08 .ge. p1st) lptr_opcg7_f_o_aer(08,itype,ai_phase)  = p_opcg7_f_o_a08
4422             if (p_opcg8_f_o_a08 .ge. p1st) lptr_opcg8_f_o_aer(08,itype,ai_phase)  = p_opcg8_f_o_a08
4423             if (p_ant1_c_a08 .ge. p1st) lptr_ant1_c_aer(08,itype,ai_phase)  = p_ant1_c_a08
4424             if (p_ant2_c_a08 .ge. p1st) lptr_ant2_c_aer(08,itype,ai_phase)  = p_ant2_c_a08
4425             if (p_ant3_c_a08 .ge. p1st) lptr_ant3_c_aer(08,itype,ai_phase)  = p_ant3_c_a08
4426             if (p_ant4_c_a08 .ge. p1st) lptr_ant4_c_aer(08,itype,ai_phase)  = p_ant4_c_a08
4427             if (p_biog1_c_a08 .ge. p1st) lptr_biog1_c_aer(08,itype,ai_phase)  = p_biog1_c_a08
4428             if (p_biog2_c_a08 .ge. p1st) lptr_biog2_c_aer(08,itype,ai_phase)  = p_biog2_c_a08
4429             if (p_biog3_c_a08 .ge. p1st) lptr_biog3_c_aer(08,itype,ai_phase)  = p_biog3_c_a08
4430             if (p_biog4_c_a08 .ge. p1st) lptr_biog4_c_aer(08,itype,ai_phase)  = p_biog4_c_a08
4431             if (p_ant1_o_a08 .ge. p1st) lptr_ant1_o_aer(08,itype,ai_phase)  = p_ant1_o_a08
4432             if (p_ant2_o_a08 .ge. p1st) lptr_ant2_o_aer(08,itype,ai_phase)  = p_ant2_o_a08
4433             if (p_ant3_o_a08 .ge. p1st) lptr_ant3_o_aer(08,itype,ai_phase)  = p_ant3_o_a08
4434             if (p_ant4_o_a08 .ge. p1st) lptr_ant4_o_aer(08,itype,ai_phase)  = p_ant4_o_a08
4435             if (p_biog1_o_a08 .ge. p1st) lptr_biog1_o_aer(08,itype,ai_phase)  = p_biog1_o_a08
4436             if (p_biog2_o_a08 .ge. p1st) lptr_biog2_o_aer(08,itype,ai_phase)  = p_biog2_o_a08
4437             if (p_biog3_o_a08 .ge. p1st) lptr_biog3_o_aer(08,itype,ai_phase)  = p_biog3_o_a08
4438             if (p_biog4_o_a08 .ge. p1st) lptr_biog4_o_aer(08,itype,ai_phase)  = p_biog4_o_a08
4439             
4440             numptr_aer(08,itype,ai_phase)        = p_num_a08
4441         end if
4444 #if defined ( cw_species_are_in_registry )
4445 !   this code is "active" only when cw species are in the registry
4446         if (nsize_aer(itype) .ge. 1) then
4447           if (cw_phase .gt. 0) then
4448             lptr_so4_aer(01,itype,cw_phase)      = p_so4_cw01
4449             lptr_no3_aer(01,itype,cw_phase)      = p_no3_cw01
4450             lptr_cl_aer(01,itype,cw_phase)       = p_cl_cw01
4451             lptr_msa_aer(01,itype,cw_phase)      = p_msa_cw01
4452             lptr_co3_aer(01,itype,cw_phase)      = p_co3_cw01
4453             lptr_nh4_aer(01,itype,cw_phase)      = p_nh4_cw01
4454             lptr_na_aer(01,itype,cw_phase)       = p_na_cw01
4455             lptr_ca_aer(01,itype,cw_phase)       = p_ca_cw01
4456             lptr_oin_aer(01,itype,cw_phase)      = p_oin_cw01
4457             lptr_oc_aer(01,itype,cw_phase)       = p_oc_cw01
4458             lptr_bc_aer(01,itype,cw_phase)       = p_bc_cw01
4460             lptr_pcg1_b_c_aer(01,itype,cw_phase) = p_pcg1_b_c_cw01
4461             lptr_opcg1_b_c_aer(01,itype,cw_phase) = p_opcg1_b_c_cw01
4462             lptr_pcg1_b_o_aer(01,itype,cw_phase) = p_pcg1_b_o_cw01
4463             lptr_opcg1_b_o_aer(01,itype,cw_phase) = p_opcg1_b_o_cw01
4464             lptr_pcg1_f_c_aer(01,itype,cw_phase) = p_pcg1_f_c_cw01
4465             lptr_opcg1_f_c_aer(01,itype,cw_phase) = p_opcg1_f_c_cw01
4466             lptr_pcg1_f_o_aer(01,itype,cw_phase) = p_pcg1_f_o_cw01
4467             lptr_opcg1_f_o_aer(01,itype,cw_phase) = p_opcg1_f_o_cw01
4468             lptr_ant1_c_aer(01,itype,cw_phase) = p_ant1_c_cw01
4469             lptr_biog1_c_aer(01,itype,cw_phase) = p_biog1_c_cw01
4471       if (p_glysoa_r1_cw01 .ge. p1st) lptr_glysoa_r1_aer(01,itype,cw_phase) = p_glysoa_r1_cw01
4472       if (p_glysoa_r2_cw01 .ge. p1st) lptr_glysoa_r2_aer(01,itype,cw_phase) = p_glysoa_r2_cw01
4473       if (p_glysoa_sfc_cw01 .ge. p1st) lptr_glysoa_sfc_aer(01,itype,cw_phase) = p_glysoa_sfc_cw01
4474       if (p_glysoa_nh4_cw01 .ge. p1st) lptr_glysoa_nh4_aer(01,itype,cw_phase) = p_glysoa_nh4_cw01
4475       if (p_glysoa_oh_cw01 .ge. p1st) lptr_glysoa_oh_aer(01,itype,cw_phase) = p_glysoa_oh_cw01
4476       if (p_asoaX_cw01 .ge. p1st)    lptr_asoaX_aer(01,itype,cw_phase)    = p_asoaX_cw01
4477       if (p_asoa1_cw01 .ge. p1st)    lptr_asoa1_aer(01,itype,cw_phase)    = p_asoa1_cw01
4478       if (p_asoa2_cw01 .ge. p1st)    lptr_asoa2_aer(01,itype,cw_phase)    = p_asoa2_cw01
4479       if (p_asoa3_cw01 .ge. p1st)    lptr_asoa3_aer(01,itype,cw_phase)    = p_asoa3_cw01
4480       if (p_asoa4_cw01 .ge. p1st)    lptr_asoa4_aer(01,itype,cw_phase)    = p_asoa4_cw01
4481       if (p_bsoaX_cw01 .ge. p1st)    lptr_bsoaX_aer(01,itype,cw_phase)    = p_bsoaX_cw01
4482       if (p_bsoa1_cw01 .ge. p1st)    lptr_bsoa1_aer(01,itype,cw_phase)    = p_bsoa1_cw01
4483       if (p_bsoa2_cw01 .ge. p1st)    lptr_bsoa2_aer(01,itype,cw_phase)    = p_bsoa2_cw01
4484       if (p_bsoa3_cw01 .ge. p1st)    lptr_bsoa3_aer(01,itype,cw_phase)    = p_bsoa3_cw01
4485       if (p_bsoa4_cw01 .ge. p1st)    lptr_bsoa4_aer(01,itype,cw_phase)    = p_bsoa4_cw01
4487             numptr_aer(01,itype,cw_phase)        = p_num_cw01
4488           end if
4489         end if
4491         if (nsize_aer(itype) .ge. 2) then
4492           if (cw_phase .gt. 0) then
4493             lptr_so4_aer(02,itype,cw_phase)      = p_so4_cw02
4494             lptr_no3_aer(02,itype,cw_phase)      = p_no3_cw02
4495             lptr_cl_aer(02,itype,cw_phase)       = p_cl_cw02
4496             lptr_msa_aer(02,itype,cw_phase)      = p_msa_cw02
4497             lptr_co3_aer(02,itype,cw_phase)      = p_co3_cw02
4498             lptr_nh4_aer(02,itype,cw_phase)      = p_nh4_cw02
4499             lptr_na_aer(02,itype,cw_phase)       = p_na_cw02
4500             lptr_ca_aer(02,itype,cw_phase)       = p_ca_cw02
4501             lptr_oin_aer(02,itype,cw_phase)      = p_oin_cw02
4502             lptr_oc_aer(02,itype,cw_phase)       = p_oc_cw02
4503             lptr_bc_aer(02,itype,cw_phase)       = p_bc_cw02
4505             lptr_pcg1_b_c_aer(02,itype,cw_phase) = p_pcg1_b_c_cw02
4506             lptr_opcg1_b_c_aer(02,itype,cw_phase) = p_opcg1_b_c_cw02
4507             lptr_pcg1_b_o_aer(02,itype,cw_phase) = p_pcg1_b_o_cw02
4508             lptr_opcg1_b_o_aer(02,itype,cw_phase) = p_opcg1_b_o_cw02
4509             lptr_pcg1_f_c_aer(02,itype,cw_phase) = p_pcg1_f_c_cw02
4510             lptr_opcg1_f_c_aer(02,itype,cw_phase) = p_opcg1_f_c_cw02
4511             lptr_pcg1_f_o_aer(02,itype,cw_phase) = p_pcg1_f_o_cw02
4512             lptr_opcg1_f_o_aer(02,itype,cw_phase) = p_opcg1_f_o_cw02
4513             lptr_ant1_c_aer(02,itype,cw_phase) = p_ant1_c_cw02
4514             lptr_biog1_c_aer(02,itype,cw_phase) = p_biog1_c_cw02
4516       if (p_glysoa_r1_cw02 .ge. p1st) lptr_glysoa_r1_aer(02,itype,cw_phase) = p_glysoa_r1_cw02
4517       if (p_glysoa_r2_cw02 .ge. p1st) lptr_glysoa_r2_aer(02,itype,cw_phase) = p_glysoa_r2_cw02
4518       if (p_glysoa_sfc_cw02 .ge. p1st) lptr_glysoa_sfc_aer(02,itype,cw_phase) = p_glysoa_sfc_cw02
4519       if (p_glysoa_nh4_cw02 .ge. p1st) lptr_glysoa_nh4_aer(02,itype,cw_phase) = p_glysoa_nh4_cw02
4520       if (p_glysoa_oh_cw02 .ge. p1st) lptr_glysoa_oh_aer(02,itype,cw_phase) = p_glysoa_oh_cw02
4521       if (p_asoaX_cw02 .ge. p1st)    lptr_asoaX_aer(02,itype,cw_phase)    = p_asoaX_cw02
4522       if (p_asoa1_cw02 .ge. p1st)    lptr_asoa1_aer(02,itype,cw_phase)    = p_asoa1_cw02
4523       if (p_asoa2_cw02 .ge. p1st)    lptr_asoa2_aer(02,itype,cw_phase)    = p_asoa2_cw02
4524       if (p_asoa3_cw02 .ge. p1st)    lptr_asoa3_aer(02,itype,cw_phase)    = p_asoa3_cw02
4525       if (p_asoa4_cw02 .ge. p1st)    lptr_asoa4_aer(02,itype,cw_phase)    = p_asoa4_cw02
4526       if (p_bsoaX_cw02 .ge. p1st)    lptr_bsoaX_aer(02,itype,cw_phase)    = p_bsoaX_cw02
4527       if (p_bsoa1_cw02 .ge. p1st)    lptr_bsoa1_aer(02,itype,cw_phase)    = p_bsoa1_cw02
4528       if (p_bsoa2_cw02 .ge. p1st)    lptr_bsoa2_aer(02,itype,cw_phase)    = p_bsoa2_cw02
4529       if (p_bsoa3_cw02 .ge. p1st)    lptr_bsoa3_aer(02,itype,cw_phase)    = p_bsoa3_cw02
4530       if (p_bsoa4_cw02 .ge. p1st)    lptr_bsoa4_aer(02,itype,cw_phase)    = p_bsoa4_cw02
4531             numptr_aer(02,itype,cw_phase)        = p_num_cw02
4532           end if
4533         end if
4535         if (nsize_aer(itype) .ge. 3) then
4536           if (cw_phase .gt. 0) then
4537             lptr_so4_aer(03,itype,cw_phase)      = p_so4_cw03
4538             lptr_no3_aer(03,itype,cw_phase)      = p_no3_cw03
4539             lptr_cl_aer(03,itype,cw_phase)       = p_cl_cw03
4540             lptr_msa_aer(03,itype,cw_phase)      = p_msa_cw03
4541             lptr_co3_aer(03,itype,cw_phase)      = p_co3_cw03
4542             lptr_nh4_aer(03,itype,cw_phase)      = p_nh4_cw03
4543             lptr_na_aer(03,itype,cw_phase)       = p_na_cw03
4544             lptr_ca_aer(03,itype,cw_phase)       = p_ca_cw03
4545             lptr_oin_aer(03,itype,cw_phase)      = p_oin_cw03
4546             lptr_oc_aer(03,itype,cw_phase)       = p_oc_cw03
4547             lptr_bc_aer(03,itype,cw_phase)       = p_bc_cw03
4548             
4549             lptr_pcg1_b_c_aer(03,itype,cw_phase) = p_pcg1_b_c_cw03
4550             lptr_opcg1_b_c_aer(03,itype,cw_phase) = p_opcg1_b_c_cw03
4551             lptr_pcg1_b_o_aer(03,itype,cw_phase) = p_pcg1_b_o_cw03
4552             lptr_opcg1_b_o_aer(03,itype,cw_phase) = p_opcg1_b_o_cw03
4553             lptr_pcg1_f_c_aer(03,itype,cw_phase) = p_pcg1_f_c_cw03
4554             lptr_opcg1_f_c_aer(03,itype,cw_phase) = p_opcg1_f_c_cw03
4555             lptr_pcg1_f_o_aer(03,itype,cw_phase) = p_pcg1_f_o_cw03
4556             lptr_opcg1_f_o_aer(03,itype,cw_phase) = p_opcg1_f_o_cw03
4557             lptr_ant1_c_aer(03,itype,cw_phase) = p_ant1_c_cw03
4558             lptr_biog1_c_aer(03,itype,cw_phase) = p_biog1_c_cw03
4560       if (p_glysoa_r1_cw03 .ge. p1st) lptr_glysoa_r1_aer(03,itype,cw_phase) = p_glysoa_r1_cw03
4561       if (p_glysoa_r2_cw03 .ge. p1st) lptr_glysoa_r2_aer(03,itype,cw_phase) = p_glysoa_r2_cw03
4562       if (p_glysoa_sfc_cw03 .ge. p1st) lptr_glysoa_sfc_aer(03,itype,cw_phase) = p_glysoa_sfc_cw03
4563       if (p_glysoa_nh4_cw03 .ge. p1st) lptr_glysoa_nh4_aer(03,itype,cw_phase) = p_glysoa_nh4_cw03
4564       if (p_glysoa_oh_cw03 .ge. p1st) lptr_glysoa_oh_aer(03,itype,cw_phase) = p_glysoa_oh_cw03
4565       if (p_asoaX_cw03 .ge. p1st)    lptr_asoaX_aer(03,itype,cw_phase)    = p_asoaX_cw03
4566       if (p_asoa1_cw03 .ge. p1st)    lptr_asoa1_aer(03,itype,cw_phase)    = p_asoa1_cw03
4567       if (p_asoa2_cw03 .ge. p1st)    lptr_asoa2_aer(03,itype,cw_phase)    = p_asoa2_cw03
4568       if (p_asoa3_cw03 .ge. p1st)    lptr_asoa3_aer(03,itype,cw_phase)    = p_asoa3_cw03
4569       if (p_asoa4_cw03 .ge. p1st)    lptr_asoa4_aer(03,itype,cw_phase)    = p_asoa4_cw03
4570       if (p_bsoaX_cw03 .ge. p1st)    lptr_bsoaX_aer(03,itype,cw_phase)    = p_bsoaX_cw03
4571       if (p_bsoa1_cw03 .ge. p1st)    lptr_bsoa1_aer(03,itype,cw_phase)    = p_bsoa1_cw03
4572       if (p_bsoa2_cw03 .ge. p1st)    lptr_bsoa2_aer(03,itype,cw_phase)    = p_bsoa2_cw03
4573       if (p_bsoa3_cw03 .ge. p1st)    lptr_bsoa3_aer(03,itype,cw_phase)    = p_bsoa3_cw03
4574       if (p_bsoa4_cw03 .ge. p1st)    lptr_bsoa4_aer(03,itype,cw_phase)    = p_bsoa4_cw03
4575             numptr_aer(03,itype,cw_phase)        = p_num_cw03
4576           end if
4577         end if
4579         if (nsize_aer(itype) .ge. 4) then
4580           if (cw_phase .gt. 0) then
4581             lptr_so4_aer(04,itype,cw_phase)      = p_so4_cw04
4582             lptr_no3_aer(04,itype,cw_phase)      = p_no3_cw04
4583             lptr_cl_aer(04,itype,cw_phase)       = p_cl_cw04
4584             lptr_msa_aer(04,itype,cw_phase)      = p_msa_cw04
4585             lptr_co3_aer(04,itype,cw_phase)      = p_co3_cw04
4586             lptr_nh4_aer(04,itype,cw_phase)      = p_nh4_cw04
4587             lptr_na_aer(04,itype,cw_phase)       = p_na_cw04
4588             lptr_ca_aer(04,itype,cw_phase)       = p_ca_cw04
4589             lptr_oin_aer(04,itype,cw_phase)      = p_oin_cw04
4590             lptr_oc_aer(04,itype,cw_phase)       = p_oc_cw04
4591             lptr_bc_aer(04,itype,cw_phase)       = p_bc_cw04
4593             lptr_pcg1_b_c_aer(04,itype,cw_phase) = p_pcg1_b_c_cw04
4594             lptr_opcg1_b_c_aer(04,itype,cw_phase) = p_opcg1_b_c_cw04
4595             lptr_pcg1_b_o_aer(04,itype,cw_phase) = p_pcg1_b_o_cw04
4596             lptr_opcg1_b_o_aer(04,itype,cw_phase) = p_opcg1_b_o_cw04
4597             lptr_pcg1_f_c_aer(04,itype,cw_phase) = p_pcg1_f_c_cw04
4598             lptr_opcg1_f_c_aer(04,itype,cw_phase) = p_opcg1_f_c_cw04
4599             lptr_pcg1_f_o_aer(04,itype,cw_phase) = p_pcg1_f_o_cw04
4600             lptr_opcg1_f_o_aer(04,itype,cw_phase) = p_opcg1_f_o_cw04
4601             lptr_ant1_c_aer(04,itype,cw_phase) = p_ant1_c_cw04
4602             lptr_biog1_c_aer(04,itype,cw_phase) = p_biog1_c_cw04
4604       if (p_glysoa_r1_cw04 .ge. p1st) lptr_glysoa_r1_aer(04,itype,cw_phase) = p_glysoa_r1_cw04
4605       if (p_glysoa_r2_cw04 .ge. p1st) lptr_glysoa_r2_aer(04,itype,cw_phase) = p_glysoa_r2_cw04
4606       if (p_glysoa_sfc_cw04 .ge. p1st) lptr_glysoa_sfc_aer(04,itype,cw_phase) = p_glysoa_sfc_cw04
4607       if (p_glysoa_nh4_cw04 .ge. p1st) lptr_glysoa_nh4_aer(04,itype,cw_phase) = p_glysoa_nh4_cw04
4608       if (p_glysoa_oh_cw04 .ge. p1st) lptr_glysoa_oh_aer(04,itype,cw_phase) = p_glysoa_oh_cw04
4609       if (p_asoaX_cw04 .ge. p1st)    lptr_asoaX_aer(04,itype,cw_phase)    = p_asoaX_cw04
4610       if (p_asoa1_cw04 .ge. p1st)    lptr_asoa1_aer(04,itype,cw_phase)    = p_asoa1_cw04
4611       if (p_asoa2_cw04 .ge. p1st)    lptr_asoa2_aer(04,itype,cw_phase)    = p_asoa2_cw04
4612       if (p_asoa3_cw04 .ge. p1st)    lptr_asoa3_aer(04,itype,cw_phase)    = p_asoa3_cw04
4613       if (p_asoa4_cw04 .ge. p1st)    lptr_asoa4_aer(04,itype,cw_phase)    = p_asoa4_cw04
4614       if (p_bsoaX_cw04 .ge. p1st)    lptr_bsoaX_aer(04,itype,cw_phase)    = p_bsoaX_cw04
4615       if (p_bsoa1_cw04 .ge. p1st)    lptr_bsoa1_aer(04,itype,cw_phase)    = p_bsoa1_cw04
4616       if (p_bsoa2_cw04 .ge. p1st)    lptr_bsoa2_aer(04,itype,cw_phase)    = p_bsoa2_cw04
4617       if (p_bsoa3_cw04 .ge. p1st)    lptr_bsoa3_aer(04,itype,cw_phase)    = p_bsoa3_cw04
4618       if (p_bsoa4_cw04 .ge. p1st)    lptr_bsoa4_aer(04,itype,cw_phase)    = p_bsoa4_cw04
4619             numptr_aer(04,itype,cw_phase)        = p_num_cw04
4620           end if
4621         end if
4623         if (nsize_aer(itype) .ge. 5) then
4624           if (cw_phase .gt. 0) then
4625             lptr_so4_aer(05,itype,cw_phase)      = p_so4_cw05
4626             lptr_no3_aer(05,itype,cw_phase)      = p_no3_cw05
4627             lptr_cl_aer(05,itype,cw_phase)       = p_cl_cw05
4628             lptr_msa_aer(05,itype,cw_phase)      = p_msa_cw05
4629             lptr_co3_aer(05,itype,cw_phase)      = p_co3_cw05
4630             lptr_nh4_aer(05,itype,cw_phase)      = p_nh4_cw05
4631             lptr_na_aer(05,itype,cw_phase)       = p_na_cw05
4632             lptr_ca_aer(05,itype,cw_phase)       = p_ca_cw05
4633             lptr_oin_aer(05,itype,cw_phase)      = p_oin_cw05
4634             lptr_oc_aer(05,itype,cw_phase)       = p_oc_cw05
4635             lptr_bc_aer(05,itype,cw_phase)       = p_bc_cw05
4636             
4637             lptr_pcg1_b_c_aer(05,itype,cw_phase) = p_pcg1_b_c_cw05
4638             lptr_opcg1_b_c_aer(05,itype,cw_phase) = p_opcg1_b_c_cw05
4639             lptr_pcg1_b_o_aer(05,itype,cw_phase) = p_pcg1_b_o_cw05
4640             lptr_opcg1_b_o_aer(05,itype,cw_phase) = p_opcg1_b_o_cw05
4641             lptr_pcg1_f_c_aer(05,itype,cw_phase) = p_pcg1_f_c_cw05
4642             lptr_opcg1_f_c_aer(05,itype,cw_phase) = p_opcg1_f_c_cw05
4643             lptr_pcg1_f_o_aer(05,itype,cw_phase) = p_pcg1_f_o_cw05
4644             lptr_opcg1_f_o_aer(05,itype,cw_phase) = p_opcg1_f_o_cw05
4645             lptr_ant1_c_aer(05,itype,cw_phase) = p_ant1_c_cw05
4646             lptr_biog1_c_aer(05,itype,cw_phase) = p_biog1_c_cw05
4648             numptr_aer(05,itype,cw_phase)        = p_num_cw05
4649           end if
4650         end if
4652         if (nsize_aer(itype) .ge. 6) then
4653           if (cw_phase .gt. 0) then
4654             lptr_so4_aer(06,itype,cw_phase)      = p_so4_cw06
4655             lptr_no3_aer(06,itype,cw_phase)      = p_no3_cw06
4656             lptr_cl_aer(06,itype,cw_phase)       = p_cl_cw06
4657             lptr_msa_aer(06,itype,cw_phase)      = p_msa_cw06
4658             lptr_co3_aer(06,itype,cw_phase)      = p_co3_cw06
4659             lptr_nh4_aer(06,itype,cw_phase)      = p_nh4_cw06
4660             lptr_na_aer(06,itype,cw_phase)       = p_na_cw06
4661             lptr_ca_aer(06,itype,cw_phase)       = p_ca_cw06
4662             lptr_oin_aer(06,itype,cw_phase)      = p_oin_cw06
4663             lptr_oc_aer(06,itype,cw_phase)       = p_oc_cw06
4664             lptr_bc_aer(06,itype,cw_phase)       = p_bc_cw06
4665             
4666             lptr_pcg1_b_c_aer(06,itype,cw_phase) = p_pcg1_b_c_cw06
4667             lptr_opcg1_b_c_aer(06,itype,cw_phase) = p_opcg1_b_c_cw06
4668             lptr_pcg1_b_o_aer(06,itype,cw_phase) = p_pcg1_b_o_cw06
4669             lptr_opcg1_b_o_aer(06,itype,cw_phase) = p_opcg1_b_o_cw06
4670             lptr_pcg1_f_c_aer(06,itype,cw_phase) = p_pcg1_f_c_cw06
4671             lptr_opcg1_f_c_aer(06,itype,cw_phase) = p_opcg1_f_c_cw06
4672             lptr_pcg1_f_o_aer(06,itype,cw_phase) = p_pcg1_f_o_cw06
4673             lptr_opcg1_f_o_aer(06,itype,cw_phase) = p_opcg1_f_o_cw06
4674             lptr_ant1_c_aer(06,itype,cw_phase) = p_ant1_c_cw06
4675             lptr_biog1_c_aer(06,itype,cw_phase) = p_biog1_c_cw06
4677             numptr_aer(06,itype,cw_phase)        = p_num_cw06
4678           end if
4679         end if
4681         if (nsize_aer(itype) .ge. 7) then
4682           if (cw_phase .gt. 0) then
4683             lptr_so4_aer(07,itype,cw_phase)      = p_so4_cw07
4684             lptr_no3_aer(07,itype,cw_phase)      = p_no3_cw07
4685             lptr_cl_aer(07,itype,cw_phase)       = p_cl_cw07
4686             lptr_msa_aer(07,itype,cw_phase)      = p_msa_cw07
4687             lptr_co3_aer(07,itype,cw_phase)      = p_co3_cw07
4688             lptr_nh4_aer(07,itype,cw_phase)      = p_nh4_cw07
4689             lptr_na_aer(07,itype,cw_phase)       = p_na_cw07
4690             lptr_ca_aer(07,itype,cw_phase)       = p_ca_cw07
4691             lptr_oin_aer(07,itype,cw_phase)      = p_oin_cw07
4692             lptr_oc_aer(07,itype,cw_phase)       = p_oc_cw07
4693             lptr_bc_aer(07,itype,cw_phase)       = p_bc_cw07
4695             lptr_pcg1_b_c_aer(07,itype,cw_phase) = p_pcg1_b_c_cw07
4696             lptr_opcg1_b_c_aer(07,itype,cw_phase) = p_opcg1_b_c_cw07
4697             lptr_pcg1_b_o_aer(07,itype,cw_phase) = p_pcg1_b_o_cw07
4698             lptr_opcg1_b_o_aer(07,itype,cw_phase) = p_opcg1_b_o_cw07
4699             lptr_pcg1_f_c_aer(07,itype,cw_phase) = p_pcg1_f_c_cw07
4700             lptr_opcg1_f_c_aer(07,itype,cw_phase) = p_opcg1_f_c_cw07
4701             lptr_pcg1_f_o_aer(07,itype,cw_phase) = p_pcg1_f_o_cw07
4702             lptr_opcg1_f_o_aer(07,itype,cw_phase) = p_opcg1_f_o_cw07
4703             lptr_ant1_c_aer(07,itype,cw_phase) = p_ant1_c_cw07
4704             lptr_biog1_c_aer(07,itype,cw_phase) = p_biog1_c_cw07
4706             numptr_aer(07,itype,cw_phase)        = p_num_cw07
4707           end if
4708         end if
4710         if (nsize_aer(itype) .ge. 8) then
4711           if (cw_phase .gt. 0) then
4712             lptr_so4_aer(08,itype,cw_phase)      = p_so4_cw08
4713             lptr_no3_aer(08,itype,cw_phase)      = p_no3_cw08
4714             lptr_cl_aer(08,itype,cw_phase)       = p_cl_cw08
4715             lptr_msa_aer(08,itype,cw_phase)      = p_msa_cw08
4716             lptr_co3_aer(08,itype,cw_phase)      = p_co3_cw08
4717             lptr_nh4_aer(08,itype,cw_phase)      = p_nh4_cw08
4718             lptr_na_aer(08,itype,cw_phase)       = p_na_cw08
4719             lptr_ca_aer(08,itype,cw_phase)       = p_ca_cw08
4720             lptr_oin_aer(08,itype,cw_phase)      = p_oin_cw08
4721             lptr_oc_aer(08,itype,cw_phase)       = p_oc_cw08
4722             lptr_bc_aer(08,itype,cw_phase)       = p_bc_cw08
4724             lptr_pcg1_b_c_aer(08,itype,cw_phase) = p_pcg1_b_c_cw08
4725             lptr_opcg1_b_c_aer(08,itype,cw_phase) = p_opcg1_b_c_cw08
4726             lptr_pcg1_b_o_aer(08,itype,cw_phase) = p_pcg1_b_o_cw08
4727             lptr_opcg1_b_o_aer(08,itype,cw_phase) = p_opcg1_b_o_cw08
4728             lptr_pcg1_f_c_aer(08,itype,cw_phase) = p_pcg1_f_c_cw08
4729             lptr_opcg1_f_c_aer(08,itype,cw_phase) = p_opcg1_f_c_cw08
4730             lptr_pcg1_f_o_aer(08,itype,cw_phase) = p_pcg1_f_o_cw08
4731             lptr_opcg1_f_o_aer(08,itype,cw_phase) = p_opcg1_f_o_cw08
4732             lptr_ant1_c_aer(08,itype,cw_phase) = p_ant1_c_cw08
4733             lptr_biog1_c_aer(08,itype,cw_phase) = p_biog1_c_cw08
4735             numptr_aer(08,itype,cw_phase)        = p_num_cw08
4736           end if
4737         end if
4738 #endif
4742 !   define the massptr_aer and mastercompptr_aer pointers
4743 !   and the name() species names
4746 !   first initialize
4747         do l = 1, l2maxd
4748             write( name(l), '(a,i4.4,15x)' ) 'r', l
4749         end do
4750         massptr_aer(:,:,:,:) = -999888777
4751         mastercompptr_aer(:,:) = -999888777
4753         do 2800 itype = 1, ntype_aer
4755         if (itype .eq. 1) then
4756             typetxt = ' '
4757             ntypetxt = 1
4758             if (ntype_aer .gt. 1) then
4759                 typetxt = '_t1'
4760                 ntypetxt = 3
4761             end if
4762         else if (itype .le. 9) then
4763             write(typetxt,'(a,i1)') '_t', itype
4764             ntypetxt = 3
4765         else if (itype .le. 99) then
4766             write(typetxt,'(a,i2)') '_t', itype
4767             ntypetxt = 4
4768         else
4769             typetxt = '_t?'
4770             ntypetxt = 3
4771         end if
4773         ncomp_dum(:,:) = 0
4774         ncomp_plustracer_dum(:,:) = 0
4776         do 2700 isize = 1, nsize_aer(itype)
4777         n =isize
4779         if (isize .le. 9) then
4780             write(sizetxt,'(i1)') isize
4781             nsizetxt = 1
4782         else if (isize .le. 99) then
4783             write(sizetxt,'(i2)') isize
4784             nsizetxt = 2
4785         else if (isize .le. 999) then
4786             write(sizetxt,'(i3)') isize
4787             nsizetxt = 3
4788         else
4789             sizetxt = 's?'
4790             nsizetxt = 2
4791         end if
4794         do 2600 iphase = 1, nphase_aer
4796         if (iphase .eq. ai_phase) then
4797             phasetxt = 'a'
4798             nphasetxt = 1
4799         else if (iphase .eq. cw_phase) then
4800             phasetxt = 'cw'
4801             nphasetxt = 2
4802         else 
4803             phasetxt = 'p?'
4804             nphasetxt = 2
4805         end if
4808         do 2500 l_mastercomp = -2, ntot_mastercomp_aer
4810         iaddto_ncomp = 1
4811         iaddto_ncomp_plustracer = 1
4813         if (l_mastercomp .eq. -2) then
4814             iaddto_ncomp = 0
4815             iaddto_ncomp_plustracer = 0
4816             lptr_dum = numptr_aer(n,itype,iphase)
4817             mcindx_dum = -2
4818             spectxt = 'numb_'
4819             nspectxt = 5
4821         else if (l_mastercomp .eq. -1) then
4822             if (iphase .ne. ai_phase) goto 2500
4823             iaddto_ncomp = 0
4824             iaddto_ncomp_plustracer = 0
4825             lptr_dum = waterptr_aer(n,itype)
4826             mcindx_dum = -1
4827             spectxt = 'water_'
4828             nspectxt = 6
4830         else if (l_mastercomp .eq. 0) then
4831             if (iphase .ne. ai_phase) goto 2500
4832             iaddto_ncomp = 0
4833             iaddto_ncomp_plustracer = 0
4834             lptr_dum = hyswptr_aer(n,itype)
4835             mcindx_dum = 0
4836             spectxt = 'hysw_'
4837             nspectxt = 5
4839         else if (l_mastercomp .eq. mastercompindx_so4_aer) then
4840             lptr_dum = lptr_so4_aer(n,itype,iphase)
4841             mcindx_dum = mastercompindx_so4_aer
4842             spectxt = 'so4_'
4843             nspectxt = 4
4845         else if (l_mastercomp .eq. mastercompindx_no3_aer) then
4846             lptr_dum = lptr_no3_aer(n,itype,iphase)
4847             mcindx_dum = mastercompindx_no3_aer
4848             spectxt = 'no3_'
4849             nspectxt = 4
4851         else if (l_mastercomp .eq. mastercompindx_cl_aer) then
4852             lptr_dum = lptr_cl_aer(n,itype,iphase)
4853             mcindx_dum = mastercompindx_cl_aer
4854             spectxt = 'cl_'
4855             nspectxt = 3
4857         else if (l_mastercomp .eq. mastercompindx_co3_aer) then
4858             lptr_dum = lptr_co3_aer(n,itype,iphase)
4859             mcindx_dum = mastercompindx_co3_aer
4860             spectxt = 'co3_'
4861             nspectxt = 4
4863         else if (l_mastercomp .eq. mastercompindx_nh4_aer) then
4864             lptr_dum = lptr_nh4_aer(n,itype,iphase)
4865             mcindx_dum = mastercompindx_nh4_aer
4866             spectxt = 'nh4_'
4867             nspectxt = 4
4869         else if (l_mastercomp .eq. mastercompindx_na_aer) then
4870             lptr_dum = lptr_na_aer(n,itype,iphase)
4871             mcindx_dum = mastercompindx_na_aer
4872             spectxt = 'na_'
4873             nspectxt = 3
4875         else if (l_mastercomp .eq. mastercompindx_ca_aer) then
4876             lptr_dum = lptr_ca_aer(n,itype,iphase)
4877             mcindx_dum = mastercompindx_ca_aer
4878             spectxt = 'ca_'
4879             nspectxt = 3
4881         else if (l_mastercomp .eq. mastercompindx_oin_aer) then
4882             lptr_dum = lptr_oin_aer(n,itype,iphase)
4883             mcindx_dum = mastercompindx_oin_aer
4884             spectxt = 'oin_'
4885             nspectxt = 4
4887         else if (l_mastercomp .eq. mastercompindx_oc_aer) then
4888             lptr_dum = lptr_oc_aer(n,itype,iphase)
4889             mcindx_dum = mastercompindx_oc_aer
4890             spectxt = 'oc_'
4891             nspectxt = 3
4893         else if (l_mastercomp .eq. mastercompindx_bc_aer) then
4894             lptr_dum = lptr_bc_aer(n,itype,iphase)
4895             mcindx_dum = mastercompindx_bc_aer
4896             spectxt = 'bc_'
4897             nspectxt = 3
4900         else if (l_mastercomp .eq. mastercompindx_pcg1_b_c_aer) then
4901             lptr_dum = lptr_pcg1_b_c_aer(n,itype,iphase)
4902             mcindx_dum = mastercompindx_pcg1_b_c_aer
4903             spectxt = 'pcg1_b_c_'
4904             nspectxt = 9
4906         else if (l_mastercomp .eq. mastercompindx_pcg2_b_c_aer) then
4907             lptr_dum = lptr_pcg2_b_c_aer(n,itype,iphase)
4908             mcindx_dum = mastercompindx_pcg2_b_c_aer
4909             spectxt = 'pcg2_b_c_'
4910             nspectxt = 9
4912         else if (l_mastercomp .eq. mastercompindx_pcg3_b_c_aer) then
4913             lptr_dum = lptr_pcg3_b_c_aer(n,itype,iphase)
4914             mcindx_dum = mastercompindx_pcg3_b_c_aer
4915             spectxt = 'pcg3_b_c_'
4916             nspectxt = 9
4918         else if (l_mastercomp .eq. mastercompindx_pcg4_b_c_aer) then
4919             lptr_dum = lptr_pcg4_b_c_aer(n,itype,iphase)
4920             mcindx_dum = mastercompindx_pcg4_b_c_aer
4921             spectxt = 'pcg4_b_c_'
4922             nspectxt = 9
4924         else if (l_mastercomp .eq. mastercompindx_pcg5_b_c_aer) then
4925             lptr_dum = lptr_pcg5_b_c_aer(n,itype,iphase)
4926             mcindx_dum = mastercompindx_pcg5_b_c_aer
4927             spectxt = 'pcg5_b_c_'
4928             nspectxt = 9
4930         else if (l_mastercomp .eq. mastercompindx_pcg6_b_c_aer) then
4931             lptr_dum = lptr_pcg6_b_c_aer(n,itype,iphase)
4932             mcindx_dum = mastercompindx_pcg6_b_c_aer
4933             spectxt = 'pcg6_b_c_'
4934             nspectxt = 9
4936         else if (l_mastercomp .eq. mastercompindx_pcg7_b_c_aer) then
4937             lptr_dum = lptr_pcg7_b_c_aer(n,itype,iphase)
4938             mcindx_dum = mastercompindx_pcg7_b_c_aer
4939             spectxt = 'pcg7_b_c_'
4940             nspectxt = 9
4942         else if (l_mastercomp .eq. mastercompindx_pcg8_b_c_aer) then
4943             lptr_dum = lptr_pcg8_b_c_aer(n,itype,iphase)
4944             mcindx_dum = mastercompindx_pcg8_b_c_aer
4945             spectxt = 'pcg8_b_c_'
4946             nspectxt = 9
4948         else if (l_mastercomp .eq. mastercompindx_pcg9_b_c_aer) then
4949             lptr_dum = lptr_pcg9_b_c_aer(n,itype,iphase)
4950             mcindx_dum = mastercompindx_pcg9_b_c_aer
4951             spectxt = 'pcg9_b_c_'
4952             nspectxt = 9
4954         else if (l_mastercomp .eq. mastercompindx_pcg1_b_o_aer) then
4955             lptr_dum = lptr_pcg1_b_o_aer(n,itype,iphase)
4956             mcindx_dum = mastercompindx_pcg1_b_o_aer
4957             spectxt = 'pcg1_b_o_'
4958             nspectxt = 9
4960         else if (l_mastercomp .eq. mastercompindx_pcg2_b_o_aer) then
4961             lptr_dum = lptr_pcg2_b_o_aer(n,itype,iphase)
4962             mcindx_dum = mastercompindx_pcg2_b_o_aer
4963             spectxt = 'pcg2_b_o_'
4964             nspectxt = 9
4966         else if (l_mastercomp .eq. mastercompindx_pcg3_b_o_aer) then
4967             lptr_dum = lptr_pcg3_b_o_aer(n,itype,iphase)
4968             mcindx_dum = mastercompindx_pcg3_b_o_aer
4969             spectxt = 'pcg3_b_o_'
4970             nspectxt = 9
4972         else if (l_mastercomp .eq. mastercompindx_pcg4_b_o_aer) then
4973             lptr_dum = lptr_pcg4_b_o_aer(n,itype,iphase)
4974             mcindx_dum = mastercompindx_pcg4_b_o_aer
4975             spectxt = 'pcg4_b_o_'
4976             nspectxt = 9
4978         else if (l_mastercomp .eq. mastercompindx_pcg5_b_o_aer) then
4979             lptr_dum = lptr_pcg5_b_o_aer(n,itype,iphase)
4980             mcindx_dum = mastercompindx_pcg5_b_o_aer
4981             spectxt = 'pcg5_b_o_'
4982             nspectxt = 9
4984         else if (l_mastercomp .eq. mastercompindx_pcg6_b_o_aer) then
4985             lptr_dum = lptr_pcg6_b_o_aer(n,itype,iphase)
4986             mcindx_dum = mastercompindx_pcg6_b_o_aer
4987             spectxt = 'pcg6_b_o_'
4988             nspectxt = 9
4990         else if (l_mastercomp .eq. mastercompindx_pcg7_b_o_aer) then
4991             lptr_dum = lptr_pcg7_b_o_aer(n,itype,iphase)
4992             mcindx_dum = mastercompindx_pcg7_b_o_aer
4993             spectxt = 'pcg7_b_o_'
4994             nspectxt = 9
4996         else if (l_mastercomp .eq. mastercompindx_pcg8_b_o_aer) then
4997             lptr_dum = lptr_pcg8_b_o_aer(n,itype,iphase)
4998             mcindx_dum = mastercompindx_pcg8_b_o_aer
4999             spectxt = 'pcg8_b_o_'
5000             nspectxt = 9
5002         else if (l_mastercomp .eq. mastercompindx_pcg9_b_o_aer) then
5003             lptr_dum = lptr_pcg9_b_o_aer(n,itype,iphase)
5004             mcindx_dum = mastercompindx_pcg9_b_o_aer
5005             spectxt = 'pcg9_b_o_'
5006             nspectxt = 9
5007         else if (l_mastercomp .eq. mastercompindx_opcg1_b_c_aer) then
5008             lptr_dum = lptr_opcg1_b_c_aer(n,itype,iphase)
5009             mcindx_dum = mastercompindx_opcg1_b_c_aer
5010             spectxt = 'opcg1_b_c_'
5011             nspectxt = 10
5013         else if (l_mastercomp .eq. mastercompindx_opcg2_b_c_aer) then
5014             lptr_dum = lptr_opcg2_b_c_aer(n,itype,iphase)
5015             mcindx_dum = mastercompindx_opcg2_b_c_aer
5016             spectxt = 'opcg2_b_c_'
5017             nspectxt = 10
5019         else if (l_mastercomp .eq. mastercompindx_opcg3_b_c_aer) then
5020             lptr_dum = lptr_opcg3_b_c_aer(n,itype,iphase)
5021             mcindx_dum = mastercompindx_opcg3_b_c_aer
5022             spectxt = 'opcg3_b_c_'
5023             nspectxt = 10
5025         else if (l_mastercomp .eq. mastercompindx_opcg4_b_c_aer) then
5026             lptr_dum = lptr_opcg4_b_c_aer(n,itype,iphase)
5027             mcindx_dum = mastercompindx_opcg4_b_c_aer
5028             spectxt = 'opcg4_b_c_'
5029             nspectxt = 10
5031         else if (l_mastercomp .eq. mastercompindx_opcg5_b_c_aer) then
5032             lptr_dum = lptr_opcg5_b_c_aer(n,itype,iphase)
5033             mcindx_dum = mastercompindx_opcg5_b_c_aer
5034             spectxt = 'opcg5_b_c_'
5035             nspectxt = 10
5037         else if (l_mastercomp .eq. mastercompindx_opcg6_b_c_aer) then
5038             lptr_dum = lptr_opcg6_b_c_aer(n,itype,iphase)
5039             mcindx_dum = mastercompindx_opcg6_b_c_aer
5040             spectxt = 'opcg6_b_c_'
5041             nspectxt = 10
5043         else if (l_mastercomp .eq. mastercompindx_opcg7_b_c_aer) then
5044             lptr_dum = lptr_opcg7_b_c_aer(n,itype,iphase)
5045             mcindx_dum = mastercompindx_opcg7_b_c_aer
5046             spectxt = 'opcg7_b_c_'
5047             nspectxt = 10
5049         else if (l_mastercomp .eq. mastercompindx_opcg8_b_c_aer) then
5050             lptr_dum = lptr_opcg8_b_c_aer(n,itype,iphase)
5051             mcindx_dum = mastercompindx_opcg8_b_c_aer
5052             spectxt = 'opcg8_b_c_'
5053             nspectxt = 10
5054         else if (l_mastercomp .eq. mastercompindx_opcg1_b_o_aer) then
5055             lptr_dum = lptr_opcg1_b_o_aer(n,itype,iphase)
5056             mcindx_dum = mastercompindx_opcg1_b_o_aer
5057             spectxt = 'opcg1_b_o_'
5058             nspectxt = 10
5060         else if (l_mastercomp .eq. mastercompindx_opcg2_b_o_aer) then
5061             lptr_dum = lptr_opcg2_b_o_aer(n,itype,iphase)
5062             mcindx_dum = mastercompindx_opcg2_b_o_aer
5063             spectxt = 'opcg2_b_o_'
5064             nspectxt = 10
5066         else if (l_mastercomp .eq. mastercompindx_opcg3_b_o_aer) then
5067             lptr_dum = lptr_opcg3_b_o_aer(n,itype,iphase)
5068             mcindx_dum = mastercompindx_opcg3_b_o_aer
5069             spectxt = 'opcg3_b_o_'
5070             nspectxt = 10
5072         else if (l_mastercomp .eq. mastercompindx_opcg4_b_o_aer) then
5073             lptr_dum = lptr_opcg4_b_o_aer(n,itype,iphase)
5074             mcindx_dum = mastercompindx_opcg4_b_o_aer
5075             spectxt = 'opcg4_b_o_'
5076             nspectxt = 10
5078         else if (l_mastercomp .eq. mastercompindx_opcg5_b_o_aer) then
5079             lptr_dum = lptr_opcg5_b_o_aer(n,itype,iphase)
5080             mcindx_dum = mastercompindx_opcg5_b_o_aer
5081             spectxt = 'opcg5_b_o_'
5082             nspectxt = 10
5084         else if (l_mastercomp .eq. mastercompindx_opcg6_b_o_aer) then
5085             lptr_dum = lptr_opcg6_b_o_aer(n,itype,iphase)
5086             mcindx_dum = mastercompindx_opcg6_b_o_aer
5087             spectxt = 'opcg6_b_o_'
5088             nspectxt = 10
5090         else if (l_mastercomp .eq. mastercompindx_opcg7_b_o_aer) then
5091             lptr_dum = lptr_opcg7_b_o_aer(n,itype,iphase)
5092             mcindx_dum = mastercompindx_opcg7_b_o_aer
5093             spectxt = 'opcg7_b_o_'
5094             nspectxt = 10
5096         else if (l_mastercomp .eq. mastercompindx_opcg8_b_o_aer) then
5097             lptr_dum = lptr_opcg8_b_o_aer(n,itype,iphase)
5098             mcindx_dum = mastercompindx_opcg8_b_o_aer
5099             spectxt = 'opcg8_b_o_'
5100             nspectxt = 10
5101         else if (l_mastercomp .eq. mastercompindx_pcg1_f_c_aer) then
5102             lptr_dum = lptr_pcg1_f_c_aer(n,itype,iphase)
5103             mcindx_dum = mastercompindx_pcg1_f_c_aer
5104             spectxt = 'pcg1_f_c_'
5105             nspectxt = 9
5107         else if (l_mastercomp .eq. mastercompindx_pcg2_f_c_aer) then
5108             lptr_dum = lptr_pcg2_f_c_aer(n,itype,iphase)
5109             mcindx_dum = mastercompindx_pcg2_f_c_aer
5110             spectxt = 'pcg2_f_c_'
5111             nspectxt = 9
5113         else if (l_mastercomp .eq. mastercompindx_pcg3_f_c_aer) then
5114             lptr_dum = lptr_pcg3_f_c_aer(n,itype,iphase)
5115             mcindx_dum = mastercompindx_pcg3_f_c_aer
5116             spectxt = 'pcg3_f_c_'
5117             nspectxt = 9
5119         else if (l_mastercomp .eq. mastercompindx_pcg4_f_c_aer) then
5120             lptr_dum = lptr_pcg4_f_c_aer(n,itype,iphase)
5121             mcindx_dum = mastercompindx_pcg4_f_c_aer
5122             spectxt = 'pcg4_f_c_'
5123             nspectxt = 9
5125         else if (l_mastercomp .eq. mastercompindx_pcg5_f_c_aer) then
5126             lptr_dum = lptr_pcg5_f_c_aer(n,itype,iphase)
5127             mcindx_dum = mastercompindx_pcg5_f_c_aer
5128             spectxt = 'pcg5_f_c_'
5129             nspectxt = 9
5131         else if (l_mastercomp .eq. mastercompindx_pcg6_f_c_aer) then
5132             lptr_dum = lptr_pcg6_f_c_aer(n,itype,iphase)
5133             mcindx_dum = mastercompindx_pcg6_f_c_aer
5134             spectxt = 'pcg6_f_c_'
5135             nspectxt = 9
5137         else if (l_mastercomp .eq. mastercompindx_pcg7_f_c_aer) then
5138             lptr_dum = lptr_pcg7_f_c_aer(n,itype,iphase)
5139             mcindx_dum = mastercompindx_pcg7_f_c_aer
5140             spectxt = 'pcg7_f_c_'
5141             nspectxt = 9
5143         else if (l_mastercomp .eq. mastercompindx_pcg8_f_c_aer) then
5144             lptr_dum = lptr_pcg8_f_c_aer(n,itype,iphase)
5145             mcindx_dum = mastercompindx_pcg8_f_c_aer
5146             spectxt = 'pcg8_f_c_'
5147             nspectxt = 9
5149         else if (l_mastercomp .eq. mastercompindx_pcg9_f_c_aer) then
5150             lptr_dum = lptr_pcg9_f_c_aer(n,itype,iphase)
5151             mcindx_dum = mastercompindx_pcg9_f_c_aer
5152             spectxt = 'pcg9_f_c_'
5153             nspectxt = 9
5154         else if (l_mastercomp .eq. mastercompindx_pcg1_f_o_aer) then
5155             lptr_dum = lptr_pcg1_f_o_aer(n,itype,iphase)
5156             mcindx_dum = mastercompindx_pcg1_f_o_aer
5157             spectxt = 'pcg1_f_o_'
5158             nspectxt = 9
5160         else if (l_mastercomp .eq. mastercompindx_pcg2_f_o_aer) then
5161             lptr_dum = lptr_pcg2_f_o_aer(n,itype,iphase)
5162             mcindx_dum = mastercompindx_pcg2_f_o_aer
5163             spectxt = 'pcg2_f_o_'
5164             nspectxt = 9
5166         else if (l_mastercomp .eq. mastercompindx_pcg3_f_o_aer) then
5167             lptr_dum = lptr_pcg3_f_o_aer(n,itype,iphase)
5168             mcindx_dum = mastercompindx_pcg3_f_o_aer
5169             spectxt = 'pcg3_f_o_'
5170             nspectxt = 9
5172         else if (l_mastercomp .eq. mastercompindx_pcg4_f_o_aer) then
5173             lptr_dum = lptr_pcg4_f_o_aer(n,itype,iphase)
5174             mcindx_dum = mastercompindx_pcg4_f_o_aer
5175             spectxt = 'pcg4_f_o_'
5176             nspectxt = 9
5178         else if (l_mastercomp .eq. mastercompindx_pcg5_f_o_aer) then
5179             lptr_dum = lptr_pcg5_f_o_aer(n,itype,iphase)
5180             mcindx_dum = mastercompindx_pcg5_f_o_aer
5181             spectxt = 'pcg5_f_o_'
5182             nspectxt = 9
5184         else if (l_mastercomp .eq. mastercompindx_pcg6_f_o_aer) then
5185             lptr_dum = lptr_pcg6_f_o_aer(n,itype,iphase)
5186             mcindx_dum = mastercompindx_pcg6_f_o_aer
5187             spectxt = 'pcg6_f_o_'
5188             nspectxt = 9
5190         else if (l_mastercomp .eq. mastercompindx_pcg7_f_o_aer) then
5191             lptr_dum = lptr_pcg7_f_o_aer(n,itype,iphase)
5192             mcindx_dum = mastercompindx_pcg7_f_o_aer
5193             spectxt = 'pcg7_f_o_'
5194             nspectxt = 9
5196         else if (l_mastercomp .eq. mastercompindx_pcg8_f_o_aer) then
5197             lptr_dum = lptr_pcg8_f_o_aer(n,itype,iphase)
5198             mcindx_dum = mastercompindx_pcg8_f_o_aer
5199             spectxt = 'pcg8_f_o_'
5200             nspectxt = 9
5202         else if (l_mastercomp .eq. mastercompindx_pcg9_f_o_aer) then
5203             lptr_dum = lptr_pcg9_f_o_aer(n,itype,iphase)
5204             mcindx_dum = mastercompindx_pcg9_f_o_aer
5205             spectxt = 'pcg9_f_o_'
5206             nspectxt = 9
5207         else if (l_mastercomp .eq. mastercompindx_opcg1_f_c_aer) then
5208             lptr_dum = lptr_opcg1_f_c_aer(n,itype,iphase)
5209             mcindx_dum = mastercompindx_opcg1_f_c_aer
5210             spectxt = 'opcg1_f_c_'
5211             nspectxt = 10
5213         else if (l_mastercomp .eq. mastercompindx_opcg2_f_c_aer) then
5214             lptr_dum = lptr_opcg2_f_c_aer(n,itype,iphase)
5215             mcindx_dum = mastercompindx_opcg2_f_c_aer
5216             spectxt = 'opcg2_f_c_'
5217             nspectxt = 10
5219         else if (l_mastercomp .eq. mastercompindx_opcg3_f_c_aer) then
5220             lptr_dum = lptr_opcg3_f_c_aer(n,itype,iphase)
5221             mcindx_dum = mastercompindx_opcg3_f_c_aer
5222             spectxt = 'opcg3_f_c_'
5223             nspectxt = 10
5225         else if (l_mastercomp .eq. mastercompindx_opcg4_f_c_aer) then
5226             lptr_dum = lptr_opcg4_f_c_aer(n,itype,iphase)
5227             mcindx_dum = mastercompindx_opcg4_f_c_aer
5228             spectxt = 'opcg4_f_c_'
5229             nspectxt = 10
5230         else if (l_mastercomp .eq. mastercompindx_opcg5_f_c_aer) then
5231             lptr_dum = lptr_opcg5_f_c_aer(n,itype,iphase)
5232             mcindx_dum = mastercompindx_opcg5_f_c_aer
5233             spectxt = 'opcg5_f_c_'
5234             nspectxt = 10
5236         else if (l_mastercomp .eq. mastercompindx_opcg6_f_c_aer) then
5237             lptr_dum = lptr_opcg6_f_c_aer(n,itype,iphase)
5238             mcindx_dum = mastercompindx_opcg6_f_c_aer
5239             spectxt = 'opcg6_f_c_'
5240             nspectxt = 10
5242         else if (l_mastercomp .eq. mastercompindx_opcg7_f_c_aer) then
5243             lptr_dum = lptr_opcg7_f_c_aer(n,itype,iphase)
5244             mcindx_dum = mastercompindx_opcg7_f_c_aer
5245             spectxt = 'opcg7_f_c_'
5246             nspectxt = 10
5248         else if (l_mastercomp .eq. mastercompindx_opcg8_f_c_aer) then
5249             lptr_dum = lptr_opcg8_f_c_aer(n,itype,iphase)
5250             mcindx_dum = mastercompindx_opcg8_f_c_aer
5251             spectxt = 'opcg8_f_c_'
5252             nspectxt = 10
5253         else if (l_mastercomp .eq. mastercompindx_opcg1_f_o_aer) then
5254             lptr_dum = lptr_opcg1_f_o_aer(n,itype,iphase)
5255             mcindx_dum = mastercompindx_opcg1_f_o_aer
5256             spectxt = 'opcg1_f_o_'
5257             nspectxt = 10
5258         else if (l_mastercomp .eq. mastercompindx_opcg2_f_o_aer) then
5259             lptr_dum = lptr_opcg2_f_o_aer(n,itype,iphase)
5260             mcindx_dum = mastercompindx_opcg2_f_o_aer
5261             spectxt = 'opcg2_f_o_'
5262             nspectxt = 10
5264         else if (l_mastercomp .eq. mastercompindx_opcg3_f_o_aer) then
5265             lptr_dum = lptr_opcg3_f_o_aer(n,itype,iphase)
5266             mcindx_dum = mastercompindx_opcg3_f_o_aer
5267             spectxt = 'opcg3_f_o_'
5268             nspectxt = 10
5270         else if (l_mastercomp .eq. mastercompindx_opcg4_f_o_aer) then
5271             lptr_dum = lptr_opcg4_f_o_aer(n,itype,iphase)
5272             mcindx_dum = mastercompindx_opcg4_f_o_aer
5273             spectxt = 'opcg4_f_o_'
5274             nspectxt = 10
5276         else if (l_mastercomp .eq. mastercompindx_opcg5_f_o_aer) then
5277             lptr_dum = lptr_opcg5_f_o_aer(n,itype,iphase)
5278             mcindx_dum = mastercompindx_opcg5_f_o_aer
5279             spectxt = 'opcg5_f_o_'
5280             nspectxt = 10
5282         else if (l_mastercomp .eq. mastercompindx_opcg6_f_o_aer) then
5283             lptr_dum = lptr_opcg6_f_o_aer(n,itype,iphase)
5284             mcindx_dum = mastercompindx_opcg6_f_o_aer
5285             spectxt = 'opcg6_f_o_'
5286             nspectxt = 10
5288         else if (l_mastercomp .eq. mastercompindx_opcg7_f_o_aer) then
5289             lptr_dum = lptr_opcg7_f_o_aer(n,itype,iphase)
5290             mcindx_dum = mastercompindx_opcg7_f_o_aer
5291             spectxt = 'opcg7_f_o_'
5292             nspectxt = 10
5294         else if (l_mastercomp .eq. mastercompindx_opcg8_f_o_aer) then
5295             lptr_dum = lptr_opcg8_f_o_aer(n,itype,iphase)
5296             mcindx_dum = mastercompindx_opcg8_f_o_aer
5297             spectxt = 'opcg8_f_o_'
5298             nspectxt = 10
5300         else if (l_mastercomp .eq. mastercompindx_ant1_c_aer) then
5301             lptr_dum = lptr_ant1_c_aer(n,itype,iphase)
5302             mcindx_dum = mastercompindx_ant1_c_aer
5303             spectxt = 'ant1_c_'
5304             nspectxt = 7
5305         else if (l_mastercomp .eq. mastercompindx_ant2_c_aer) then
5306             lptr_dum = lptr_ant2_c_aer(n,itype,iphase)
5307             mcindx_dum = mastercompindx_ant2_c_aer
5308             spectxt = 'ant2_c_'
5309             nspectxt = 7
5310         else if (l_mastercomp .eq. mastercompindx_ant3_c_aer) then
5311             lptr_dum = lptr_ant3_c_aer(n,itype,iphase)
5312             mcindx_dum = mastercompindx_ant3_c_aer
5313             spectxt = 'ant3_c_'
5314             nspectxt = 7
5315         else if (l_mastercomp .eq. mastercompindx_ant4_c_aer) then
5316             lptr_dum = lptr_ant4_c_aer(n,itype,iphase)
5317             mcindx_dum = mastercompindx_ant4_c_aer
5318             spectxt = 'ant4_c_'
5319             nspectxt = 7
5320         else if (l_mastercomp .eq. mastercompindx_ant1_o_aer) then
5321             lptr_dum = lptr_ant1_o_aer(n,itype,iphase)
5322             mcindx_dum = mastercompindx_ant1_o_aer
5323             spectxt = 'ant1_o_'
5324             nspectxt = 7
5325         else if (l_mastercomp .eq. mastercompindx_ant2_o_aer) then
5326             lptr_dum = lptr_ant2_o_aer(n,itype,iphase)
5327             mcindx_dum = mastercompindx_ant2_o_aer
5328             spectxt = 'ant2_o_'
5329             nspectxt = 7
5330         else if (l_mastercomp .eq. mastercompindx_ant3_o_aer) then
5331             lptr_dum = lptr_ant3_o_aer(n,itype,iphase)
5332             mcindx_dum = mastercompindx_ant3_o_aer
5333             spectxt = 'ant3_o_'
5334             nspectxt = 7
5335         else if (l_mastercomp .eq. mastercompindx_ant4_o_aer) then
5336             lptr_dum = lptr_ant4_o_aer(n,itype,iphase)
5337             mcindx_dum = mastercompindx_ant4_o_aer
5338             spectxt = 'ant4_o_'
5339             nspectxt = 7
5340         else if (l_mastercomp .eq. mastercompindx_biog1_c_aer) then
5341             lptr_dum = lptr_biog1_c_aer(n,itype,iphase)
5342             mcindx_dum = mastercompindx_biog1_c_aer
5343             spectxt = 'biog1_c_'
5344             nspectxt = 8
5345         else if (l_mastercomp .eq. mastercompindx_biog2_c_aer) then
5346             lptr_dum = lptr_biog2_c_aer(n,itype,iphase)
5347             mcindx_dum = mastercompindx_biog2_c_aer
5348             spectxt = 'biog2_c_'
5349             nspectxt = 8
5350         else if (l_mastercomp .eq. mastercompindx_biog3_c_aer) then
5351             lptr_dum = lptr_biog3_c_aer(n,itype,iphase)
5352             mcindx_dum = mastercompindx_biog3_c_aer
5353             spectxt = 'biog3_c_'
5354             nspectxt = 8
5355         else if (l_mastercomp .eq. mastercompindx_biog4_c_aer) then
5356             lptr_dum = lptr_biog4_c_aer(n,itype,iphase)
5357             mcindx_dum = mastercompindx_biog4_c_aer
5358             spectxt = 'biog4_c_'
5359             nspectxt = 8
5360         else if (l_mastercomp .eq. mastercompindx_biog1_o_aer) then
5361             lptr_dum = lptr_biog1_o_aer(n,itype,iphase)
5362             mcindx_dum = mastercompindx_biog1_o_aer
5363             spectxt = 'biog1_o_'
5364             nspectxt = 8
5365         else if (l_mastercomp .eq. mastercompindx_biog2_o_aer) then
5366             lptr_dum = lptr_biog2_o_aer(n,itype,iphase)
5367             mcindx_dum = mastercompindx_biog2_o_aer
5368             spectxt = 'biog2_o_'
5369             nspectxt = 8
5370         else if (l_mastercomp .eq. mastercompindx_biog3_o_aer) then
5371             lptr_dum = lptr_biog3_o_aer(n,itype,iphase)
5372             mcindx_dum = mastercompindx_biog3_o_aer
5373             spectxt = 'biog3_o_'
5374             nspectxt = 8
5375         else if (l_mastercomp .eq. mastercompindx_biog4_o_aer) then
5376             lptr_dum = lptr_biog4_o_aer(n,itype,iphase)
5377             mcindx_dum = mastercompindx_biog4_o_aer
5378             spectxt = 'biog4_o_'
5379             nspectxt = 8
5380         else if (l_mastercomp .eq. mastercompindx_smpa_aer) then
5381             lptr_dum = lptr_smpa_aer(n,itype,iphase)
5382             mcindx_dum = mastercompindx_smpa_aer
5383             spectxt = 'smpa_'
5384             nspectxt = 5
5386         else if (l_mastercomp .eq. mastercompindx_smpbb_aer) then
5387             lptr_dum = lptr_smpbb_aer(n,itype,iphase)
5388             mcindx_dum = mastercompindx_smpbb_aer
5389             spectxt = 'smpbb_'
5390             nspectxt = 5
5392          else if (l_mastercomp .eq. mastercompindx_glysoa_r1_aer) then
5393             lptr_dum = lptr_glysoa_r1_aer(n,itype,iphase)
5394             mcindx_dum = mastercompindx_glysoa_r1_aer
5395             spectxt = 'glysoa_r1_'
5396             nspectxt = 10
5398         else if (l_mastercomp .eq. mastercompindx_glysoa_r2_aer) then
5399             lptr_dum = lptr_glysoa_r2_aer(n,itype,iphase)
5400             mcindx_dum = mastercompindx_glysoa_r2_aer
5401             spectxt = 'glysoa_r2_'
5402             nspectxt = 10
5404         else if (l_mastercomp .eq. mastercompindx_glysoa_sfc_aer) then
5405             lptr_dum = lptr_glysoa_sfc_aer(n,itype,iphase)
5406             mcindx_dum = mastercompindx_glysoa_sfc_aer
5407             spectxt = 'glysoa_sfc_'
5408             nspectxt = 11
5410         else if (l_mastercomp .eq. mastercompindx_glysoa_nh4_aer) then
5411             lptr_dum = lptr_glysoa_nh4_aer(n,itype,iphase)
5412             mcindx_dum = mastercompindx_glysoa_nh4_aer
5413             spectxt = 'glysoa_nh4_'
5414             nspectxt = 11
5416         else if (l_mastercomp .eq. mastercompindx_glysoa_oh_aer) then
5417             lptr_dum = lptr_glysoa_oh_aer(n,itype,iphase)
5418             mcindx_dum = mastercompindx_glysoa_oh_aer
5419             spectxt = 'glysoa_oh_'
5420             nspectxt = 10
5423         else if (l_mastercomp .eq. mastercompindx_asoaX_aer) then
5424             lptr_dum = lptr_asoaX_aer(n,itype,iphase)
5425             mcindx_dum = mastercompindx_asoaX_aer
5426             spectxt = 'asoaX_'
5427             nspectxt = 6
5429         else if (l_mastercomp .eq. mastercompindx_asoa1_aer) then
5430             lptr_dum = lptr_asoa1_aer(n,itype,iphase)
5431             mcindx_dum = mastercompindx_asoa1_aer
5432             spectxt = 'asoa1_'
5433             nspectxt = 6
5435         else if (l_mastercomp .eq. mastercompindx_asoa2_aer) then
5436             lptr_dum = lptr_asoa2_aer(n,itype,iphase)
5437             mcindx_dum = mastercompindx_asoa2_aer
5438             spectxt = 'asoa2_'
5439             nspectxt = 6
5441         else if (l_mastercomp .eq. mastercompindx_asoa3_aer) then
5442             lptr_dum = lptr_asoa3_aer(n,itype,iphase)
5443             mcindx_dum = mastercompindx_asoa3_aer
5444             spectxt = 'asoa3_'
5445             nspectxt = 6
5447         else if (l_mastercomp .eq. mastercompindx_asoa4_aer) then
5448             lptr_dum = lptr_asoa4_aer(n,itype,iphase)
5449             mcindx_dum = mastercompindx_asoa4_aer
5450             spectxt = 'asoa4_'
5451             nspectxt = 6
5453         else if (l_mastercomp .eq. mastercompindx_bsoaX_aer) then
5454             lptr_dum = lptr_bsoaX_aer(n,itype,iphase)
5455             mcindx_dum = mastercompindx_bsoaX_aer
5456             spectxt = 'bsoaX_'
5457             nspectxt = 6
5459         else if (l_mastercomp .eq. mastercompindx_bsoa1_aer) then
5460             lptr_dum = lptr_bsoa1_aer(n,itype,iphase)
5461             mcindx_dum = mastercompindx_bsoa1_aer
5462             spectxt = 'bsoa1_'
5463             nspectxt = 6
5465         else if (l_mastercomp .eq. mastercompindx_bsoa2_aer) then
5466             lptr_dum = lptr_bsoa2_aer(n,itype,iphase)
5467             mcindx_dum = mastercompindx_bsoa2_aer
5468             spectxt = 'bsoa2_'
5469             nspectxt = 6
5471         else if (l_mastercomp .eq. mastercompindx_bsoa3_aer) then
5472             lptr_dum = lptr_bsoa3_aer(n,itype,iphase)
5473             mcindx_dum = mastercompindx_bsoa3_aer
5474             spectxt = 'bsoa3_'
5475             nspectxt = 6
5477         else if (l_mastercomp .eq. mastercompindx_bsoa4_aer) then
5478             lptr_dum = lptr_bsoa4_aer(n,itype,iphase)
5479             mcindx_dum = mastercompindx_bsoa4_aer
5480             spectxt = 'bsoa4_'
5481             nspectxt = 6
5482         else
5483             goto 2500
5484         end if
5485         
5486             
5487         if (lptr_dum .gt. lmaxd) then
5488 ! rce 2005-mar-14 - added check for lptr_dum > lmaxd
5489             write( msg, '(a,3(1x,i4))' ) 'itype, isize, iphase =',   &
5490                 itype, isize, iphase
5491             call peg_message( lunout, msg )
5492             write( msg, '(a,3(1x,i4))' ) 'l_mastercomp, lptr_dum, lmaxd =',   &
5493                 l_mastercomp, lptr_dum, lmaxd
5494             call peg_message( lunout, msg )
5495             msg = '*** subr init_data_mosaic_ptr error - lptr_dum > lmaxd'
5496             call peg_error_fatal( lunerr, msg )
5498         else if (lptr_dum .ge. p1st) then
5500             ncomp_dum(isize,iphase) = ncomp_dum(isize,iphase) + iaddto_ncomp
5501             ncomp_plustracer_dum(isize,iphase) =   &
5502                 ncomp_plustracer_dum(isize,iphase) + iaddto_ncomp_plustracer
5504             name(lptr_dum) =   &
5505                 spectxt(1:nspectxt) // phasetxt(1:nphasetxt) //   &
5506                 sizetxt(1:nsizetxt) //  typetxt(1:ntypetxt)
5508             if (l_mastercomp .eq. -2) then
5509 !               (numptr_aer is already set)
5510                 mprognum_aer(n,itype,iphase) = 1
5512             else if (l_mastercomp .eq. -1) then
5513 !               (waterptr_aer is already set)
5514                 continue
5516             else if (l_mastercomp .eq. 0) then
5517 !               (hyswptr_aer is already set)
5518                 continue
5520             else if (l_mastercomp .gt. 0) then
5521                 ll = ncomp_plustracer_dum(isize,iphase)
5522 ! Note massptr_aer holds the species type l1, size bin n and is used at many places in movesect and mosaic drydep code
5523                 massptr_aer(ll,n,itype,iphase) = lptr_dum
5524                 mastercompptr_aer(ll,itype) = mcindx_dum
5526                 name_aer(ll,itype) = name_mastercomp_aer(mcindx_dum)
5527                 dens_aer(ll,itype) = dens_mastercomp_aer(mcindx_dum)
5528                 mw_aer(ll,itype) = mw_mastercomp_aer(mcindx_dum)
5529                 hygro_aer(ll,itype) = hygro_mastercomp_aer(mcindx_dum)
5531             end if
5533         end if
5535 2500    continue        ! l_mastercomp = -1, ntot_mastercomp_aer
5537 2600    continue        ! iphase = 1, nphase_aer
5539 2700    continue        ! isize = 1, nsize_aer(itype)
5542 !   now set ncomp_aer and ncomp_plustracer_aer, 
5543 !   *** and check that the values computed for each size and phase all match
5544         ncomp_aer(itype) = ncomp_dum(1,ai_phase)
5545         ncomp_plustracer_aer(itype) = ncomp_plustracer_dum(1,ai_phase)
5547         do iphase = 1, nphase_aer
5548         do isize = 1, nsize_aer(itype)
5549             if (ncomp_aer(itype) .ne. ncomp_dum(isize,iphase)) then
5550                 msg =  '*** subr init_data_mosaic_ptr - ' //   &
5551                     'ncomp_aer .ne. ncomp_dum'
5552                 call peg_message( lunerr, msg )
5553                 write(msg,9350) 'isize, itype, iphase =', isize, itype, iphase
5554                 call peg_message( lunerr, msg )
5555                 write(msg,9350) 'ncomp_aer, ncomp_dum =',   &
5556                     ncomp_aer(itype), ncomp_dum(isize,iphase)
5557                 call peg_error_fatal( lunerr, msg )
5558             end if
5559             if (ncomp_plustracer_aer(itype) .ne.   &
5560                         ncomp_plustracer_dum(isize,iphase)) then
5561                 msg = '*** subr init_data_mosaic_ptr - ' //   &
5562                     'ncomp_plustracer_aer .ne. ncomp_plustracer_dum'
5563                 call peg_message( lunerr, msg )
5564                 write(msg,9350) 'isize, itype, iphase =', isize, itype, iphase
5565                 call peg_message( lunerr, msg )
5566                 write(msg,9350)   &
5567                     'ncomp_plustracer_aer, ncomp_plustracer_dum =',   &
5568                     ncomp_plustracer_aer(itype),   &
5569                     ncomp_plustracer_dum(isize,iphase)
5570                 call peg_error_fatal( lunerr, msg )
5571             end if
5572         end do
5573         end do
5576 2800    continue        ! itype = 1, ntype_aer
5579 9320    format( a, i1, i1, a, 8x )
5582 !   output wrfch pointers
5584 9350    format( a, 32(1x,i4) )
5585         msg = ' '
5586         call peg_message( lunout, msg )
5587         msg = 'output from subr init_data_mosaic_ptr'
5588         call peg_message( lunout, msg )
5589         write(msg,9350) 'nphase_aer =     ', nphase_aer
5590         call peg_message( lunout, msg )
5592         do iphase=1,nphase_aer
5594         write(msg,9350) 'iphase =     ', iphase
5595         call peg_message( lunout, msg )
5596         write(msg,9350) 'ntype_aer =     ', ntype_aer
5597         call peg_message( lunout, msg )
5599         write(msg,9350) 'ncomp_aer =     ', ncomp_aer
5600         call peg_message( lunout, msg )
5602         do itype=1,ntype_aer
5604         write(msg,9350) 'itype =     ', itype
5605         call peg_message( lunout, msg )
5606         write(msg,9350) 'nsize_aer = ', nsize_aer(itype)
5607         call peg_message( lunout, msg )
5608         write(msg,9350) 'lptr_so4_aer ',   &
5609                 (lptr_so4_aer(n,itype,iphase), n=1,nsize_aer(itype))
5610         call peg_message( lunout, msg )
5611         write(msg,9350) 'lptr_no3_aer ',   &
5612                 (lptr_no3_aer(n,itype,iphase), n=1,nsize_aer(itype))
5613         call peg_message( lunout, msg )
5614         write(msg,9350) 'lptr_cl_aer  ',   &
5615                 (lptr_cl_aer(n,itype,iphase), n=1,nsize_aer(itype))
5616         call peg_message( lunout, msg )
5617         write(msg,9350) 'lptr_msa_aer ',   &
5618                 (lptr_msa_aer(n,itype,iphase), n=1,nsize_aer(itype))
5619         call peg_message( lunout, msg )
5620         write(msg,9350) 'lptr_co3_aer ',   &
5621                 (lptr_co3_aer(n,itype,iphase), n=1,nsize_aer(itype))
5622         call peg_message( lunout, msg )
5623         write(msg,9350) 'lptr_nh4_aer ',   &
5624                 (lptr_nh4_aer(n,itype,iphase), n=1,nsize_aer(itype))
5625         call peg_message( lunout, msg )
5626         write(msg,9350) 'lptr_na_aer  ',   &
5627                 (lptr_na_aer(n,itype,iphase), n=1,nsize_aer(itype))
5628         call peg_message( lunout, msg )
5629         write(msg,9350) 'lptr_ca_aer  ',   &
5630                 (lptr_ca_aer(n,itype,iphase), n=1,nsize_aer(itype))
5631         call peg_message( lunout, msg )
5632         write(msg,9350) 'lptr_oin_aer ',   &
5633                 (lptr_oin_aer(n,itype,iphase), n=1,nsize_aer(itype))
5634         call peg_message( lunout, msg )
5635         write(msg,9350) 'lptr_oc_aer  ',   &
5636                 (lptr_oc_aer(n,itype,iphase), n=1,nsize_aer(itype))
5637         call peg_message( lunout, msg )
5638         write(msg,9350) 'lptr_bc_aer  ',   &
5639                 (lptr_bc_aer(n,itype,iphase), n=1,nsize_aer(itype))
5640         call peg_message( lunout, msg )
5641         write(msg,9350) 'hyswptr_aer',   &
5642                 (hyswptr_aer(n,itype), n=1,nsize_aer(itype))
5643         call peg_message( lunout, msg )
5644         write(msg,9350) 'waterptr_aer  ',   &
5645                 (waterptr_aer(n,itype), n=1,nsize_aer(itype))
5646         call peg_message( lunout, msg )
5647         write(msg,9350) 'numptr_aer     ',   &
5648                 (numptr_aer(n,itype,iphase), n=1,nsize_aer(itype))
5649         call peg_message( lunout, msg )
5650         
5651 ! for all "write(msg)..." lines below: added missing CALL peg_message to actually write out the message
5652         write(msg,9350) 'lptr_pcg1_b_c_aer ',   &
5653                 (lptr_pcg1_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5654         call peg_message( lunout, msg )
5655         write(msg,9350) 'lptr_pcg2_b_c_aer ',   &
5656                 (lptr_pcg2_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5657         call peg_message( lunout, msg )
5658         write(msg,9350) 'lptr_pcg3_b_c_aer ',   &
5659                 (lptr_pcg3_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5660         call peg_message( lunout, msg )
5661         write(msg,9350) 'lptr_pcg4_b_c_aer ',   &
5662                 (lptr_pcg4_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5663         call peg_message( lunout, msg )
5664         write(msg,9350) 'lptr_pcg5_b_c_aer ',   &
5665                 (lptr_pcg5_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5666         call peg_message( lunout, msg )
5667         write(msg,9350) 'lptr_pcg6_b_c_aer ',   &
5668                 (lptr_pcg6_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5669         call peg_message( lunout, msg )
5670         write(msg,9350) 'lptr_pcg7_b_c_aer ',   &
5671                 (lptr_pcg7_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5672         call peg_message( lunout, msg )
5673         write(msg,9350) 'lptr_pcg8_b_c_aer ',   &
5674                 (lptr_pcg8_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5675         call peg_message( lunout, msg )
5676         write(msg,9350) 'lptr_pcg9_b_c_aer ',   &
5677                 (lptr_pcg9_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5678         call peg_message( lunout, msg )
5679         write(msg,9350) 'lptr_pcg1_b_o_aer ',   &
5680                 (lptr_pcg1_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5681         call peg_message( lunout, msg )
5682         write(msg,9350) 'lptr_pcg2_b_o_aer ',   &
5683                 (lptr_pcg2_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5684         call peg_message( lunout, msg )
5685         write(msg,9350) 'lptr_pcg3_b_o_aer ',   &
5686                 (lptr_pcg3_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5687         call peg_message( lunout, msg )
5688         write(msg,9350) 'lptr_pcg4_b_o_aer ',   &
5689                 (lptr_pcg4_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5690         call peg_message( lunout, msg )
5691         write(msg,9350) 'lptr_pcg5_b_o_aer ',   &
5692                 (lptr_pcg5_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5693         call peg_message( lunout, msg )
5694         write(msg,9350) 'lptr_pcg6_b_o_aer ',   &
5695                 (lptr_pcg6_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5696         call peg_message( lunout, msg )
5697         write(msg,9350) 'lptr_pcg7_b_o_aer ',   &
5698                 (lptr_pcg7_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5699         call peg_message( lunout, msg )
5700         write(msg,9350) 'lptr_pcg8_b_o_aer ',   &
5701                 (lptr_pcg8_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5702         call peg_message( lunout, msg )
5703         write(msg,9350) 'lptr_pcg9_b_o_aer ',   &
5704                 (lptr_pcg9_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5705         call peg_message( lunout, msg )
5706         write(msg,9350) 'lptr_opcg1_b_c_aer ',   &
5707                 (lptr_opcg1_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5708         call peg_message( lunout, msg )
5709         write(msg,9350) 'lptr_opcg2_b_c_aer ',   &
5710                 (lptr_opcg2_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5711         call peg_message( lunout, msg )
5712         write(msg,9350) 'lptr_opcg3_b_c_aer ',   &
5713                 (lptr_opcg3_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5714         call peg_message( lunout, msg )
5715         write(msg,9350) 'lptr_opcg4_b_c_aer ',   &
5716                 (lptr_opcg4_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5717         call peg_message( lunout, msg )
5718         write(msg,9350) 'lptr_opcg5_b_c_aer ',   &
5719                 (lptr_opcg5_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5720         call peg_message( lunout, msg )
5721         write(msg,9350) 'lptr_opcg6_b_c_aer ',   &
5722                 (lptr_opcg6_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5723         call peg_message( lunout, msg )
5724         write(msg,9350) 'lptr_opcg7_b_c_aer ',   &
5725                 (lptr_opcg7_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5726         call peg_message( lunout, msg )
5727         write(msg,9350) 'lptr_opcg8_b_c_aer ',   &
5728                 (lptr_opcg8_b_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5729         call peg_message( lunout, msg )
5730         write(msg,9350) 'lptr_opcg1_b_o_aer ',   &
5731                 (lptr_opcg1_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5732         call peg_message( lunout, msg )
5733         write(msg,9350) 'lptr_opcg2_b_o_aer ',   &
5734                 (lptr_opcg2_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5735         call peg_message( lunout, msg )
5736         write(msg,9350) 'lptr_opcg3_b_o_aer ',   &
5737                 (lptr_opcg3_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5738         call peg_message( lunout, msg )
5739         write(msg,9350) 'lptr_opcg4_b_o_aer ',   &
5740                 (lptr_opcg4_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5741         call peg_message( lunout, msg )
5742         write(msg,9350) 'lptr_opcg5_b_o_aer ',   &
5743                 (lptr_opcg5_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5744         call peg_message( lunout, msg )
5745         write(msg,9350) 'lptr_opcg6_b_o_aer ',   &
5746                 (lptr_opcg6_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5747         call peg_message( lunout, msg )
5748         write(msg,9350) 'lptr_opcg7_b_o_aer ',   &
5749                 (lptr_opcg7_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5750         call peg_message( lunout, msg )
5751         write(msg,9350) 'lptr_opcg8_b_o_aer ',   &
5752                 (lptr_opcg8_b_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5753         call peg_message( lunout, msg )
5754         write(msg,9350) 'lptr_pcg1_f_c_aer ',   &
5755                 (lptr_pcg1_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5756         call peg_message( lunout, msg )
5757         write(msg,9350) 'lptr_pcg2_f_c_aer ',   &
5758                 (lptr_pcg2_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5759         call peg_message( lunout, msg )
5760         write(msg,9350) 'lptr_pcg3_f_c_aer ',   &
5761                 (lptr_pcg3_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5762         call peg_message( lunout, msg )
5763         write(msg,9350) 'lptr_pcg4_f_c_aer ',   &
5764                 (lptr_pcg4_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5765         call peg_message( lunout, msg )
5766         write(msg,9350) 'lptr_pcg5_f_c_aer ',   &
5767                 (lptr_pcg5_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5768         call peg_message( lunout, msg )
5769         write(msg,9350) 'lptr_pcg6_f_c_aer ',   &
5770                 (lptr_pcg6_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5771         call peg_message( lunout, msg )
5772         write(msg,9350) 'lptr_pcg7_f_c_aer ',   &
5773                 (lptr_pcg7_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5774         call peg_message( lunout, msg )
5775         write(msg,9350) 'lptr_pcg8_f_c_aer ',   &
5776                 (lptr_pcg8_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5777         call peg_message( lunout, msg )
5778         write(msg,9350) 'lptr_pcg9_f_c_aer ',   &
5779                 (lptr_pcg9_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5780         call peg_message( lunout, msg )
5781         write(msg,9350) 'lptr_pcg1_f_o_aer ',   &
5782                 (lptr_pcg1_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5783         call peg_message( lunout, msg )
5784         write(msg,9350) 'lptr_pcg2_f_o_aer ',   &
5785                 (lptr_pcg2_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5786         call peg_message( lunout, msg )
5787         write(msg,9350) 'lptr_pcg3_f_o_aer ',   &
5788                 (lptr_pcg3_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5789         call peg_message( lunout, msg )
5790         write(msg,9350) 'lptr_pcg4_f_o_aer ',   &
5791                 (lptr_pcg4_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5792         call peg_message( lunout, msg )
5793         write(msg,9350) 'lptr_pcg5_f_o_aer ',   &
5794                 (lptr_pcg5_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5795         call peg_message( lunout, msg )
5796         write(msg,9350) 'lptr_pcg6_f_o_aer ',   &
5797                 (lptr_pcg6_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5798         call peg_message( lunout, msg )
5799         write(msg,9350) 'lptr_pcg7_f_o_aer ',   &
5800                 (lptr_pcg7_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5801         call peg_message( lunout, msg )
5802         write(msg,9350) 'lptr_pcg8_f_o_aer ',   &
5803                 (lptr_pcg8_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5804         call peg_message( lunout, msg )
5805         write(msg,9350) 'lptr_pcg9_f_o_aer ',   &
5806                 (lptr_pcg9_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5807         call peg_message( lunout, msg )
5808         write(msg,9350) 'lptr_opcg1_f_c_aer ',   &
5809                 (lptr_opcg1_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5810         call peg_message( lunout, msg )
5811         write(msg,9350) 'lptr_opcg2_f_c_aer ',   &
5812                 (lptr_opcg2_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5813         call peg_message( lunout, msg )
5814         write(msg,9350) 'lptr_opcg3_f_c_aer ',   &
5815                 (lptr_opcg3_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5816         call peg_message( lunout, msg )
5817         write(msg,9350) 'lptr_opcg4_f_c_aer ',   &
5818                 (lptr_opcg4_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5819         call peg_message( lunout, msg )
5820         write(msg,9350) 'lptr_opcg5_f_c_aer ',   &
5821                 (lptr_opcg5_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5822         call peg_message( lunout, msg )
5823         write(msg,9350) 'lptr_opcg6_f_c_aer ',   &
5824                 (lptr_opcg6_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5825         call peg_message( lunout, msg )
5826         write(msg,9350) 'lptr_opcg7_f_c_aer ',   &
5827                 (lptr_opcg7_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5828         call peg_message( lunout, msg )
5829         write(msg,9350) 'lptr_opcg8_f_c_aer ',   &
5830                 (lptr_opcg8_f_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5831         call peg_message( lunout, msg )
5832         write(msg,9350) 'lptr_opcg1_f_o_aer ',   &
5833                 (lptr_opcg1_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5834         call peg_message( lunout, msg )
5835         write(msg,9350) 'lptr_opcg2_f_o_aer ',   &
5836                 (lptr_opcg2_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5837         call peg_message( lunout, msg )
5838         write(msg,9350) 'lptr_opcg3_f_o_aer ',   &
5839                 (lptr_opcg3_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5840         call peg_message( lunout, msg )
5841         write(msg,9350) 'lptr_opcg4_f_o_aer ',   &
5842                 (lptr_opcg4_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5843         call peg_message( lunout, msg )
5844         write(msg,9350) 'lptr_opcg5_f_o_aer ',   &
5845                 (lptr_opcg5_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5846         call peg_message( lunout, msg )
5847         write(msg,9350) 'lptr_opcg6_f_o_aer ',   &
5848                 (lptr_opcg6_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5849         call peg_message( lunout, msg )
5850         write(msg,9350) 'lptr_opcg7_f_o_aer ',   &
5851                 (lptr_opcg7_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5852         call peg_message( lunout, msg )
5853         write(msg,9350) 'lptr_opcg8_f_o_aer ',   &
5854                 (lptr_opcg8_f_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5855         call peg_message( lunout, msg )
5857         write(msg,9350) 'ant1_c_aer ',   &
5858                 (lptr_ant1_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5859         call peg_message( lunout, msg )
5860         write(msg,9350) 'ant2_c_aer ',   &
5861                 (lptr_ant2_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5862         call peg_message( lunout, msg )
5863         write(msg,9350) 'ant3_c_aer ',   &
5864                 (lptr_ant3_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5865         call peg_message( lunout, msg )
5866         write(msg,9350) 'ant4_c_aer ',   &
5867                 (lptr_ant4_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5868         call peg_message( lunout, msg )
5869         write(msg,9350) 'ant1_o_aer ',   &
5870                 (lptr_ant1_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5871         call peg_message( lunout, msg )
5872         write(msg,9350) 'ant2_o_aer ',   &
5873                 (lptr_ant2_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5874         call peg_message( lunout, msg )
5875         write(msg,9350) 'ant3_o_aer ',   &
5876                 (lptr_ant3_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5877         call peg_message( lunout, msg )
5878         write(msg,9350) 'ant4_o_aer ',   &
5879                 (lptr_ant4_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5880         call peg_message( lunout, msg )
5881         write(msg,9350) 'biog1_c_aer ',   &
5882                 (lptr_biog1_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5883         call peg_message( lunout, msg )
5884         write(msg,9350) 'biog2_c_aer ',   &
5885                 (lptr_biog2_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5886         call peg_message( lunout, msg )
5887         write(msg,9350) 'biog3_c_aer ',   &
5888                 (lptr_biog3_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5889         call peg_message( lunout, msg )
5890         write(msg,9350) 'biog4_c_aer ',   &
5891                 (lptr_biog4_c_aer(n,itype,iphase), n=1,nsize_aer(itype))
5892         call peg_message( lunout, msg )
5893         write(msg,9350) 'biog1_o_aer ',   &
5894                 (lptr_biog1_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5895         call peg_message( lunout, msg )
5896         write(msg,9350) 'biog2_o_aer ',   &
5897                 (lptr_biog2_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5898         call peg_message( lunout, msg )
5899         write(msg,9350) 'biog3_o_aer ',   &
5900                 (lptr_biog3_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5901         call peg_message( lunout, msg )
5902         write(msg,9350) 'biog4_o_aer ',   &
5903                 (lptr_biog4_o_aer(n,itype,iphase), n=1,nsize_aer(itype))
5904         call peg_message( lunout, msg )
5905         write(msg,9350) 'smpa_aer ',   &
5906                 (lptr_smpa_aer(n,itype,iphase), n=1,nsize_aer(itype))
5907         call peg_message( lunout, msg )
5908         write(msg,9350) 'smpbb_aer ',   &
5909                 (lptr_smpbb_aer(n,itype,iphase), n=1,nsize_aer(itype))
5910         call peg_message( lunout, msg )
5911         write(msg,9350) 'glysoa_r1_aer ',   &
5912                 (lptr_glysoa_r1_aer(n,itype,iphase), n=1,nsize_aer(itype))
5913         call peg_message( lunout, msg )
5914         write(msg,9350) 'glysoa_r2_aer ',   &
5915                 (lptr_glysoa_r2_aer(n,itype,iphase), n=1,nsize_aer(itype))
5916         call peg_message( lunout, msg )
5917         write(msg,9350) 'glysoa_sfc_aer ',   &
5918                 (lptr_glysoa_sfc_aer(n,itype,iphase), n=1,nsize_aer(itype))
5919         call peg_message( lunout, msg )
5920         write(msg,9350) 'glysoa_nh4_aer ',   &
5921                 (lptr_glysoa_nh4_aer(n,itype,iphase), n=1,nsize_aer(itype))
5922         call peg_message( lunout, msg )
5923         write(msg,9350) 'glysoa_oh_aer ',   &
5924                 (lptr_glysoa_oh_aer(n,itype,iphase), n=1,nsize_aer(itype))
5925         call peg_message( lunout, msg )
5926         write(msg,9350) 'asoaX_aer ',   &
5927                 (lptr_asoaX_aer(n,itype,iphase), n=1,nsize_aer(itype))
5928         call peg_message( lunout, msg )
5929         write(msg,9350) 'asoa1_aer ',   &
5930                 (lptr_asoa1_aer(n,itype,iphase), n=1,nsize_aer(itype))
5931         call peg_message( lunout, msg )
5932         write(msg,9350) 'asoa2_aer ',   &
5933                 (lptr_asoa2_aer(n,itype,iphase), n=1,nsize_aer(itype))
5934         call peg_message( lunout, msg )
5935         write(msg,9350) 'asoa3_aer ',   &
5936                 (lptr_asoa3_aer(n,itype,iphase), n=1,nsize_aer(itype))
5937         call peg_message( lunout, msg )
5938         write(msg,9350) 'asoa4_aer ',   &
5939                 (lptr_asoa4_aer(n,itype,iphase), n=1,nsize_aer(itype))
5940         call peg_message( lunout, msg )
5942         write(msg,9350) 'bsoaX_aer ',   &
5943                 (lptr_bsoaX_aer(n,itype,iphase), n=1,nsize_aer(itype))
5944         call peg_message( lunout, msg )
5945         write(msg,9350) 'bsoa1_aer ',   &
5946                 (lptr_bsoa1_aer(n,itype,iphase), n=1,nsize_aer(itype))
5947         call peg_message( lunout, msg )
5948         write(msg,9350) 'bsoa2_aer ',   &
5949                 (lptr_bsoa2_aer(n,itype,iphase), n=1,nsize_aer(itype))
5950         call peg_message( lunout, msg )
5951         write(msg,9350) 'bsoa3_aer ',   &
5952                 (lptr_bsoa3_aer(n,itype,iphase), n=1,nsize_aer(itype))
5953         call peg_message( lunout, msg )
5954         write(msg,9350) 'bsoa4_aer ',   &
5955                 (lptr_bsoa4_aer(n,itype,iphase), n=1,nsize_aer(itype))
5956         call peg_message( lunout, msg )
5958   write(*,*) " ---------------------- "
5963         do ll = 1, ncomp_plustracer_aer(itype)
5964 ! added writeout of name_aer to understand which mastercomps are used
5965 !           write(msg,9350) 'massptr_aer(), ll',   &
5966             write(msg,9350) name_aer(ll,itype),   &
5967                 (massptr_aer(ll,n,itype,iphase), n=1,nsize_aer(itype)), ll
5968             call peg_message( lunout, msg )
5969         end do
5970         end do ! type
5971         end do ! phase
5974 !   check aerosol species pointers for "validity"
5976         do iphase=1,nphase_aer
5977         do itype=1,ntype_aer
5978         y_so4 = 0
5979         y_no3 = 0
5980         y_cl = 0
5981         y_msa = 0
5982         y_co3 = 0
5983         y_nh4 = 0
5984         y_na = 0
5985         y_ca = 0
5986         y_oin = 0
5987         y_oc = 0
5988         y_bc = 0
5989         y_hysw = 0
5990         y_water = 0
5991         y_num = 0
5992         y_pcg1_b_c=0
5993         y_pcg2_b_c=0
5994         y_pcg3_b_c=0
5995         y_pcg4_b_c=0
5996         y_pcg5_b_c=0
5997         y_pcg6_b_c=0
5998         y_pcg7_b_c=0
5999         y_pcg8_b_c=0
6000         y_pcg9_b_c=0
6001         y_pcg1_b_o=0
6002         y_pcg2_b_o=0
6003         y_pcg3_b_o=0
6004         y_pcg4_b_o=0
6005         y_pcg5_b_o=0
6006         y_pcg6_b_o=0
6007         y_pcg7_b_o=0
6008         y_pcg8_b_o=0
6009         y_pcg9_b_o=0
6010         y_opcg1_b_c=0
6011         y_opcg2_b_c=0
6012         y_opcg3_b_c=0
6013         y_opcg4_b_c=0
6014         y_opcg5_b_c=0
6015         y_opcg6_b_c=0
6016         y_opcg7_b_c=0
6017         y_opcg8_b_c=0
6018         y_opcg1_b_o=0
6019         y_opcg2_b_o=0
6020         y_opcg3_b_o=0
6021         y_opcg4_b_o=0
6022         y_opcg5_b_o=0
6023         y_opcg6_b_o=0
6024         y_opcg7_b_o=0
6025         y_opcg8_b_o=0
6026         y_pcg1_f_c=0
6027         y_pcg2_f_c=0
6028         y_pcg3_f_c=0
6029         y_pcg4_f_c=0
6030         y_pcg5_f_c=0
6031         y_pcg6_f_c=0
6032         y_pcg7_f_c=0
6033         y_pcg8_f_c=0
6034         y_pcg9_f_c=0
6035         y_pcg1_f_o=0
6036         y_pcg2_f_o=0
6037         y_pcg3_f_o=0
6038         y_pcg4_f_o=0
6039         y_pcg5_f_o=0
6040         y_pcg6_f_o=0
6041         y_pcg7_f_o=0
6042         y_pcg8_f_o=0
6043         y_pcg9_f_o=0
6044         y_opcg1_f_c=0
6045         y_opcg2_f_c=0
6046         y_opcg3_f_c=0
6047         y_opcg4_f_c=0
6048         y_opcg5_f_c=0
6049         y_opcg6_f_c=0
6050         y_opcg7_f_c=0
6051         y_opcg8_f_c=0
6052         y_opcg1_f_o=0
6053         y_opcg2_f_o=0
6054         y_opcg3_f_o=0
6055         y_opcg4_f_o=0
6056         y_opcg5_f_o=0
6057         y_opcg6_f_o=0
6058         y_opcg7_f_o=0
6059         y_opcg8_f_o=0
6060         y_ant1_c=0
6061         y_ant2_c=0
6062         y_ant3_c=0
6063         y_ant4_c=0
6064         y_ant1_o=0
6065         y_ant2_o=0
6066         y_ant3_o=0
6067         y_ant4_o=0
6068         y_biog1_c=0
6069         y_biog2_c=0
6070         y_biog3_c=0
6071         y_biog4_c=0
6072         y_biog1_o=0
6073         y_biog2_o=0
6074         y_biog3_o=0
6075         y_biog4_o=0
6076         y_smpa=0
6077         y_smpbb=0
6078         y_glysoa_r1=0
6079         y_glysoa_r2=0
6080         y_glysoa_sfc=0
6081         y_glysoa_nh4=0
6082         y_glysoa_oh=0
6083         y_asoaX=0
6084         y_asoa1=0
6085         y_asoa2=0
6086         y_asoa3=0
6087         y_asoa4=0
6088         y_bsoaX=0
6089         y_bsoa1=0
6090         y_bsoa2=0
6091         y_bsoa3=0
6092         y_bsoa4=0
6094     
6096         do n = 1, nsize_aer(itype)
6097             if (lptr_so4_aer(n,itype,iphase) .ge. p1st) y_so4 = y_so4 + 1
6098             if (lptr_no3_aer(n,itype,iphase) .ge. p1st) y_no3 = y_no3 + 1
6099             if (lptr_cl_aer(n,itype,iphase)  .ge. p1st) y_cl  = y_cl + 1
6100             if (lptr_msa_aer(n,itype,iphase) .ge. p1st) y_msa = y_msa + 1
6101             if (lptr_co3_aer(n,itype,iphase) .ge. p1st) y_co3 = y_co3 + 1
6102             if (lptr_nh4_aer(n,itype,iphase) .ge. p1st) y_nh4 = y_nh4 + 1
6103             if (lptr_na_aer(n,itype,iphase)  .ge. p1st) y_na  = y_na + 1
6104             if (lptr_ca_aer(n,itype,iphase)  .ge. p1st) y_ca  = y_ca + 1
6105             if (lptr_oin_aer(n,itype,iphase) .ge. p1st) y_oin = y_oin + 1
6106             if (lptr_oc_aer(n,itype,iphase)  .ge. p1st) y_oc  = y_oc + 1
6107             if (lptr_bc_aer(n,itype,iphase)  .ge. p1st) y_bc  = y_bc + 1
6108             if (hyswptr_aer(n,itype)    .ge. p1st) y_hysw = y_hysw + 1
6109             if (waterptr_aer(n,itype)        .ge. p1st) y_water = y_water + 1
6110             if (numptr_aer(n,itype,iphase)   .ge. p1st) y_num = y_num + 1
6111             if (lptr_pcg1_b_c_aer(n,itype,iphase) .ge. p1st) y_pcg1_b_c = y_pcg1_b_c + 1
6112             if (lptr_pcg2_b_c_aer(n,itype,iphase) .ge. p1st) y_pcg2_b_c = y_pcg2_b_c + 1
6113             if (lptr_pcg3_b_c_aer(n,itype,iphase) .ge. p1st) y_pcg3_b_c = y_pcg3_b_c + 1
6114             if (lptr_pcg4_b_c_aer(n,itype,iphase) .ge. p1st) y_pcg4_b_c = y_pcg4_b_c + 1
6115             if (lptr_pcg5_b_c_aer(n,itype,iphase) .ge. p1st) y_pcg5_b_c = y_pcg5_b_c + 1
6116             if (lptr_pcg6_b_c_aer(n,itype,iphase) .ge. p1st) y_pcg6_b_c = y_pcg6_b_c + 1
6117             if (lptr_pcg7_b_c_aer(n,itype,iphase) .ge. p1st) y_pcg7_b_c = y_pcg7_b_c + 1
6118             if (lptr_pcg8_b_c_aer(n,itype,iphase) .ge. p1st) y_pcg8_b_c = y_pcg8_b_c + 1
6119             if (lptr_pcg9_b_c_aer(n,itype,iphase) .ge. p1st) y_pcg9_b_c = y_pcg9_b_c + 1
6120             if (lptr_pcg1_b_o_aer(n,itype,iphase) .ge. p1st) y_pcg1_b_o = y_pcg1_b_o + 1
6121             if (lptr_pcg2_b_o_aer(n,itype,iphase) .ge. p1st) y_pcg2_b_o = y_pcg2_b_o + 1
6122             if (lptr_pcg3_b_o_aer(n,itype,iphase) .ge. p1st) y_pcg3_b_o = y_pcg3_b_o + 1
6123             if (lptr_pcg4_b_o_aer(n,itype,iphase) .ge. p1st) y_pcg4_b_o = y_pcg4_b_o + 1
6124             if (lptr_pcg5_b_o_aer(n,itype,iphase) .ge. p1st) y_pcg5_b_o = y_pcg5_b_o + 1
6125             if (lptr_pcg6_b_o_aer(n,itype,iphase) .ge. p1st) y_pcg6_b_o = y_pcg6_b_o + 1
6126             if (lptr_pcg7_b_o_aer(n,itype,iphase) .ge. p1st) y_pcg7_b_o = y_pcg7_b_o + 1
6127             if (lptr_pcg8_b_o_aer(n,itype,iphase) .ge. p1st) y_pcg8_b_o = y_pcg8_b_o + 1
6128             if (lptr_pcg9_b_o_aer(n,itype,iphase) .ge. p1st) y_pcg9_b_o = y_pcg9_b_o + 1
6129             if (lptr_opcg1_b_c_aer(n,itype,iphase) .ge. p1st) y_opcg1_b_c = y_opcg1_b_c + 1
6130             if (lptr_opcg2_b_c_aer(n,itype,iphase) .ge. p1st) y_opcg2_b_c = y_opcg2_b_c + 1
6131             if (lptr_opcg3_b_c_aer(n,itype,iphase) .ge. p1st) y_opcg3_b_c = y_opcg3_b_c + 1
6132             if (lptr_opcg4_b_c_aer(n,itype,iphase) .ge. p1st) y_opcg4_b_c = y_opcg4_b_c + 1
6133             if (lptr_opcg5_b_c_aer(n,itype,iphase) .ge. p1st) y_opcg5_b_c = y_opcg5_b_c + 1
6134             if (lptr_opcg6_b_c_aer(n,itype,iphase) .ge. p1st) y_opcg6_b_c = y_opcg6_b_c + 1
6135             if (lptr_opcg7_b_c_aer(n,itype,iphase) .ge. p1st) y_opcg7_b_c = y_opcg7_b_c + 1
6136             if (lptr_opcg8_b_c_aer(n,itype,iphase) .ge. p1st) y_opcg8_b_c = y_opcg8_b_c + 1
6137             if (lptr_opcg1_b_o_aer(n,itype,iphase) .ge. p1st) y_opcg1_b_o = y_opcg1_b_o + 1
6138             if (lptr_opcg2_b_o_aer(n,itype,iphase) .ge. p1st) y_opcg2_b_o = y_opcg2_b_o + 1
6139             if (lptr_opcg3_b_o_aer(n,itype,iphase) .ge. p1st) y_opcg3_b_o = y_opcg3_b_o + 1
6140             if (lptr_opcg4_b_o_aer(n,itype,iphase) .ge. p1st) y_opcg4_b_o = y_opcg4_b_o + 1
6141             if (lptr_opcg5_b_o_aer(n,itype,iphase) .ge. p1st) y_opcg5_b_o = y_opcg5_b_o + 1
6142             if (lptr_opcg6_b_o_aer(n,itype,iphase) .ge. p1st) y_opcg6_b_o = y_opcg6_b_o + 1
6143             if (lptr_opcg7_b_o_aer(n,itype,iphase) .ge. p1st) y_opcg7_b_o = y_opcg7_b_o + 1
6144             if (lptr_opcg8_b_o_aer(n,itype,iphase) .ge. p1st) y_opcg8_b_o = y_opcg8_b_o + 1
6145             if (lptr_pcg1_f_c_aer(n,itype,iphase) .ge. p1st) y_pcg1_f_c = y_pcg1_f_c + 1
6146             if (lptr_pcg2_f_c_aer(n,itype,iphase) .ge. p1st) y_pcg2_f_c = y_pcg2_f_c + 1
6147             if (lptr_pcg3_f_c_aer(n,itype,iphase) .ge. p1st) y_pcg3_f_c = y_pcg3_f_c + 1
6148             if (lptr_pcg4_f_c_aer(n,itype,iphase) .ge. p1st) y_pcg4_f_c = y_pcg4_f_c + 1
6149             if (lptr_pcg5_f_c_aer(n,itype,iphase) .ge. p1st) y_pcg5_f_c = y_pcg5_f_c + 1
6150             if (lptr_pcg6_f_c_aer(n,itype,iphase) .ge. p1st) y_pcg6_f_c = y_pcg6_f_c + 1
6151             if (lptr_pcg7_f_c_aer(n,itype,iphase) .ge. p1st) y_pcg7_f_c = y_pcg7_f_c + 1
6152             if (lptr_pcg8_f_c_aer(n,itype,iphase) .ge. p1st) y_pcg8_f_c = y_pcg8_f_c + 1
6153             if (lptr_pcg9_f_c_aer(n,itype,iphase) .ge. p1st) y_pcg9_f_c = y_pcg9_f_c + 1
6154             if (lptr_pcg1_f_o_aer(n,itype,iphase) .ge. p1st) y_pcg1_f_o = y_pcg1_f_o + 1
6155             if (lptr_pcg2_f_o_aer(n,itype,iphase) .ge. p1st) y_pcg2_f_o = y_pcg2_f_o + 1
6156             if (lptr_pcg3_f_o_aer(n,itype,iphase) .ge. p1st) y_pcg3_f_o = y_pcg3_f_o + 1
6157             if (lptr_pcg4_f_o_aer(n,itype,iphase) .ge. p1st) y_pcg4_f_o = y_pcg4_f_o + 1
6158             if (lptr_pcg5_f_o_aer(n,itype,iphase) .ge. p1st) y_pcg5_f_o = y_pcg5_f_o + 1
6159             if (lptr_pcg6_f_o_aer(n,itype,iphase) .ge. p1st) y_pcg6_f_o = y_pcg6_f_o + 1
6160             if (lptr_pcg7_f_o_aer(n,itype,iphase) .ge. p1st) y_pcg7_f_o = y_pcg7_f_o + 1
6161             if (lptr_pcg8_f_o_aer(n,itype,iphase) .ge. p1st) y_pcg8_f_o = y_pcg8_f_o + 1
6162             if (lptr_pcg9_f_o_aer(n,itype,iphase) .ge. p1st) y_pcg9_f_o = y_pcg9_f_o + 1
6163             if (lptr_opcg1_f_c_aer(n,itype,iphase) .ge. p1st) y_opcg1_f_c = y_opcg1_f_c + 1
6164             if (lptr_opcg2_f_c_aer(n,itype,iphase) .ge. p1st) y_opcg2_f_c = y_opcg2_f_c + 1
6165             if (lptr_opcg3_f_c_aer(n,itype,iphase) .ge. p1st) y_opcg3_f_c = y_opcg3_f_c + 1
6166             if (lptr_opcg4_f_c_aer(n,itype,iphase) .ge. p1st) y_opcg4_f_c = y_opcg4_f_c + 1
6167             if (lptr_opcg5_f_c_aer(n,itype,iphase) .ge. p1st) y_opcg5_f_c = y_opcg5_f_c + 1
6168             if (lptr_opcg6_f_c_aer(n,itype,iphase) .ge. p1st) y_opcg6_f_c = y_opcg6_f_c + 1
6169             if (lptr_opcg7_f_c_aer(n,itype,iphase) .ge. p1st) y_opcg7_f_c = y_opcg7_f_c + 1
6170             if (lptr_opcg8_f_c_aer(n,itype,iphase) .ge. p1st) y_opcg8_f_c = y_opcg8_f_c + 1
6171             if (lptr_opcg1_f_o_aer(n,itype,iphase) .ge. p1st) y_opcg1_f_o = y_opcg1_f_o + 1
6172             if (lptr_opcg2_f_o_aer(n,itype,iphase) .ge. p1st) y_opcg2_f_o = y_opcg2_f_o + 1
6173             if (lptr_opcg3_f_o_aer(n,itype,iphase) .ge. p1st) y_opcg3_f_o = y_opcg3_f_o + 1
6174             if (lptr_opcg4_f_o_aer(n,itype,iphase) .ge. p1st) y_opcg4_f_o = y_opcg4_f_o + 1
6175             if (lptr_opcg5_f_o_aer(n,itype,iphase) .ge. p1st) y_opcg5_f_o = y_opcg5_f_o + 1
6176             if (lptr_opcg6_f_o_aer(n,itype,iphase) .ge. p1st) y_opcg6_f_o = y_opcg6_f_o + 1
6177             if (lptr_opcg7_f_o_aer(n,itype,iphase) .ge. p1st) y_opcg7_f_o = y_opcg7_f_o + 1
6178             if (lptr_opcg8_f_o_aer(n,itype,iphase) .ge. p1st) y_opcg8_f_o = y_opcg8_f_o + 1
6179             if (lptr_ant1_c_aer(n,itype,iphase) .ge. p1st) y_ant1_c = y_ant1_c + 1
6180             if (lptr_ant2_c_aer(n,itype,iphase) .ge. p1st) y_ant2_c = y_ant2_c + 1
6181             if (lptr_ant3_c_aer(n,itype,iphase) .ge. p1st) y_ant3_c = y_ant3_c + 1
6182             if (lptr_ant4_c_aer(n,itype,iphase) .ge. p1st) y_ant4_c = y_ant4_c + 1
6183             if (lptr_ant1_o_aer(n,itype,iphase) .ge. p1st) y_ant1_o = y_ant1_o + 1
6184             if (lptr_ant2_o_aer(n,itype,iphase) .ge. p1st) y_ant2_o = y_ant2_o + 1
6185             if (lptr_ant3_o_aer(n,itype,iphase) .ge. p1st) y_ant3_o = y_ant3_o + 1
6186             if (lptr_ant4_o_aer(n,itype,iphase) .ge. p1st) y_ant4_o = y_ant4_o + 1
6187             if (lptr_biog1_c_aer(n,itype,iphase) .ge. p1st) y_biog1_c = y_biog1_c + 1
6188             if (lptr_biog2_c_aer(n,itype,iphase) .ge. p1st) y_biog2_c = y_biog2_c + 1
6189             if (lptr_biog3_c_aer(n,itype,iphase) .ge. p1st) y_biog3_c = y_biog3_c + 1
6190             if (lptr_biog4_c_aer(n,itype,iphase) .ge. p1st) y_biog4_c = y_biog4_c + 1
6191             if (lptr_biog1_o_aer(n,itype,iphase) .ge. p1st) y_biog1_o = y_biog1_o + 1
6192             if (lptr_biog2_o_aer(n,itype,iphase) .ge. p1st) y_biog2_o = y_biog2_o + 1
6193             if (lptr_biog3_o_aer(n,itype,iphase) .ge. p1st) y_biog3_o = y_biog3_o + 1
6194             if (lptr_biog4_o_aer(n,itype,iphase) .ge. p1st) y_biog4_o = y_biog4_o + 1
6195             if (lptr_smpa_aer(n,itype,iphase) .ge. p1st) y_smpa = y_smpa + 1
6196             if (lptr_smpbb_aer(n,itype,iphase) .ge. p1st) y_smpbb = y_smpbb + 1
6197             if (lptr_glysoa_r1_aer(n,itype,iphase) .ge. p1st) y_glysoa_r1 = y_glysoa_r1 + 1
6198             if (lptr_glysoa_r2_aer(n,itype,iphase) .ge. p1st) y_glysoa_r2 = y_glysoa_r2 + 1
6199             if (lptr_glysoa_sfc_aer(n,itype,iphase) .ge. p1st) y_glysoa_sfc = y_glysoa_sfc + 1
6200             if (lptr_glysoa_nh4_aer(n,itype,iphase) .ge. p1st) y_glysoa_nh4 = y_glysoa_nh4 + 1
6201             if (lptr_glysoa_oh_aer(n,itype,iphase) .ge. p1st) y_glysoa_oh = y_glysoa_oh + 1
6202             if (lptr_asoaX_aer(n,itype,iphase) .ge. p1st) y_asoaX = y_asoaX + 1
6203             if (lptr_asoa1_aer(n,itype,iphase) .ge. p1st) y_asoa1 = y_asoa1 + 1
6204             if (lptr_asoa2_aer(n,itype,iphase) .ge. p1st) y_asoa2 = y_asoa2 + 1
6205             if (lptr_asoa3_aer(n,itype,iphase) .ge. p1st) y_asoa3 = y_asoa3 + 1
6206             if (lptr_asoa4_aer(n,itype,iphase) .ge. p1st) y_asoa4 = y_asoa4 + 1
6207             if (lptr_bsoaX_aer(n,itype,iphase) .ge. p1st) y_bsoaX = y_bsoaX + 1
6208             if (lptr_bsoa1_aer(n,itype,iphase) .ge. p1st) y_bsoa1 = y_bsoa1 + 1
6209             if (lptr_bsoa2_aer(n,itype,iphase) .ge. p1st) y_bsoa2 = y_bsoa2 + 1
6210             if (lptr_bsoa3_aer(n,itype,iphase) .ge. p1st) y_bsoa3 = y_bsoa3 + 1
6211             if (lptr_bsoa4_aer(n,itype,iphase) .ge. p1st) y_bsoa4 = y_bsoa4 + 1
6213         end do
6215 !   these must be defined for all aerosol bins
6216         if (y_so4 .ne. nsize_aer(itype)) then
6217             msg = '*** subr init_data_mosaic_ptr - ptr error for so4'
6218             call peg_message( lunerr, msg )
6219             write(msg,9350) 'phase, type=', iphase,itype
6220             call peg_error_fatal( lunerr, msg )
6221         else if (y_water .ne. nsize_aer(itype)) then
6222             msg = '*** subr init_data_mosaic_ptr - ptr error for water'
6223             call peg_message( lunerr, msg )
6224             write(msg,9350) 'phase, type=', iphase,itype
6225             call peg_error_fatal( lunerr, msg )
6226         else if (y_num .ne. nsize_aer(itype)) then
6227             msg = '*** subr init_data_mosaic_ptr - ptr error for num'
6228             call peg_message( lunerr, msg )
6229             write(msg,9350) 'phase, type=', iphase,itype
6230             call peg_error_fatal( lunerr, msg )
6231         end if
6234 !   these must be defined for all aerosol bins
6235 !       or else undefined for all aerosol bins
6236         if      ((y_no3 .ne. 0) .and.   &
6237                  (y_no3 .ne. nsize_aer(itype))) then
6238             msg = '*** subr init_data_mosaic_ptr - ptr error for no3'
6239             call peg_message( lunerr, msg )
6240             write(msg,9350) 'phase, type=', iphase,itype
6241             call peg_error_fatal( lunerr, msg )
6242         else if ((y_cl .ne. 0) .and.   &
6243                  (y_cl .ne. nsize_aer(itype))) then
6244             msg = '*** subr init_data_mosaic_ptr - ptr error for cl'
6245             call peg_message( lunerr, msg )
6246             write(msg,9350) 'phase, type=', iphase,itype
6247             call peg_error_fatal( lunerr, msg )
6249         else if ((y_pcg1_b_c .ne. 0) .and.   &
6250                  (y_pcg1_b_c .ne. nsize_aer(itype))) then
6251             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg1_b_c'
6252             call peg_message( lunerr, msg )
6253             write(msg,9350) 'phase, type=', iphase,itype
6254             call peg_error_fatal( lunerr, msg )
6255         else if ((y_pcg2_b_c .ne. 0) .and.   &
6256                  (y_pcg2_b_c .ne. nsize_aer(itype))) then
6257             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg2_b_c'
6258             call peg_message( lunerr, msg )
6259             write(msg,9350) 'phase, type=', iphase,itype
6260             call peg_error_fatal( lunerr, msg )
6261         else if ((y_pcg3_b_c .ne. 0) .and.   &
6262                  (y_pcg3_b_c .ne. nsize_aer(itype))) then
6263             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg3_b_c'
6264             call peg_message( lunerr, msg )
6265             write(msg,9350) 'phase, type=', iphase,itype
6266             call peg_error_fatal( lunerr, msg )
6267         else if ((y_pcg4_b_c .ne. 0) .and.   &
6268                  (y_pcg4_b_c .ne. nsize_aer(itype))) then
6269             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg4_b_c'
6270             call peg_message( lunerr, msg )
6271             write(msg,9350) 'phase, type=', iphase,itype
6272             call peg_error_fatal( lunerr, msg )
6273         else if ((y_pcg5_b_c .ne. 0) .and.   &
6274                  (y_pcg5_b_c .ne. nsize_aer(itype))) then
6275             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg5_b_c'
6276             call peg_message( lunerr, msg )
6277             write(msg,9350) 'phase, type=', iphase,itype
6278             call peg_error_fatal( lunerr, msg )
6279         else if ((y_pcg6_b_c .ne. 0) .and.   &
6280                  (y_pcg6_b_c .ne. nsize_aer(itype))) then
6281             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg6_b_c'
6282             call peg_message( lunerr, msg )
6283             write(msg,9350) 'phase, type=', iphase,itype
6284             call peg_error_fatal( lunerr, msg )
6285         else if ((y_pcg7_b_c .ne. 0) .and.   &
6286                  (y_pcg7_b_c .ne. nsize_aer(itype))) then
6287             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg7_b_c'
6288             call peg_message( lunerr, msg )
6289             write(msg,9350) 'phase, type=', iphase,itype
6290             call peg_error_fatal( lunerr, msg )
6291         else if ((y_pcg8_b_c .ne. 0) .and.   &
6292                  (y_pcg8_b_c .ne. nsize_aer(itype))) then
6293             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg8_b_c'
6294             call peg_message( lunerr, msg )
6295             write(msg,9350) 'phase, type=', iphase,itype
6296             call peg_error_fatal( lunerr, msg )
6297         else if ((y_pcg9_b_c .ne. 0) .and.   &
6298                  (y_pcg9_b_c .ne. nsize_aer(itype))) then
6299             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg9_b_c'
6300             call peg_message( lunerr, msg )
6301             write(msg,9350) 'phase, type=', iphase,itype
6302             call peg_error_fatal( lunerr, msg )
6303         else if ((y_pcg1_b_o .ne. 0) .and.   &
6304                  (y_pcg1_b_o .ne. nsize_aer(itype))) then
6305             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg1_b_o'
6306             call peg_message( lunerr, msg )
6307             write(msg,9350) 'phase, type=', iphase,itype
6308             call peg_error_fatal( lunerr, msg )
6309         else if ((y_pcg2_b_o .ne. 0) .and.   &
6310                  (y_pcg2_b_o .ne. nsize_aer(itype))) then
6311             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg2_b_o'
6312             call peg_message( lunerr, msg )
6313             write(msg,9350) 'phase, type=', iphase,itype
6314             call peg_error_fatal( lunerr, msg )
6315         else if ((y_pcg3_b_o .ne. 0) .and.   &
6316                  (y_pcg3_b_o .ne. nsize_aer(itype))) then
6317             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg3_b_o'
6318             call peg_message( lunerr, msg )
6319             write(msg,9350) 'phase, type=', iphase,itype
6320             call peg_error_fatal( lunerr, msg )
6321         else if ((y_pcg4_b_o .ne. 0) .and.   &
6322                  (y_pcg4_b_o .ne. nsize_aer(itype))) then
6323             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg4_b_o'
6324             call peg_message( lunerr, msg )
6325             write(msg,9350) 'phase, type=', iphase,itype
6326             call peg_error_fatal( lunerr, msg )
6327         else if ((y_pcg5_b_o .ne. 0) .and.   &
6328                  (y_pcg5_b_o .ne. nsize_aer(itype))) then
6329             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg5_b_o'
6330             call peg_message( lunerr, msg )
6331             write(msg,9350) 'phase, type=', iphase,itype
6332             call peg_error_fatal( lunerr, msg )
6333         else if ((y_pcg6_b_o .ne. 0) .and.   &
6334                  (y_pcg6_b_o .ne. nsize_aer(itype))) then
6335             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg6_b_o'
6336             call peg_message( lunerr, msg )
6337             write(msg,9350) 'phase, type=', iphase,itype
6338             call peg_error_fatal( lunerr, msg )
6339         else if ((y_pcg7_b_o .ne. 0) .and.   &
6340                  (y_pcg7_b_o .ne. nsize_aer(itype))) then
6341             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg7_b_o'
6342             call peg_message( lunerr, msg )
6343             write(msg,9350) 'phase, type=', iphase,itype
6344             call peg_error_fatal( lunerr, msg )
6345         else if ((y_pcg8_b_o .ne. 0) .and.   &
6346                  (y_pcg8_b_o .ne. nsize_aer(itype))) then
6347             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg8_b_o'
6348             call peg_message( lunerr, msg )
6349             write(msg,9350) 'phase, type=', iphase,itype
6350             call peg_error_fatal( lunerr, msg )
6351         else if ((y_pcg9_b_o .ne. 0) .and.   &
6352                  (y_pcg9_b_o .ne. nsize_aer(itype))) then
6353             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg9_b_o'
6354             call peg_message( lunerr, msg )
6355             write(msg,9350) 'phase, type=', iphase,itype
6356             call peg_error_fatal( lunerr, msg )
6357         else if ((y_opcg1_b_o .ne. 0) .and.   &
6358                  (y_opcg1_b_o .ne. nsize_aer(itype))) then
6359             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg1_b_o'
6360             call peg_message( lunerr, msg )
6361             write(msg,9350) 'phase, type=', iphase,itype
6362             call peg_error_fatal( lunerr, msg )
6363         else if ((y_opcg2_b_o .ne. 0) .and.   &
6364                  (y_opcg2_b_o .ne. nsize_aer(itype))) then
6365             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg2_b_o'
6366             call peg_message( lunerr, msg )
6367             write(msg,9350) 'phase, type=', iphase,itype
6368             call peg_error_fatal( lunerr, msg )
6369         else if ((y_opcg3_b_o .ne. 0) .and.   &
6370                  (y_opcg3_b_o .ne. nsize_aer(itype))) then
6371             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg3_b_o'
6372             call peg_message( lunerr, msg )
6373             write(msg,9350) 'phase, type=', iphase,itype
6374             call peg_error_fatal( lunerr, msg )
6375         else if ((y_opcg4_b_o .ne. 0) .and.   &
6376                  (y_opcg4_b_o .ne. nsize_aer(itype))) then
6377             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg4_b_o'
6378             call peg_message( lunerr, msg )
6379             write(msg,9350) 'phase, type=', iphase,itype
6380             call peg_error_fatal( lunerr, msg )
6381         else if ((y_opcg5_b_o .ne. 0) .and.   &
6382                  (y_opcg5_b_o .ne. nsize_aer(itype))) then
6383             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg5_b_o'
6384             call peg_message( lunerr, msg )
6385             write(msg,9350) 'phase, type=', iphase,itype
6386             call peg_error_fatal( lunerr, msg )
6387         else if ((y_opcg6_b_o .ne. 0) .and.   &
6388                  (y_opcg6_b_o .ne. nsize_aer(itype))) then
6389             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg6_b_o'
6390             call peg_message( lunerr, msg )
6391             write(msg,9350) 'phase, type=', iphase,itype
6392             call peg_error_fatal( lunerr, msg )
6393         else if ((y_opcg7_b_o .ne. 0) .and.   &
6394                  (y_opcg7_b_o .ne. nsize_aer(itype))) then
6395             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg7_b_o'
6396             call peg_message( lunerr, msg )
6397             write(msg,9350) 'phase, type=', iphase,itype
6398             call peg_error_fatal( lunerr, msg )
6399         else if ((y_opcg8_b_o .ne. 0) .and.   &
6400                  (y_opcg8_b_o .ne. nsize_aer(itype))) then
6401             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg8_b_o'
6402             call peg_message( lunerr, msg )
6403             write(msg,9350) 'phase, type=', iphase,itype
6404             call peg_error_fatal( lunerr, msg )
6405         else if ((y_opcg1_b_c .ne. 0) .and.   &
6406                  (y_opcg1_b_c .ne. nsize_aer(itype))) then
6407             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg1_b_c'
6408             call peg_message( lunerr, msg )
6409             write(msg,9350) 'phase, type=', iphase,itype
6410             call peg_error_fatal( lunerr, msg )
6411         else if ((y_opcg2_b_c .ne. 0) .and.   &
6412                  (y_opcg2_b_c .ne. nsize_aer(itype))) then
6413             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg2_b_c'
6414             call peg_message( lunerr, msg )
6415             write(msg,9350) 'phase, type=', iphase,itype
6416             call peg_error_fatal( lunerr, msg )
6417         else if ((y_opcg3_b_c .ne. 0) .and.   &
6418                  (y_opcg3_b_c .ne. nsize_aer(itype))) then
6419             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg3_b_c'
6420             call peg_message( lunerr, msg )
6421             write(msg,9350) 'phase, type=', iphase,itype
6422             call peg_error_fatal( lunerr, msg )
6423         else if ((y_opcg4_b_c .ne. 0) .and.   &
6424                  (y_opcg4_b_c .ne. nsize_aer(itype))) then
6425             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg4_b_c'
6426             call peg_message( lunerr, msg )
6427             write(msg,9350) 'phase, type=', iphase,itype
6428             call peg_error_fatal( lunerr, msg )
6429         else if ((y_opcg5_b_c .ne. 0) .and.   &
6430                  (y_opcg5_b_c .ne. nsize_aer(itype))) then
6431             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg5_b_c'
6432             call peg_message( lunerr, msg )
6433             write(msg,9350) 'phase, type=', iphase,itype
6434             call peg_error_fatal( lunerr, msg )
6435         else if ((y_opcg6_b_c .ne. 0) .and.   &
6436                  (y_opcg6_b_c .ne. nsize_aer(itype))) then
6437             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg6_b_c'
6438             call peg_message( lunerr, msg )
6439             write(msg,9350) 'phase, type=', iphase,itype
6440             call peg_error_fatal( lunerr, msg )
6441         else if ((y_opcg7_b_c .ne. 0) .and.   &
6442                  (y_opcg7_b_c .ne. nsize_aer(itype))) then
6443             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg7_b_c'
6444             call peg_message( lunerr, msg )
6445             write(msg,9350) 'phase, type=', iphase,itype
6446             call peg_error_fatal( lunerr, msg )
6447         else if ((y_opcg8_b_c .ne. 0) .and.   &
6448                  (y_opcg8_b_c .ne. nsize_aer(itype))) then
6449             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg8_b_c'
6450             call peg_message( lunerr, msg )
6451             write(msg,9350) 'phase, type=', iphase,itype
6452             call peg_error_fatal( lunerr, msg )
6453         else if ((y_pcg1_f_c .ne. 0) .and.   &
6454                  (y_pcg1_f_c .ne. nsize_aer(itype))) then
6455             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg1_f_c'
6456             call peg_message( lunerr, msg )
6457             write(msg,9350) 'phase, type=', iphase,itype
6458             call peg_error_fatal( lunerr, msg )
6459         else if ((y_pcg2_f_c .ne. 0) .and.   &
6460                  (y_pcg2_f_c .ne. nsize_aer(itype))) then
6461             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg2_f_c'
6462             call peg_message( lunerr, msg )
6463             write(msg,9350) 'phase, type=', iphase,itype
6464             call peg_error_fatal( lunerr, msg )
6465         else if ((y_pcg3_f_c .ne. 0) .and.   &
6466                  (y_pcg3_f_c .ne. nsize_aer(itype))) then
6467             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg3_f_c'
6468             call peg_message( lunerr, msg )
6469             write(msg,9350) 'phase, type=', iphase,itype
6470             call peg_error_fatal( lunerr, msg )
6471         else if ((y_pcg4_f_c .ne. 0) .and.   &
6472                  (y_pcg4_f_c .ne. nsize_aer(itype))) then
6473             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg4_f_c'
6474             call peg_message( lunerr, msg )
6475             write(msg,9350) 'phase, type=', iphase,itype
6476             call peg_error_fatal( lunerr, msg )
6477         else if ((y_pcg5_f_c .ne. 0) .and.   &
6478                  (y_pcg5_f_c .ne. nsize_aer(itype))) then
6479             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg5_f_c'
6480             call peg_message( lunerr, msg )
6481             write(msg,9350) 'phase, type=', iphase,itype
6482             call peg_error_fatal( lunerr, msg )
6483         else if ((y_pcg6_f_c .ne. 0) .and.   &
6484                  (y_pcg6_f_c .ne. nsize_aer(itype))) then
6485             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg6_f_c'
6486             call peg_message( lunerr, msg )
6487             write(msg,9350) 'phase, type=', iphase,itype
6488             call peg_error_fatal( lunerr, msg )
6489         else if ((y_pcg7_f_c .ne. 0) .and.   &
6490                  (y_pcg7_f_c .ne. nsize_aer(itype))) then
6491             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg7_f_c'
6492             call peg_message( lunerr, msg )
6493             write(msg,9350) 'phase, type=', iphase,itype
6494             call peg_error_fatal( lunerr, msg )
6495         else if ((y_pcg8_f_c .ne. 0) .and.   &
6496                  (y_pcg8_f_c .ne. nsize_aer(itype))) then
6497             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg8_f_c'
6498             call peg_message( lunerr, msg )
6499             write(msg,9350) 'phase, type=', iphase,itype
6500             call peg_error_fatal( lunerr, msg )
6501         else if ((y_pcg9_f_c .ne. 0) .and.   &
6502                  (y_pcg9_f_c .ne. nsize_aer(itype))) then
6503             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg9_f_c'
6504             call peg_message( lunerr, msg )
6505             write(msg,9350) 'phase, type=', iphase,itype
6506             call peg_error_fatal( lunerr, msg )
6507         else if ((y_pcg1_f_o .ne. 0) .and.   &
6508                  (y_pcg1_f_o .ne. nsize_aer(itype))) then
6509             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg1_f_o'
6510             call peg_message( lunerr, msg )
6511             write(msg,9350) 'phase, type=', iphase,itype
6512             call peg_error_fatal( lunerr, msg )
6513         else if ((y_pcg2_f_o .ne. 0) .and.   &
6514                  (y_pcg2_f_o .ne. nsize_aer(itype))) then
6515             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg2_f_o'
6516             call peg_message( lunerr, msg )
6517             write(msg,9350) 'phase, type=', iphase,itype
6518             call peg_error_fatal( lunerr, msg )
6519         else if ((y_pcg3_f_o .ne. 0) .and.   &
6520                  (y_pcg3_f_o .ne. nsize_aer(itype))) then
6521             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg3_f_o'
6522             call peg_message( lunerr, msg )
6523             write(msg,9350) 'phase, type=', iphase,itype
6524             call peg_error_fatal( lunerr, msg )
6525         else if ((y_pcg4_f_o .ne. 0) .and.   &
6526                  (y_pcg4_f_o .ne. nsize_aer(itype))) then
6527             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg4_f_o'
6528             call peg_message( lunerr, msg )
6529             write(msg,9350) 'phase, type=', iphase,itype
6530             call peg_error_fatal( lunerr, msg )
6531         else if ((y_pcg5_f_o .ne. 0) .and.   &
6532                  (y_pcg5_f_o .ne. nsize_aer(itype))) then
6533             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg5_f_o'
6534             call peg_message( lunerr, msg )
6535             write(msg,9350) 'phase, type=', iphase,itype
6536             call peg_error_fatal( lunerr, msg )
6537         else if ((y_pcg6_f_o .ne. 0) .and.   &
6538                  (y_pcg6_f_o .ne. nsize_aer(itype))) then
6539             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg6_f_o'
6540             call peg_message( lunerr, msg )
6541             write(msg,9350) 'phase, type=', iphase,itype
6542             call peg_error_fatal( lunerr, msg )
6543         else if ((y_pcg7_f_o .ne. 0) .and.   &
6544                  (y_pcg7_f_o .ne. nsize_aer(itype))) then
6545             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg7_f_o'
6546             call peg_message( lunerr, msg )
6547             write(msg,9350) 'phase, type=', iphase,itype
6548             call peg_error_fatal( lunerr, msg )
6549         else if ((y_pcg8_f_o .ne. 0) .and.   &
6550                  (y_pcg8_f_o .ne. nsize_aer(itype))) then
6551             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg8_f_o'
6552             call peg_message( lunerr, msg )
6553             write(msg,9350) 'phase, type=', iphase,itype
6554             call peg_error_fatal( lunerr, msg )
6555         else if ((y_pcg9_f_o .ne. 0) .and.   &
6556                  (y_pcg9_f_o .ne. nsize_aer(itype))) then
6557             msg = '*** subr init_data_mosaic_ptr - ptr error for pcg9_f_o'
6558             call peg_message( lunerr, msg )
6559             write(msg,9350) 'phase, type=', iphase,itype
6560             call peg_error_fatal( lunerr, msg )
6561         else if ((y_opcg1_f_o .ne. 0) .and.   &
6562                  (y_opcg1_f_o .ne. nsize_aer(itype))) then
6563             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg1_f_o'
6564             call peg_message( lunerr, msg )
6565             write(msg,9350) 'phase, type=', iphase,itype
6566             call peg_error_fatal( lunerr, msg )
6567         else if ((y_opcg2_f_o .ne. 0) .and.   &
6568                  (y_opcg2_f_o .ne. nsize_aer(itype))) then
6569             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg2_f_o'
6570             call peg_message( lunerr, msg )
6571             write(msg,9350) 'phase, type=', iphase,itype
6572             call peg_error_fatal( lunerr, msg )
6573         else if ((y_opcg3_f_o .ne. 0) .and.   &
6574                  (y_opcg3_f_o .ne. nsize_aer(itype))) then
6575             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg3_f_o'
6576             call peg_message( lunerr, msg )
6577             write(msg,9350) 'phase, type=', iphase,itype
6578             call peg_error_fatal( lunerr, msg )
6579         else if ((y_opcg4_f_o .ne. 0) .and.   &
6580                  (y_opcg4_f_o .ne. nsize_aer(itype))) then
6581             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg4_f_o'
6582             call peg_message( lunerr, msg )
6583             write(msg,9350) 'phase, type=', iphase,itype
6584             call peg_error_fatal( lunerr, msg )
6585         else if ((y_opcg5_f_o .ne. 0) .and.   &
6586                  (y_opcg5_f_o .ne. nsize_aer(itype))) then
6587             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg5_f_o'
6588             call peg_message( lunerr, msg )
6589             write(msg,9350) 'phase, type=', iphase,itype
6590             call peg_error_fatal( lunerr, msg )
6591         else if ((y_opcg6_f_o .ne. 0) .and.   &
6592                  (y_opcg6_f_o .ne. nsize_aer(itype))) then
6593             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg6_f_o'
6594             call peg_message( lunerr, msg )
6595             write(msg,9350) 'phase, type=', iphase,itype
6596             call peg_error_fatal( lunerr, msg )
6597         else if ((y_opcg7_f_o .ne. 0) .and.   &
6598                  (y_opcg7_f_o .ne. nsize_aer(itype))) then
6599             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg7_f_o'
6600             call peg_message( lunerr, msg )
6601             write(msg,9350) 'phase, type=', iphase,itype
6602             call peg_error_fatal( lunerr, msg )
6603         else if ((y_opcg8_f_o .ne. 0) .and.   &
6604                  (y_opcg8_f_o .ne. nsize_aer(itype))) then
6605             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg8_f_o'
6606             call peg_message( lunerr, msg )
6607             write(msg,9350) 'phase, type=', iphase,itype
6608             call peg_error_fatal( lunerr, msg )
6609         else if ((y_opcg1_f_c .ne. 0) .and.   &
6610                  (y_opcg1_f_c .ne. nsize_aer(itype))) then
6611             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg1_f_c'
6612             call peg_message( lunerr, msg )
6613             write(msg,9350) 'phase, type=', iphase,itype
6614             call peg_error_fatal( lunerr, msg )
6615         else if ((y_opcg2_f_c .ne. 0) .and.   &
6616                  (y_opcg2_f_c .ne. nsize_aer(itype))) then
6617             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg2_f_c'
6618             call peg_message( lunerr, msg )
6619             write(msg,9350) 'phase, type=', iphase,itype
6620             call peg_error_fatal( lunerr, msg )
6621         else if ((y_opcg3_f_c .ne. 0) .and.   &
6622                  (y_opcg3_f_c .ne. nsize_aer(itype))) then
6623             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg3_f_c'
6624             call peg_message( lunerr, msg )
6625             write(msg,9350) 'phase, type=', iphase,itype
6626             call peg_error_fatal( lunerr, msg )
6627         else if ((y_opcg4_f_c .ne. 0) .and.   &
6628                  (y_opcg4_f_c .ne. nsize_aer(itype))) then
6629             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg4_f_c'
6630             call peg_message( lunerr, msg )
6631             write(msg,9350) 'phase, type=', iphase,itype
6632             call peg_error_fatal( lunerr, msg )
6633         else if ((y_opcg5_f_c .ne. 0) .and.   &
6634                  (y_opcg5_f_c .ne. nsize_aer(itype))) then
6635             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg5_f_c'
6636             call peg_message( lunerr, msg )
6637             write(msg,9350) 'phase, type=', iphase,itype
6638             call peg_error_fatal( lunerr, msg )
6639         else if ((y_opcg6_f_c .ne. 0) .and.   &
6640                  (y_opcg6_f_c .ne. nsize_aer(itype))) then
6641             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg6_f_c'
6642             call peg_message( lunerr, msg )
6643             write(msg,9350) 'phase, type=', iphase,itype
6644             call peg_error_fatal( lunerr, msg )
6645         else if ((y_opcg7_f_c .ne. 0) .and.   &
6646                  (y_opcg7_f_c .ne. nsize_aer(itype))) then
6647             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg7_f_c'
6648             call peg_message( lunerr, msg )
6649             write(msg,9350) 'phase, type=', iphase,itype
6650             call peg_error_fatal( lunerr, msg )
6651         else if ((y_opcg8_f_c .ne. 0) .and.   &
6652                  (y_opcg8_f_c .ne. nsize_aer(itype))) then
6653             msg = '*** subr init_data_mosaic_ptr - ptr error for opcg8_f_c'
6654             call peg_message( lunerr, msg )
6655             write(msg,9350) 'phase, type=', iphase,itype
6656             call peg_error_fatal( lunerr, msg )
6658         else if ((y_ant1_c .ne. 0) .and.   &
6659                  (y_ant1_c .ne. nsize_aer(itype))) then
6660             msg = '*** subr init_data_mosaic_ptr - ptr error for ant1_c'
6661             call peg_message( lunerr, msg )
6662             write(msg,9350) 'phase, type=', iphase,itype
6663             call peg_error_fatal( lunerr, msg )
6665         else if ((y_ant2_c .ne. 0) .and.   &
6666                  (y_ant2_c .ne. nsize_aer(itype))) then
6667             msg = '*** subr init_data_mosaic_ptr - ptr error for ant2_c'
6668             call peg_message( lunerr, msg )
6669             write(msg,9350) 'phase, type=', iphase,itype
6670             call peg_error_fatal( lunerr, msg )
6672         else if ((y_ant3_c .ne. 0) .and.   &
6673                  (y_ant3_c .ne. nsize_aer(itype))) then
6674             msg = '*** subr init_data_mosaic_ptr - ptr error for ant3_c'
6675             call peg_message( lunerr, msg )
6676             write(msg,9350) 'phase, type=', iphase,itype
6677             call peg_error_fatal( lunerr, msg )
6679         else if ((y_ant4_c .ne. 0) .and.   &
6680                  (y_ant4_c .ne. nsize_aer(itype))) then
6681             msg = '*** subr init_data_mosaic_ptr - ptr error for ant4_c'
6682             call peg_message( lunerr, msg )
6683             write(msg,9350) 'phase, type=', iphase,itype
6684             call peg_error_fatal( lunerr, msg )
6687         else if ((y_ant1_o .ne. 0) .and.   &
6688                  (y_ant1_o .ne. nsize_aer(itype))) then
6689             msg = '*** subr init_data_mosaic_ptr - ptr error for ant1_o'
6690             call peg_message( lunerr, msg )
6691             write(msg,9350) 'phase, type=', iphase,itype
6692             call peg_error_fatal( lunerr, msg )
6694         else if ((y_ant2_o .ne. 0) .and.   &
6695                  (y_ant2_o .ne. nsize_aer(itype))) then
6696             msg = '*** subr init_data_mosaic_ptr - ptr error for ant2_o'
6697             call peg_message( lunerr, msg )
6698             write(msg,9350) 'phase, type=', iphase,itype
6699             call peg_error_fatal( lunerr, msg )
6701         else if ((y_ant3_o .ne. 0) .and.   &
6702                  (y_ant3_o .ne. nsize_aer(itype))) then
6703             msg = '*** subr init_data_mosaic_ptr - ptr error for ant3_o'
6704             call peg_message( lunerr, msg )
6705             write(msg,9350) 'phase, type=', iphase,itype
6706             call peg_error_fatal( lunerr, msg )
6708         else if ((y_ant4_o .ne. 0) .and.   &
6709                  (y_ant4_o .ne. nsize_aer(itype))) then
6710             msg = '*** subr init_data_mosaic_ptr - ptr error for ant4_o'
6711             call peg_message( lunerr, msg )
6712             write(msg,9350) 'phase, type=', iphase,itype
6713             call peg_error_fatal( lunerr, msg )
6715         else if ((y_biog1_c .ne. 0) .and.   &
6716                  (y_biog1_c .ne. nsize_aer(itype))) then
6717             msg = '*** subr init_data_mosaic_ptr - ptr error for biog1_c'
6718             call peg_message( lunerr, msg )
6719             write(msg,9350) 'phase, type=', iphase,itype
6720             call peg_error_fatal( lunerr, msg )
6722         else if ((y_biog2_c .ne. 0) .and.   &
6723                  (y_biog2_c .ne. nsize_aer(itype))) then
6724             msg = '*** subr init_data_mosaic_ptr - ptr error for biog2_c'
6725             call peg_message( lunerr, msg )
6726             write(msg,9350) 'phase, type=', iphase,itype
6727             call peg_error_fatal( lunerr, msg )
6729         else if ((y_biog3_c .ne. 0) .and.   &
6730                  (y_biog3_c .ne. nsize_aer(itype))) then
6731             msg = '*** subr init_data_mosaic_ptr - ptr error for biog3_c'
6732             call peg_message( lunerr, msg )
6733             write(msg,9350) 'phase, type=', iphase,itype
6734             call peg_error_fatal( lunerr, msg )
6736         else if ((y_biog4_c .ne. 0) .and.   &
6737                  (y_biog4_c .ne. nsize_aer(itype))) then
6738             msg = '*** subr init_data_mosaic_ptr - ptr error for biog4_c'
6739             call peg_message( lunerr, msg )
6740             write(msg,9350) 'phase, type=', iphase,itype
6741             call peg_error_fatal( lunerr, msg )
6744         else if ((y_biog1_o .ne. 0) .and.   &
6745                  (y_biog1_o .ne. nsize_aer(itype))) then
6746             msg = '*** subr init_data_mosaic_ptr - ptr error for biog1_o'
6747             call peg_message( lunerr, msg )
6748             write(msg,9350) 'phase, type=', iphase,itype
6749             call peg_error_fatal( lunerr, msg )
6751         else if ((y_biog2_o .ne. 0) .and.   &
6752                  (y_biog2_o .ne. nsize_aer(itype))) then
6753             msg = '*** subr init_data_mosaic_ptr - ptr error for biog2_o'
6754             call peg_message( lunerr, msg )
6755             write(msg,9350) 'phase, type=', iphase,itype
6756             call peg_error_fatal( lunerr, msg )
6758         else if ((y_biog3_o .ne. 0) .and.   &
6759                  (y_biog3_o .ne. nsize_aer(itype))) then
6760             msg = '*** subr init_data_mosaic_ptr - ptr error for biog3_o'
6761             call peg_message( lunerr, msg )
6762             write(msg,9350) 'phase, type=', iphase,itype
6763             call peg_error_fatal( lunerr, msg )
6765         else if ((y_biog4_o .ne. 0) .and.   &
6766                  (y_biog4_o .ne. nsize_aer(itype))) then
6767             msg = '*** subr init_data_mosaic_ptr - ptr error for biog4_o'
6768             call peg_message( lunerr, msg )
6769             write(msg,9350) 'phase, type=', iphase,itype
6770             call peg_error_fatal( lunerr, msg )
6772         else if ((y_smpa .ne. 0) .and.   &
6773                  (y_smpa .ne. nsize_aer(itype))) then
6774             msg = '*** subr init_data_mosaic_ptr - ptr error for smpa'
6775             call peg_message( lunerr, msg )
6776             write(msg,9350) 'phase, type=', iphase,itype
6777             call peg_error_fatal( lunerr, msg )
6779         else if ((y_smpbb .ne. 0) .and.   &
6780                  (y_smpbb .ne. nsize_aer(itype))) then
6781             msg = '*** subr init_data_mosaic_ptr - ptr error for smpbb'
6782             call peg_message( lunerr, msg )
6783             write(msg,9350) 'phase, type=', iphase,itype
6784             call peg_error_fatal( lunerr, msg )
6786         else if ((y_glysoa_r1 .ne. 0) .and.   &
6787                  (y_glysoa_r1 .ne. nsize_aer(itype))) then
6788             msg = '*** subr init_data_mosaic_ptr - ptr error for glysoa_r1'
6789             call peg_message( lunerr, msg )
6790             write(msg,9350) 'phase, type=', iphase,itype
6791             call peg_error_fatal( lunerr, msg )
6793         else if ((y_glysoa_r2 .ne. 0) .and.   &
6794                  (y_glysoa_r2 .ne. nsize_aer(itype))) then
6795             msg = '*** subr init_data_mosaic_ptr - ptr error for glysoa_r2'
6796             call peg_message( lunerr, msg )
6797             write(msg,9350) 'phase, type=', iphase,itype
6798             call peg_error_fatal( lunerr, msg )
6800         else if ((y_glysoa_sfc .ne. 0) .and.   &
6801                  (y_glysoa_sfc .ne. nsize_aer(itype))) then
6802             msg = '*** subr init_data_mosaic_ptr - ptr error for glysoa_sfc'
6803             call peg_message( lunerr, msg )
6804             write(msg,9350) 'phase, type=', iphase,itype
6805             call peg_error_fatal( lunerr, msg )
6806             
6807         else if ((y_glysoa_nh4 .ne. 0) .and.   &
6808                  (y_glysoa_nh4 .ne. nsize_aer(itype))) then
6809             msg = '*** subr init_data_mosaic_ptr - ptr error for glysoa_nh4'
6810             call peg_message( lunerr, msg )
6811             write(msg,9350) 'phase, type=', iphase,itype
6812             call peg_error_fatal( lunerr, msg )
6814         else if ((y_glysoa_oh .ne. 0) .and.   &
6815                  (y_glysoa_oh .ne. nsize_aer(itype))) then
6816             msg = '*** subr init_data_mosaic_ptr - ptr error for glysoa_oh'
6817             call peg_message( lunerr, msg )
6818             write(msg,9350) 'phase, type=', iphase,itype
6819             call peg_error_fatal( lunerr, msg )
6822         else if ((y_asoaX .ne. 0) .and.   &
6823                  (y_asoaX .ne. nsize_aer(itype))) then
6824             msg = '*** subr init_data_mosaic_ptr - ptr error for y_asoaX'
6825             call peg_message( lunerr, msg )
6826             write(msg,9350) 'phase, type=', iphase,itype
6827             call peg_error_fatal( lunerr, msg )
6829         else if ((y_asoa1 .ne. 0) .and.   &
6830                  (y_asoa1 .ne. nsize_aer(itype))) then
6831             msg = '*** subr init_data_mosaic_ptr - ptr error for y_asoa1'
6832             call peg_message( lunerr, msg )
6833             write(msg,9350) 'phase, type=', iphase,itype
6834             call peg_error_fatal( lunerr, msg )
6836         else if ((y_asoa2 .ne. 0) .and.   &
6837                  (y_asoa2 .ne. nsize_aer(itype))) then
6838             msg = '*** subr init_data_mosaic_ptr - ptr error for y_asoa2'
6839             call peg_message( lunerr, msg )
6840             write(msg,9350) 'phase, type=', iphase,itype
6841             call peg_error_fatal( lunerr, msg )
6843         else if ((y_asoa3 .ne. 0) .and.   &
6844                  (y_asoa3 .ne. nsize_aer(itype))) then
6845             msg = '*** subr init_data_mosaic_ptr - ptr error for y_asoa3'
6846             call peg_message( lunerr, msg )
6847             write(msg,9350) 'phase, type=', iphase,itype
6848             call peg_error_fatal( lunerr, msg )
6850         else if ((y_asoa4 .ne. 0) .and.   &
6851                  (y_asoa4 .ne. nsize_aer(itype))) then
6852             msg = '*** subr init_data_mosaic_ptr - ptr error for y_asoa4'
6853             call peg_message( lunerr, msg )
6854             write(msg,9350) 'phase, type=', iphase,itype
6855             call peg_error_fatal( lunerr, msg )
6857         else if ((y_bsoaX .ne. 0) .and.   &
6858                  (y_bsoaX .ne. nsize_aer(itype))) then
6859             msg = '*** subr init_data_mosaic_ptr - ptr error for y_bsoaX'
6860             call peg_message( lunerr, msg )
6861             write(msg,9350) 'phase, type=', iphase,itype
6862             call peg_error_fatal( lunerr, msg )
6864         else if ((y_bsoa1 .ne. 0) .and.   &
6865                  (y_bsoa1 .ne. nsize_aer(itype))) then
6866             msg = '*** subr init_data_mosaic_ptr - ptr error for y_bsoa1'
6867             call peg_message( lunerr, msg )
6868             write(msg,9350) 'phase, type=', iphase,itype
6869             call peg_error_fatal( lunerr, msg )
6871         else if ((y_bsoa2 .ne. 0) .and.   &
6872                  (y_bsoa2 .ne. nsize_aer(itype))) then
6873             msg = '*** subr init_data_mosaic_ptr - ptr error for y_bsoa2'
6874             call peg_message( lunerr, msg )
6875             write(msg,9350) 'phase, type=', iphase,itype
6876             call peg_error_fatal( lunerr, msg )
6878         else if ((y_bsoa3 .ne. 0) .and.   &
6879                  (y_bsoa3 .ne. nsize_aer(itype))) then
6880             msg = '*** subr init_data_mosaic_ptr - ptr error for y_bsoa3'
6881             call peg_message( lunerr, msg )
6882             write(msg,9350) 'phase, type=', iphase,itype
6883             call peg_error_fatal( lunerr, msg )
6885         else if ((y_bsoa4 .ne. 0) .and.   &
6886                  (y_bsoa4 .ne. nsize_aer(itype))) then
6887             msg = '*** subr init_data_mosaic_ptr - ptr error for y_bsoa4'
6888             call peg_message( lunerr, msg )
6889             write(msg,9350) 'phase, type=', iphase,itype
6890             call peg_error_fatal( lunerr, msg )
6891         else if ((y_msa .ne. 0) .and.   &
6892                  (y_msa .ne. nsize_aer(itype))) then
6893             msg = '*** subr init_data_mosaic_ptr - ptr error for msa'
6894             call peg_message( lunerr, msg )
6895             write(msg,9350) 'phase, type=', iphase,itype
6896             call peg_error_fatal( lunerr, msg )
6897         else if ((y_co3 .ne. 0) .and.   &
6898                  (y_co3 .ne. nsize_aer(itype))) then
6899             msg = '*** subr init_data_mosaic_ptr - ptr error for co3'
6900             call peg_message( lunerr, msg )
6901             write(msg,9350) 'phase, type=', iphase,itype
6902             call peg_error_fatal( lunerr, msg )
6903         else if ((y_nh4 .ne. 0) .and.   &
6904                  (y_nh4 .ne. nsize_aer(itype))) then
6905             msg = '*** subr init_data_mosaic_ptr - ptr error for nh4'
6906             call peg_message( lunerr, msg )
6907             write(msg,9350) 'phase, type=', iphase,itype
6908             call peg_error_fatal( lunerr, msg )
6909         else if ((y_na .ne. 0) .and.   &
6910                  (y_na .ne. nsize_aer(itype))) then
6911             msg = '*** subr init_data_mosaic_ptr - ptr error for na'
6912             call peg_message( lunerr, msg )
6913             write(msg,9350) 'phase, type=', iphase,itype
6914             call peg_error_fatal( lunerr, msg )
6915         else if ((y_ca .ne. 0) .and.   &
6916                  (y_ca .ne. nsize_aer(itype))) then
6917             msg = '*** subr init_data_mosaic_ptr - ptr error for ca'
6918             call peg_message( lunerr, msg )
6919             write(msg,9350) 'phase, type=', iphase,itype
6920             call peg_error_fatal( lunerr, msg )
6921         else if ((y_oin .ne. 0) .and.   &
6922                  (y_oin .ne. nsize_aer(itype))) then
6923             msg = '*** subr init_data_mosaic_ptr - ptr error for oin'
6924             call peg_message( lunerr, msg )
6925             write(msg,9350) 'phase, type=', iphase,itype
6926             call peg_error_fatal( lunerr, msg )
6927         else if ((y_oc .ne. 0) .and.   &
6928                  (y_oc .ne. nsize_aer(itype))) then
6929             msg = '*** subr init_data_mosaic_ptr - ptr error for oc'
6930             call peg_message( lunerr, msg )
6931             write(msg,9350) 'phase, type=', iphase,itype
6932             call peg_error_fatal( lunerr, msg )
6933         else if ((y_bc .ne. 0) .and.   &
6934                  (y_bc .ne. nsize_aer(itype))) then
6935             msg = '*** subr init_data_mosaic_ptr - ptr error for bc'
6936             call peg_message( lunerr, msg )
6937             write(msg,9350) 'phase, type=', iphase,itype
6938             call peg_error_fatal( lunerr, msg )
6939         else if ((y_hysw .ne. 0) .and.   &
6940                  (y_hysw .ne. nsize_aer(itype))) then
6941             msg = '*** subr init_data_mosaic_ptr - ptr error for hysw'
6942             call peg_message( lunerr, msg )
6943             write(msg,9350) 'phase, type=', iphase,itype
6944             call peg_error_fatal( lunerr, msg )
6945         end if
6947         enddo ! type
6948         enddo ! phase
6950 !   set pointers for gases
6951 !   rce 2004-dec-02 - gases not required to be present
6953         if (p_h2so4 .ge. p1st) then 
6954             kh2so4 = p_h2so4
6955        
6956        elseif (p_sulf .ge. p1st) then
6957             kh2so4 = p_sulf
6958        
6960 !       else
6961 !           msg = '*** subr init_data_mosaic_ptr - ptr error for h2so4'
6962 !           call peg_error_fatal( lunerr, msg )
6963         end if
6964         if (p_hno3 .ge. p1st) then
6965             khno3 = p_hno3
6966       endif 
6967        if (p_pcg1_b_c .ge. p1st) then
6968             kpcg1_b_c = p_pcg1_b_c
6969         endif
6970        if (p_pcg2_b_c .ge. p1st) then
6971             kpcg2_b_c = p_pcg2_b_c
6972         endif
6973        if (p_pcg3_b_c .ge. p1st) then
6974             kpcg3_b_c = p_pcg3_b_c
6975         endif
6976        if (p_pcg4_b_c .ge. p1st) then
6977             kpcg4_b_c = p_pcg4_b_c
6978         endif
6979        if (p_pcg5_b_c .ge. p1st) then
6980             kpcg5_b_c = p_pcg5_b_c
6981         endif
6982        if (p_pcg6_b_c .ge. p1st) then
6983             kpcg6_b_c = p_pcg6_b_c
6984         endif
6985        if (p_pcg7_b_c .ge. p1st) then
6986             kpcg7_b_c = p_pcg7_b_c
6987         endif
6988        if (p_pcg8_b_c .ge. p1st) then
6989             kpcg8_b_c = p_pcg8_b_c
6990         endif
6991        if (p_pcg9_b_c .ge. p1st) then
6992             kpcg9_b_c = p_pcg9_b_c
6993         endif
6994        if (p_pcg1_b_o .ge. p1st) then
6995             kpcg1_b_o = p_pcg1_b_o
6996         endif
6997        if (p_pcg2_b_o .ge. p1st) then
6998             kpcg2_b_o = p_pcg2_b_o
6999         endif
7000        if (p_pcg3_b_o .ge. p1st) then
7001             kpcg3_b_o = p_pcg3_b_o
7002         endif
7003        if (p_pcg4_b_o .ge. p1st) then
7004             kpcg4_b_o = p_pcg4_b_o
7005         endif
7006        if (p_pcg5_b_o .ge. p1st) then
7007             kpcg5_b_o = p_pcg5_b_o
7008         endif
7009        if (p_pcg6_b_o .ge. p1st) then
7010             kpcg6_b_o = p_pcg6_b_o
7011         endif
7012        if (p_pcg7_b_o .ge. p1st) then
7013             kpcg7_b_o = p_pcg7_b_o
7014         endif
7015        if (p_pcg8_b_o .ge. p1st) then
7016             kpcg8_b_o = p_pcg8_b_o
7017         endif
7018        if (p_pcg9_b_o .ge. p1st) then
7019             kpcg9_b_o = p_pcg9_b_o
7020         endif
7021        if (p_opcg1_b_o .ge. p1st) then
7022             kopcg1_b_o = p_opcg1_b_o
7023         endif
7024        if (p_opcg2_b_o .ge. p1st) then
7025             kopcg2_b_o = p_opcg2_b_o
7026         endif
7027        if (p_opcg3_b_o .ge. p1st) then
7028             kopcg3_b_o = p_opcg3_b_o
7029         endif
7030        if (p_opcg4_b_o .ge. p1st) then
7031             kopcg4_b_o = p_opcg4_b_o
7032         endif
7033        if (p_opcg5_b_o .ge. p1st) then
7034             kopcg5_b_o = p_opcg5_b_o
7035         endif
7036        if (p_opcg6_b_o .ge. p1st) then
7037             kopcg6_b_o = p_opcg6_b_o
7038         endif
7039        if (p_opcg7_b_o .ge. p1st) then
7040             kopcg7_b_o = p_opcg7_b_o
7041         endif
7042        if (p_opcg8_b_o .ge. p1st) then
7043             kopcg8_b_o = p_opcg8_b_o
7044         endif
7045        if (p_opcg1_b_c .ge. p1st) then
7046             kopcg1_b_c = p_opcg1_b_c
7047         endif
7048        if (p_opcg2_b_c .ge. p1st) then
7049             kopcg2_b_c = p_opcg2_b_c
7050         endif
7051        if (p_opcg3_b_c .ge. p1st) then
7052             kopcg3_b_c = p_opcg3_b_c
7053         endif
7054        if (p_opcg4_b_c .ge. p1st) then
7055             kopcg4_b_c = p_opcg4_b_c
7056         endif
7057        if (p_opcg5_b_c .ge. p1st) then
7058             kopcg5_b_c = p_opcg5_b_c
7059         endif
7060        if (p_opcg6_b_c .ge. p1st) then
7061             kopcg6_b_c = p_opcg6_b_c
7062         endif
7063        if (p_opcg7_b_c .ge. p1st) then
7064             kopcg7_b_c = p_opcg7_b_c
7065         endif
7066        if (p_opcg8_b_c .ge. p1st) then
7067             kopcg8_b_c = p_opcg8_b_c
7068         endif
7069        if (p_pcg1_f_c .ge. p1st) then
7070             kpcg1_f_c = p_pcg1_f_c
7071         endif
7072        if (p_pcg2_f_c .ge. p1st) then
7073             kpcg2_f_c = p_pcg2_f_c
7074         endif
7075        if (p_pcg3_f_c .ge. p1st) then
7076             kpcg3_f_c = p_pcg3_f_c
7077         endif
7078        if (p_pcg4_f_c .ge. p1st) then
7079             kpcg4_f_c = p_pcg4_f_c
7080         endif
7081        if (p_pcg5_f_c .ge. p1st) then
7082             kpcg5_f_c = p_pcg5_f_c
7083         endif
7084        if (p_pcg6_f_c .ge. p1st) then
7085             kpcg6_f_c = p_pcg6_f_c
7086         endif
7087        if (p_pcg7_f_c .ge. p1st) then
7088             kpcg7_f_c = p_pcg7_f_c
7089         endif
7090        if (p_pcg8_f_c .ge. p1st) then
7091             kpcg8_f_c = p_pcg8_f_c
7092         endif
7093        if (p_pcg9_f_c .ge. p1st) then
7094             kpcg9_f_c = p_pcg9_f_c
7095         endif
7096        if (p_pcg1_f_o .ge. p1st) then
7097             kpcg1_f_o = p_pcg1_f_o
7098         endif
7099        if (p_pcg2_f_o .ge. p1st) then
7100             kpcg2_f_o = p_pcg2_f_o
7101         endif
7102        if (p_pcg3_f_o .ge. p1st) then
7103             kpcg3_f_o = p_pcg3_f_o
7104         endif
7105        if (p_pcg4_f_o .ge. p1st) then
7106             kpcg4_f_o = p_pcg4_f_o
7107         endif
7108        if (p_pcg5_f_o .ge. p1st) then
7109             kpcg5_f_o = p_pcg5_f_o
7110         endif
7111        if (p_pcg6_f_o .ge. p1st) then
7112             kpcg6_f_o = p_pcg6_f_o
7113         endif
7114        if (p_pcg7_f_o .ge. p1st) then
7115             kpcg7_f_o = p_pcg7_f_o
7116         endif
7117        if (p_pcg8_f_o .ge. p1st) then
7118             kpcg8_f_o = p_pcg8_f_o
7119         endif
7120        if (p_pcg9_f_o .ge. p1st) then
7121             kpcg9_f_o = p_pcg9_f_o
7122         endif
7123        if (p_opcg1_f_o .ge. p1st) then
7124             kopcg1_f_o = p_opcg1_f_o
7125         endif
7126        if (p_opcg2_f_o .ge. p1st) then
7127             kopcg2_f_o = p_opcg2_f_o
7128         endif
7129        if (p_opcg3_f_o .ge. p1st) then
7130             kopcg3_f_o = p_opcg3_f_o
7131         endif
7132        if (p_opcg4_f_o .ge. p1st) then
7133             kopcg4_f_o = p_opcg4_f_o
7134         endif
7135        if (p_opcg5_f_o .ge. p1st) then
7136             kopcg5_f_o = p_opcg5_f_o
7137         endif
7138        if (p_opcg6_f_o .ge. p1st) then
7139             kopcg6_f_o = p_opcg6_f_o
7140         endif
7141        if (p_opcg7_f_o .ge. p1st) then
7142             kopcg7_f_o = p_opcg7_f_o
7143         endif
7144        if (p_opcg8_f_o .ge. p1st) then
7145             kopcg8_f_o = p_opcg8_f_o
7146         endif
7147        if (p_opcg1_f_c .ge. p1st) then
7148             kopcg1_f_c = p_opcg1_f_c
7149         endif
7150        if (p_opcg2_f_c .ge. p1st) then
7151             kopcg2_f_c = p_opcg2_f_c
7152         endif
7153        if (p_opcg3_f_c .ge. p1st) then
7154             kopcg3_f_c = p_opcg3_f_c
7155         endif
7156        if (p_opcg4_f_c .ge. p1st) then
7157             kopcg4_f_c = p_opcg4_f_c
7158         endif
7159        if (p_opcg5_f_c .ge. p1st) then
7160             kopcg5_f_c = p_opcg5_f_c
7161         endif
7162        if (p_opcg6_f_c .ge. p1st) then
7163             kopcg6_f_c = p_opcg6_f_c
7164         endif
7165        if (p_opcg7_f_c .ge. p1st) then
7166             kopcg7_f_c = p_opcg7_f_c
7167         endif
7168        if (p_opcg8_f_c .ge. p1st) then
7169             kopcg8_f_c = p_opcg8_f_c
7170         endif
7172        if (p_smpa .ge. p1st) then
7173             ksmpa = p_smpa
7174         endif
7175        if (p_smpbb .ge. p1st) then
7176             ksmpbb = p_smpbb
7177         endif
7179        if (p_gly .ge. p1st) then
7180            kgly = p_gly
7181        endif
7183        if (p_cvasoaX .ge. p1st) then
7184            kasoaX = p_cvasoaX
7185        endif
7187        if (p_cvasoa1 .ge. p1st) then
7188            kasoa1 = p_cvasoa1
7189        endif
7191        if (p_cvasoa2 .ge. p1st) then
7192            kasoa2 = p_cvasoa2
7193        endif
7195        if (p_cvasoa3 .ge. p1st) then
7196            kasoa3 = p_cvasoa3
7197        endif
7199        if (p_cvasoa4 .ge. p1st) then
7200            kasoa4 = p_cvasoa4
7201        endif
7203        if (p_cvbsoaX .ge. p1st) then
7204            kbsoaX = p_cvbsoaX
7205        endif
7207        if (p_cvbsoa1 .ge. p1st) then
7208            kbsoa1 = p_cvbsoa1
7209        endif
7211        if (p_cvbsoa2 .ge. p1st) then
7212            kbsoa2 = p_cvbsoa2
7213        endif
7215        if (p_cvbsoa3 .ge. p1st) then
7216            kbsoa3 = p_cvbsoa3
7217        endif
7219        if (p_cvbsoa4 .ge. p1st) then
7220            kbsoa4 = p_cvbsoa4
7221        endif
7222        if (p_ant1_c .ge. p1st) then
7223             kant1_c = p_ant1_c
7224         endif
7226        if (p_ant2_c .ge. p1st) then
7227             kant2_c = p_ant2_c
7228         endif
7229        if (p_ant3_c .ge. p1st) then
7230             kant3_c = p_ant3_c
7231         endif
7232        if (p_ant4_c .ge. p1st) then
7233             kant4_c = p_ant4_c
7234         endif
7235        if (p_ant1_o .ge. p1st) then
7236             kant1_o = p_ant1_o
7237         endif
7239        if (p_ant2_o .ge. p1st) then
7240             kant2_o = p_ant2_o
7241         endif
7242        if (p_ant3_o .ge. p1st) then
7243             kant3_o = p_ant3_o
7244         endif
7245        if (p_ant4_o .ge. p1st) then
7246             kant4_o = p_ant4_o
7247         endif
7249        if (p_biog1_c .ge. p1st) then
7250             kbiog1_c = p_biog1_c
7251         endif
7253        if (p_biog2_c .ge. p1st) then
7254             kbiog2_c = p_biog2_c
7255         endif
7256        if (p_biog3_c .ge. p1st) then
7257             kbiog3_c = p_biog3_c
7258         endif
7259        if (p_biog4_c .ge. p1st) then
7260             kbiog4_c = p_biog4_c
7261         endif
7262        if (p_biog1_o .ge. p1st) then
7263             kbiog1_o = p_biog1_o
7264         endif
7266        if (p_biog2_o .ge. p1st) then
7267             kbiog2_o = p_biog2_o
7268         endif
7269        if (p_biog3_o .ge. p1st) then
7270             kbiog3_o = p_biog3_o
7271         endif
7272        if (p_biog4_o .ge. p1st) then
7273             kbiog4_o = p_biog4_o
7274         endif
7276 !       else
7277 !           msg = '*** subr init_data_mosaic_ptr - ptr error for hno3'
7278 !           call peg_error_fatal( lunerr, msg )
7279         if (p_hcl .ge. p1st) then
7280             khcl = p_hcl
7281 !       else
7282 !           msg = '*** subr init_data_mosaic_ptr - ptr error for hcl'
7283 !           call peg_error_fatal( lunerr, msg )
7284         end if
7285         if (p_nh3 .ge. p1st) then
7286             knh3 = p_nh3
7287 !       else
7288 !           msg = '*** subr init_data_mosaic_ptr - ptr error for nh3'
7289 !           call peg_error_fatal( lunerr, msg )
7290         end if
7291         if (p_n2o5 .ge. p1st) then
7292             kn2o5 = p_n2o5
7293 !       else
7294 !           msg = '*** subr init_data_mosaic_ptr - ptr error for n2o5'
7295 !           call peg_error_fatal( lunerr, msg )
7296         end if
7297         if (p_clno2 .ge. p1st) then
7298             kclno2 = p_clno2
7299 !       else
7300 !           msg = '*** subr init_data_mosaic_ptr - ptr error for clno2'
7301 !           call peg_error_fatal( lunerr, msg )
7302         end if
7303         if (p_o3 .ge. p1st) then
7304             ko3 = p_o3
7305 !       else
7306 !           msg = '*** subr init_data_mosaic_ptr - ptr error for o3'
7307 !           call peg_error_fatal( lunerr, msg )
7308         end if
7310 !   rce 2005-apr-12 - added following species for cldchem, here and below:
7311 !   kso2, kh2o2, khcho, khcooh, koh, kho2, 
7312 !   kno3, kno, kno2, khono, kpan, kch3o2, kch3oh, kch3ooh
7313         if (p_so2    .ge. p1st) kso2    = p_so2
7314         if (p_h2o2   .ge. p1st) kh2o2   = p_h2o2
7315         if (p_hcho   .ge. p1st) khcho   = p_hcho
7316         if (p_ho     .ge. p1st) koh     = p_ho
7317         if (p_ho2    .ge. p1st) kho2    = p_ho2
7318         if (p_no3    .ge. p1st) kno3    = p_no3
7319         if (p_no     .ge. p1st) kno     = p_no
7320         if (p_no2    .ge. p1st) kno2    = p_no2
7321         if (p_hono   .ge. p1st) khono   = p_hono
7322         if (p_pan    .ge. p1st) kpan    = p_pan
7325 !   calc ltot, ltot2, kh2o, ktemp
7327         is_aerosol(:) = .false.
7328         ltot = 0
7329         ltot = max( ltot, kh2so4 )
7330         ltot = max( ltot, khno3 )
7331         ltot = max( ltot, khcl )
7332         ltot = max( ltot, knh3 )
7333         ltot = max( ltot, kn2o5 )
7334         ltot = max( ltot, kclno2 )
7335         ltot = max( ltot, ko3 )
7336         ltot = max( ltot, kso2    )
7337         ltot = max( ltot, kh2o2   )
7338         ltot = max( ltot, khcho   )
7339         ltot = max( ltot, koh     )
7340         ltot = max( ltot, kho2    )
7341         ltot = max( ltot, kno3    )
7342         ltot = max( ltot, kno     )
7343         ltot = max( ltot, kno2    )
7344         ltot = max( ltot, khono   )
7345         ltot = max( ltot, kpan    )
7346         ltot = max( ltot, kpcg1_b_c )
7347         ltot = max( ltot, kpcg2_b_c )
7348         ltot = max( ltot, kpcg3_b_c )
7349         ltot = max( ltot, kpcg4_b_c )
7350         ltot = max( ltot, kpcg5_b_c )
7351         ltot = max( ltot, kpcg6_b_c )
7352         ltot = max( ltot, kpcg7_b_c )
7353         ltot = max( ltot, kpcg8_b_c )
7354         ltot = max( ltot, kpcg9_b_c )
7355         ltot = max( ltot, kpcg1_b_o )
7356         ltot = max( ltot, kpcg2_b_o )
7357         ltot = max( ltot, kpcg3_b_o )
7358         ltot = max( ltot, kpcg4_b_o )
7359         ltot = max( ltot, kpcg5_b_o )
7360         ltot = max( ltot, kpcg6_b_o )
7361         ltot = max( ltot, kpcg7_b_o )
7362         ltot = max( ltot, kpcg8_b_o )
7363         ltot = max( ltot, kpcg9_b_o )
7364         ltot = max( ltot, kopcg1_b_c )
7365         ltot = max( ltot, kopcg2_b_c )
7366         ltot = max( ltot, kopcg3_b_c )
7367         ltot = max( ltot, kopcg4_b_c )
7368         ltot = max( ltot, kopcg5_b_c )
7369         ltot = max( ltot, kopcg6_b_c )
7370         ltot = max( ltot, kopcg7_b_c )
7371         ltot = max( ltot, kopcg8_b_c )
7372         ltot = max( ltot, kopcg1_b_o )
7373         ltot = max( ltot, kopcg2_b_o )
7374         ltot = max( ltot, kopcg3_b_o )
7375         ltot = max( ltot, kopcg4_b_o )
7376         ltot = max( ltot, kopcg5_b_o )
7377         ltot = max( ltot, kopcg6_b_o )
7378         ltot = max( ltot, kopcg7_b_o )
7379         ltot = max( ltot, kopcg8_b_o )
7380         ltot = max( ltot, kpcg1_f_c )
7381         ltot = max( ltot, kpcg2_f_c )
7382         ltot = max( ltot, kpcg3_f_c )
7383         ltot = max( ltot, kpcg4_f_c )
7384         ltot = max( ltot, kpcg5_f_c )
7385         ltot = max( ltot, kpcg6_f_c )
7386         ltot = max( ltot, kpcg7_f_c )
7387         ltot = max( ltot, kpcg8_f_c )
7388         ltot = max( ltot, kpcg9_f_c )
7389         ltot = max( ltot, kpcg1_f_o )
7390         ltot = max( ltot, kpcg2_f_o )
7391         ltot = max( ltot, kpcg3_f_o )
7392         ltot = max( ltot, kpcg4_f_o )
7393         ltot = max( ltot, kpcg5_f_o )
7394         ltot = max( ltot, kpcg6_f_o )
7395         ltot = max( ltot, kpcg7_f_o )
7396         ltot = max( ltot, kpcg8_f_o )
7397         ltot = max( ltot, kpcg9_f_o )
7398         ltot = max( ltot, kopcg1_f_c )
7399         ltot = max( ltot, kopcg2_f_c )
7400         ltot = max( ltot, kopcg3_f_c )
7401         ltot = max( ltot, kopcg4_f_c )
7402         ltot = max( ltot, kopcg5_f_c )
7403         ltot = max( ltot, kopcg6_f_c )
7404         ltot = max( ltot, kopcg7_f_c )
7405         ltot = max( ltot, kopcg8_f_c )
7406         ltot = max( ltot, kopcg1_f_o )
7407         ltot = max( ltot, kopcg2_f_o )
7408         ltot = max( ltot, kopcg3_f_o )
7409         ltot = max( ltot, kopcg4_f_o )
7410         ltot = max( ltot, kopcg5_f_o )
7411         ltot = max( ltot, kopcg6_f_o )
7412         ltot = max( ltot, kopcg7_f_o )
7413         ltot = max( ltot, kopcg8_f_o )
7414         ltot = max( ltot, ksmpa )
7415         ltot = max( ltot, ksmpbb )
7416         ltot = max( ltot, kgly    )
7417         ltot = max( ltot, kant1_c )
7418         ltot = max( ltot, kant2_c )
7419         ltot = max( ltot, kant3_c )
7420         ltot = max( ltot, kant4_c )
7421         ltot = max( ltot, kant1_o )
7422         ltot = max( ltot, kant2_o )
7423         ltot = max( ltot, kant3_o )
7424         ltot = max( ltot, kant4_o )
7425         ltot = max( ltot, kbiog1_c )
7426         ltot = max( ltot, kbiog2_c )
7427         ltot = max( ltot, kbiog3_c )
7428         ltot = max( ltot, kbiog4_c )
7429         ltot = max( ltot, kbiog1_o )
7430         ltot = max( ltot, kbiog2_o )
7431         ltot = max( ltot, kbiog3_o )
7432         ltot = max( ltot, kbiog4_o )
7433         ltot = max( ltot, kasoaX )
7434         ltot = max( ltot, kasoa1 )
7435         ltot = max( ltot, kasoa2 )
7436         ltot = max( ltot, kasoa3 )
7437         ltot = max( ltot, kasoa4 )
7438         ltot = max( ltot, kbsoaX )
7439         ltot = max( ltot, kbsoa1 )
7440         ltot = max( ltot, kbsoa2 )
7441         ltot = max( ltot, kbsoa3 )
7442         ltot = max( ltot, kbsoa4 )
7444         do iphase=1,nphase_aer
7445             do itype=1,ntype_aer
7446                 do n = 1, nsize_aer(itype)
7447                     do ll = 1, ncomp_plustracer_aer(itype)
7448                        ltot = max( ltot, massptr_aer(ll,n,itype,iphase) )
7449                        is_aerosol(massptr_aer(ll,n,itype,iphase))=.true.
7450                     end do
7451                     ltot = max( ltot, hyswptr_aer(n,itype) )
7452                     ltot = max( ltot, waterptr_aer(n,itype) )
7453                     ltot = max( ltot, numptr_aer(n,itype,iphase) )
7454                     l = hyswptr_aer(n,itype)
7455                     if (l .ge. p1st) is_aerosol(l)=.true.
7456                     l = waterptr_aer(n,itype)
7457                     if (l .ge. p1st) is_aerosol(l)=.true.
7458                     l = numptr_aer(n,itype,iphase)
7459                     if (l .ge. p1st) is_aerosol(l)=.true.
7460                 end do
7461             end do
7462         end do
7464         kh2o = ltot + 1
7465         ktemp = ltot + 2
7466         ltot2 = ktemp
7468         write( msg, '(a,4(1x,i4))' ) 'ltot, ltot2, lmaxd, l2maxd =',   &
7469                 ltot, ltot2, lmaxd, l2maxd
7470         call peg_message( lunout, msg )
7471         if ((ltot .gt. lmaxd) .or. (ltot2 .gt. l2maxd)) then
7472             msg = '*** subr init_data_mosaic_ptr - ltot/ltot2 too big'
7473             call peg_error_fatal( lunerr, msg )
7474         end if
7476         if (p_h2so4   .ge. p1st)then 
7477            name(kh2so4 ) = 'h2so4'
7478         elseif (p_sulf   .ge. p1st) then
7479              name(kh2so4 ) = 'h2so4'
7480         endif
7481         if (p_hno3   .ge. p1st) name(khno3  ) = 'hno3'
7482         if (p_pcg1_b_c   .ge. p1st) name(kpcg1_b_c  ) = 'pcg1_b_c'
7483         if (p_pcg2_b_c   .ge. p1st) name(kpcg2_b_c  ) = 'pcg2_b_c'
7484         if (p_pcg3_b_c   .ge. p1st) name(kpcg3_b_c  ) = 'pcg3_b_c'
7485         if (p_pcg4_b_c   .ge. p1st) name(kpcg4_b_c  ) = 'pcg4_b_c'
7486         if (p_pcg5_b_c   .ge. p1st) name(kpcg5_b_c  ) = 'pcg5_b_c'
7487         if (p_pcg6_b_c   .ge. p1st) name(kpcg6_b_c  ) = 'pcg6_b_c'
7488         if (p_pcg7_b_c   .ge. p1st) name(kpcg7_b_c  ) = 'pcg7_b_c'
7489         if (p_pcg8_b_c   .ge. p1st) name(kpcg8_b_c  ) = 'pcg8_b_c'
7490         if (p_pcg9_b_c   .ge. p1st) name(kpcg9_b_c  ) = 'pcg9_b_c'
7491         if (p_pcg1_b_o   .ge. p1st) name(kpcg1_b_o  ) = 'pcg1_b_o'
7492         if (p_pcg2_b_o   .ge. p1st) name(kpcg2_b_o  ) = 'pcg2_b_o'
7493         if (p_pcg3_b_o   .ge. p1st) name(kpcg3_b_o  ) = 'pcg3_b_o'
7494         if (p_pcg4_b_o   .ge. p1st) name(kpcg4_b_o  ) = 'pcg4_b_o'
7495         if (p_pcg5_b_o   .ge. p1st) name(kpcg5_b_o  ) = 'pcg5_b_o'
7496         if (p_pcg6_b_o   .ge. p1st) name(kpcg6_b_o  ) = 'pcg6_b_o'
7497         if (p_pcg7_b_o   .ge. p1st) name(kpcg7_b_o  ) = 'pcg7_b_o'
7498         if (p_pcg8_b_o   .ge. p1st) name(kpcg8_b_o  ) = 'pcg8_b_o'
7499         if (p_pcg9_b_o   .ge. p1st) name(kpcg9_b_o  ) = 'pcg9_b_o'
7500         if (p_opcg1_b_c   .ge. p1st) name(kopcg1_b_c  ) = 'opcg1_b_c'
7501         if (p_opcg2_b_c   .ge. p1st) name(kopcg2_b_c  ) = 'opcg2_b_c'
7502         if (p_opcg3_b_c   .ge. p1st) name(kopcg3_b_c  ) = 'opcg3_b_c'
7503         if (p_opcg4_b_c   .ge. p1st) name(kopcg4_b_c  ) = 'opcg4_b_c'
7504         if (p_opcg5_b_c   .ge. p1st) name(kopcg5_b_c  ) = 'opcg5_b_c'
7505         if (p_opcg6_b_c   .ge. p1st) name(kopcg6_b_c  ) = 'opcg6_b_c'
7506         if (p_opcg7_b_c   .ge. p1st) name(kopcg7_b_c  ) = 'opcg7_b_c'
7507         if (p_opcg8_b_c   .ge. p1st) name(kopcg8_b_c  ) = 'opcg8_b_c'
7508         if (p_opcg1_b_o   .ge. p1st) name(kopcg1_b_o  ) = 'opcg1_b_o'
7509         if (p_opcg2_b_o   .ge. p1st) name(kopcg2_b_o  ) = 'opcg2_b_o'
7510         if (p_opcg3_b_o   .ge. p1st) name(kopcg3_b_o  ) = 'opcg3_b_o'
7511         if (p_opcg4_b_o   .ge. p1st) name(kopcg4_b_o  ) = 'opcg4_b_o'
7512         if (p_opcg5_b_o   .ge. p1st) name(kopcg5_b_o  ) = 'opcg5_b_o'
7513         if (p_opcg6_b_o   .ge. p1st) name(kopcg6_b_o  ) = 'opcg6_b_o'
7514         if (p_opcg7_b_o   .ge. p1st) name(kopcg7_b_o  ) = 'opcg7_b_o'
7515         if (p_opcg8_b_o   .ge. p1st) name(kopcg8_b_o  ) = 'opcg8_b_o'
7516         if (p_pcg1_f_c   .ge. p1st) name(kpcg1_f_c  ) = 'pcg1_f_c'
7517         if (p_pcg2_f_c   .ge. p1st) name(kpcg2_f_c  ) = 'pcg2_f_c'
7518         if (p_pcg3_f_c   .ge. p1st) name(kpcg3_f_c  ) = 'pcg3_f_c'
7519         if (p_pcg4_f_c   .ge. p1st) name(kpcg4_f_c  ) = 'pcg4_f_c'
7520         if (p_pcg5_f_c   .ge. p1st) name(kpcg5_f_c  ) = 'pcg5_f_c'
7521         if (p_pcg6_f_c   .ge. p1st) name(kpcg6_f_c  ) = 'pcg6_f_c'
7522         if (p_pcg7_f_c   .ge. p1st) name(kpcg7_f_c  ) = 'pcg7_f_c'
7523         if (p_pcg8_f_c   .ge. p1st) name(kpcg8_f_c  ) = 'pcg8_f_c'
7524         if (p_pcg9_f_c   .ge. p1st) name(kpcg9_f_c  ) = 'pcg9_f_c'
7525         if (p_pcg1_f_o   .ge. p1st) name(kpcg1_f_o  ) = 'pcg1_f_o'
7526         if (p_pcg2_f_o   .ge. p1st) name(kpcg2_f_o  ) = 'pcg2_f_o'
7527         if (p_pcg3_f_o   .ge. p1st) name(kpcg3_f_o  ) = 'pcg3_f_o'
7528         if (p_pcg4_f_o   .ge. p1st) name(kpcg4_f_o  ) = 'pcg4_f_o'
7529         if (p_pcg5_f_o   .ge. p1st) name(kpcg5_f_o  ) = 'pcg5_f_o'
7530         if (p_pcg6_f_o   .ge. p1st) name(kpcg6_f_o  ) = 'pcg6_f_o'
7531         if (p_pcg7_f_o   .ge. p1st) name(kpcg7_f_o  ) = 'pcg7_f_o'
7532         if (p_pcg8_f_o   .ge. p1st) name(kpcg8_f_o  ) = 'pcg8_f_o'
7533         if (p_pcg9_f_o   .ge. p1st) name(kpcg9_f_o  ) = 'pcg9_f_o'
7534         if (p_opcg1_f_c   .ge. p1st) name(kopcg1_f_c  ) = 'opcg1_f_c'
7535         if (p_opcg2_f_c   .ge. p1st) name(kopcg2_f_c  ) = 'opcg2_f_c'
7536         if (p_opcg3_f_c   .ge. p1st) name(kopcg3_f_c  ) = 'opcg3_f_c'
7537         if (p_opcg4_f_c   .ge. p1st) name(kopcg4_f_c  ) = 'opcg4_f_c'
7538         if (p_opcg5_f_c   .ge. p1st) name(kopcg5_f_c  ) = 'opcg5_f_c'
7539         if (p_opcg6_f_c   .ge. p1st) name(kopcg6_f_c  ) = 'opcg6_f_c'
7540         if (p_opcg7_f_c   .ge. p1st) name(kopcg7_f_c  ) = 'opcg7_f_c'
7541         if (p_opcg8_f_c   .ge. p1st) name(kopcg8_f_c  ) = 'opcg8_f_c'
7542         if (p_opcg1_f_o   .ge. p1st) name(kopcg1_f_o  ) = 'opcg1_f_o'
7543         if (p_opcg2_f_o   .ge. p1st) name(kopcg2_f_o  ) = 'opcg2_f_o'
7544         if (p_opcg3_f_o   .ge. p1st) name(kopcg3_f_o  ) = 'opcg3_f_o'
7545         if (p_opcg4_f_o   .ge. p1st) name(kopcg4_f_o  ) = 'opcg4_f_o'
7546         if (p_opcg5_f_o   .ge. p1st) name(kopcg5_f_o  ) = 'opcg5_f_o'
7547         if (p_opcg6_f_o   .ge. p1st) name(kopcg6_f_o  ) = 'opcg6_f_o'
7548         if (p_opcg7_f_o   .ge. p1st) name(kopcg7_f_o  ) = 'opcg7_f_o'
7549         if (p_opcg8_f_o   .ge. p1st) name(kopcg8_f_o  ) = 'opcg8_f_o'
7550         if (p_smpa   .ge. p1st) name(ksmpa  ) = 'smpa'
7551         if (p_smpbb   .ge. p1st) name(ksmpbb  ) = 'smpbb'
7552         if (p_gly    .ge. p1st) name(kgly   ) = 'gly'
7553         if (p_ant1_c   .ge. p1st) name(kant1_c  ) = 'ant1_c'
7554         if (p_ant2_c   .ge. p1st) name(kant2_c  ) = 'ant2_c'
7555         if (p_ant3_c   .ge. p1st) name(kant3_c  ) = 'ant3_c'
7556         if (p_ant4_c   .ge. p1st) name(kant4_c  ) = 'ant4_c'
7557         if (p_ant1_o   .ge. p1st) name(kant1_o  ) = 'ant1_o'
7558         if (p_ant2_o   .ge. p1st) name(kant2_o  ) = 'ant2_o'
7559         if (p_ant3_o   .ge. p1st) name(kant3_o  ) = 'ant3_o'
7560         if (p_ant4_o   .ge. p1st) name(kant4_o  ) = 'ant4_o'
7561         if (p_biog1_c   .ge. p1st) name(kbiog1_c  ) = 'biog1_c'
7562         if (p_biog2_c   .ge. p1st) name(kbiog2_c  ) = 'biog2_c'
7563         if (p_biog3_c   .ge. p1st) name(kbiog3_c  ) = 'biog3_c'
7564         if (p_biog4_c   .ge. p1st) name(kbiog4_c  ) = 'biog4_c'
7565         if (p_biog1_o   .ge. p1st) name(kbiog1_o  ) = 'biog1_o'
7566         if (p_biog2_o   .ge. p1st) name(kbiog2_o  ) = 'biog2_o'
7567         if (p_biog3_o   .ge. p1st) name(kbiog3_o  ) = 'biog3_o'
7568         if (p_biog4_o   .ge. p1st) name(kbiog4_o  ) = 'biog4_o'
7569         if (p_cvasoaX   .ge. p1st) name(kasoaX  ) = 'cvasoaX'
7570         if (p_cvasoa1   .ge. p1st) name(kasoa1  ) = 'cvasoa1'
7571         if (p_cvasoa2   .ge. p1st) name(kasoa2  ) = 'cvasoa2'
7572         if (p_cvasoa3   .ge. p1st) name(kasoa3  ) = 'cvasoa3'
7573         if (p_cvasoa4   .ge. p1st) name(kasoa4  ) = 'cvasoa4'
7574         if (p_cvbsoaX   .ge. p1st) name(kbsoaX  ) = 'cvbsoaX'
7575         if (p_cvbsoa1   .ge. p1st) name(kbsoa1  ) = 'cvbsoa1'
7576         if (p_cvbsoa2   .ge. p1st) name(kbsoa2  ) = 'cvbsoa2'
7577         if (p_cvbsoa3   .ge. p1st) name(kbsoa3  ) = 'cvbsoa3'
7578         if (p_cvbsoa4   .ge. p1st) name(kbsoa4  ) = 'cvbsoa4'
7579         if (p_hcl    .ge. p1st) name(khcl   ) = 'hcl'
7580         if (p_nh3    .ge. p1st) name(knh3   ) = 'nh3'
7581         if (p_n2o5   .ge. p1st) name(kn2o5  ) = 'n2o5'
7582         if (p_clno2  .ge. p1st) name(kclno2 ) = 'clno2'
7583         if (p_o3     .ge. p1st) name(ko3    ) = 'o3'
7584         if (p_so2    .ge. p1st) name(kso2   ) = 'so2'
7585         if (p_h2o2   .ge. p1st) name(kh2o2  ) = 'h2o2'
7586         if (p_hcho   .ge. p1st) name(khcho  ) = 'hcho'
7587         if (p_ho     .ge. p1st) name(koh    ) = 'oh'
7588         if (p_ho2    .ge. p1st) name(kho2   ) = 'ho2'
7589         if (p_no3    .ge. p1st) name(kno3   ) = 'no3'
7590         if (p_no     .ge. p1st) name(kno    ) = 'no'
7591         if (p_no2    .ge. p1st) name(kno2   ) = 'no2'
7592         if (p_hono   .ge. p1st) name(khono  ) = 'hono'
7593         if (p_pan    .ge. p1st) name(kpan   ) = 'pan'
7594         name(ktemp)  = 'temp'
7595         name(kh2o)   = 'h2o'
7597         call initwet(   &
7598             ntype_aer, nsize_aer, ncomp_aer,   &
7599             massptr_aer, dens_aer, numptr_aer,           &
7600             maxd_acomp, maxd_asize,maxd_atype, maxd_aphase,   &
7601             dcen_sect, sigmag_aer, &
7602             waterptr_aer, dens_water_aer, &
7603             scavimptblvol, scavimptblnum, nimptblgrow_mind,   &
7604             nimptblgrow_maxd, dlndg_nimptblgrow)
7606         return
7607         end subroutine init_data_mosaic_ptr
7610 !-----------------------------------------------------------------------
7611 ! aerchem_debug_dump is used to generate input for testing with Rahul's
7612 ! offline MOSAIC box model. To use it, first determine which cell and
7613 ! time is crashing. Then, turn on the calls to this routine for that
7614 ! cell and time only. The routine is called once before aerchemistry
7615 ! with iflag=1, and then again after with iflag=3, if the model makes it
7616 ! that far. ;-)
7617 !-----------------------------------------------------------------------
7618         subroutine aerchem_debug_dump(   &
7619                 iflag, iclm, jclm, dtchem )
7621         use module_data_mosaic_asect
7622         use module_data_mosaic_other
7623         implicit none
7625 !       include 'v33com'
7626 !       include 'v33com2'
7627 !       include 'v33com9a'
7629         integer iflag, iclm, jclm
7630         real dtchem
7632 !   local variables
7633         integer ientryno
7634         save ientryno
7635         integer iphase, itype, k, l, m, n
7637         real dtchem_sv1
7638         save dtchem_sv1
7639         real rsub_sv1(l2maxd,kmaxd,nsubareamaxd)
7641         data ientryno / -13579 /
7644 !   check for bypass based on some control variable ?
7647 !   do initial output when ientryno = -13579
7648         if (ientryno .ne. -13579) goto 1000
7650         ientryno = +1
7652 95010   format( a )
7653 95020   format( 8( 1x, i8 ) )
7654 95030   format( 4( 1pe18.10 ) )
7656         print 95010, 'aerchem_debug_dump start -- first time'
7657         print 95020, ltot, ltot2, itot, jtot, ktot
7658         print 95010, (name(l), l=1,ltot2)
7660         print 95020, maerocoag, maerchem, maeroptical
7661         print 95020, msectional, maerosolincw
7662         do iphase = 1, nphase_aer
7663         do itype=1,ntype_aer
7664         print 95020, iphase, itype, nsize_aer(itype),   &
7665                 ncomp_plustracer_aer(itype)
7667         do n = 1, ncomp_plustracer_aer(itype)
7668             print 95010,   &
7669                 name_aer(n,itype)
7670             print 95030,   &
7671                 dens_aer(n,itype),     mw_aer(n,itype)
7672         end do
7674         do n = 1, nsize_aer(itype)
7675             print 95020,   &
7676                 ncomp_plustracer_aer(n),       ncomp_aer(n),   &
7677                 waterptr_aer(n,itype),   numptr_aer(n,itype,iphase),    &
7678                 mprognum_aer(n,itype,iphase)
7679             print 95020,   &
7680                 (mastercompptr_aer(l,itype), massptr_aer(l,n,itype,iphase),    &
7681                 l=1,ncomp_plustracer_aer(itype))
7682             print 95030,   &
7683                 volumcen_sect(n,itype),     volumlo_sect(n,itype),   &
7684                 volumhi_sect(n,itype),      dcen_sect(n,itype),   &
7685                 dlo_sect(n,itype),          dhi_sect(n,itype)
7686             print 95020,   &
7687                 lptr_so4_aer(n,itype,iphase),  lptr_msa_aer(n,itype,iphase),  &
7688                 lptr_no3_aer(n,itype,iphase),  lptr_cl_aer(n,itype,iphase),   &
7689                 lptr_co3_aer(n,itype,iphase),  lptr_nh4_aer(n,itype,iphase),  &
7690                 lptr_na_aer(n,itype,iphase),   lptr_ca_aer(n,itype,iphase),   &
7691                 lptr_oin_aer(n,itype,iphase),  lptr_oc_aer(n,itype,iphase),   &
7692                 lptr_bc_aer(n,itype,iphase),   hyswptr_aer(n,itype), &
7693                 lptr_pcg1_b_c_aer(n,itype,iphase),  lptr_pcg2_b_c_aer(n,itype,iphase),&
7694                 lptr_pcg3_b_c_aer(n,itype,iphase),  lptr_pcg4_b_c_aer(n,itype,iphase),&
7695                 lptr_pcg5_b_c_aer(n,itype,iphase),  lptr_pcg6_b_c_aer(n,itype,iphase),&
7696                 lptr_pcg7_b_c_aer(n,itype,iphase),  lptr_pcg8_b_c_aer(n,itype,iphase),&
7697                 lptr_pcg9_b_c_aer(n,itype,iphase),  lptr_pcg1_b_o_aer(n,itype,iphase),&
7698                 lptr_pcg2_b_o_aer(n,itype,iphase), lptr_pcg3_b_o_aer(n,itype,iphase), &
7699                 lptr_pcg4_b_o_aer(n,itype,iphase), lptr_pcg5_b_o_aer(n,itype,iphase), &
7700                 lptr_pcg6_b_o_aer(n,itype,iphase), lptr_pcg7_b_o_aer(n,itype,iphase), &
7701                 lptr_pcg8_b_o_aer(n,itype,iphase), lptr_pcg9_b_o_aer(n,itype,iphase), &
7702                 lptr_opcg1_b_c_aer(n,itype,iphase),&
7703                 lptr_opcg2_b_c_aer(n,itype,iphase),  lptr_opcg3_b_c_aer(n,itype,iphase),&
7704                 lptr_opcg4_b_c_aer(n,itype,iphase),  lptr_opcg5_b_c_aer(n,itype,iphase),&
7705                 lptr_opcg6_b_c_aer(n,itype,iphase),  lptr_opcg7_b_c_aer(n,itype,iphase),&
7706                 lptr_opcg8_b_c_aer(n,itype,iphase),  lptr_opcg1_b_o_aer(n,itype,iphase),&
7707                 lptr_opcg2_b_o_aer(n,itype,iphase),  lptr_opcg3_b_o_aer(n,itype,iphase),&
7708                 lptr_opcg4_b_o_aer(n,itype,iphase),  lptr_opcg5_b_o_aer(n,itype,iphase),&
7709                 lptr_opcg6_b_o_aer(n,itype,iphase),  lptr_opcg7_b_o_aer(n,itype,iphase),&
7710                 lptr_opcg8_b_o_aer(n,itype,iphase),  &
7711                 lptr_pcg1_f_c_aer(n,itype,iphase),  lptr_pcg2_f_c_aer(n,itype,iphase),&
7712                 lptr_pcg3_f_c_aer(n,itype,iphase),  lptr_pcg4_f_c_aer(n,itype,iphase),&
7713                 lptr_pcg5_f_c_aer(n,itype,iphase),  lptr_pcg6_f_c_aer(n,itype,iphase),&
7714                 lptr_pcg7_f_c_aer(n,itype,iphase),  lptr_pcg8_f_c_aer(n,itype,iphase),&
7715                 lptr_pcg9_f_c_aer(n,itype,iphase),  lptr_pcg1_f_o_aer(n,itype,iphase),&
7716                 lptr_pcg2_f_o_aer(n,itype,iphase), lptr_pcg3_f_o_aer(n,itype,iphase), &
7717                 lptr_pcg4_f_o_aer(n,itype,iphase), lptr_pcg5_f_o_aer(n,itype,iphase), &
7718                 lptr_pcg6_f_o_aer(n,itype,iphase), lptr_pcg7_f_o_aer(n,itype,iphase), &
7719                 lptr_pcg8_f_o_aer(n,itype,iphase), lptr_pcg9_f_o_aer(n,itype,iphase), &
7720                 lptr_opcg1_f_c_aer(n,itype,iphase),&
7721                 lptr_opcg2_f_c_aer(n,itype,iphase),  lptr_opcg3_f_c_aer(n,itype,iphase),&
7722                 lptr_opcg4_f_c_aer(n,itype,iphase),  lptr_opcg5_f_c_aer(n,itype,iphase),&
7723                 lptr_opcg6_f_c_aer(n,itype,iphase),  lptr_opcg7_f_c_aer(n,itype,iphase),&
7724                 lptr_opcg8_f_c_aer(n,itype,iphase),  lptr_opcg1_f_o_aer(n,itype,iphase),&
7725                 lptr_opcg2_f_o_aer(n,itype,iphase),  lptr_opcg3_f_o_aer(n,itype,iphase),&
7726                 lptr_opcg4_f_o_aer(n,itype,iphase),  lptr_opcg5_f_o_aer(n,itype,iphase),&
7727                 lptr_opcg6_f_o_aer(n,itype,iphase),  lptr_opcg7_f_o_aer(n,itype,iphase),&
7728                 lptr_opcg8_f_o_aer(n,itype,iphase),                                     &
7729                 lptr_smpa_aer(n,itype,iphase),lptr_smpbb_aer(n,itype,iphase),        &
7730                 lptr_glysoa_r1_aer(n,itype,iphase), &
7731                 lptr_glysoa_r2_aer(n,itype,iphase), &
7732                 lptr_glysoa_sfc_aer(n,itype,iphase), &
7733                 lptr_glysoa_nh4_aer(n,itype,iphase), &
7734                 lptr_glysoa_oh_aer(n,itype,iphase), &
7735                 lptr_ant1_c_aer(n,itype,iphase),lptr_ant2_c_aer(n,itype,iphase),        &
7736                 lptr_ant3_c_aer(n,itype,iphase),lptr_ant4_c_aer(n,itype,iphase),        &
7737                 lptr_ant1_o_aer(n,itype,iphase),lptr_ant2_o_aer(n,itype,iphase),        &
7738                 lptr_ant3_o_aer(n,itype,iphase),lptr_ant4_o_aer(n,itype,iphase),        &
7739                 lptr_biog1_c_aer(n,itype,iphase),lptr_biog2_c_aer(n,itype,iphase),        &
7740                 lptr_biog3_c_aer(n,itype,iphase),lptr_biog4_c_aer(n,itype,iphase),        &
7741                 lptr_biog1_o_aer(n,itype,iphase),lptr_biog2_o_aer(n,itype,iphase),        &
7742                 lptr_biog3_o_aer(n,itype,iphase),lptr_biog4_o_aer(n,itype,iphase),        &
7743                 lptr_asoaX_aer(n,itype,iphase), &
7744                 lptr_asoa1_aer(n,itype,iphase),lptr_asoa2_aer(n,itype,iphase),          &
7745                 lptr_asoa3_aer(n,itype,iphase),lptr_asoa4_aer(n,itype,iphase),          &
7746                 lptr_bsoaX_aer(n,itype,iphase), &
7747                 lptr_bsoa1_aer(n,itype,iphase),lptr_bsoa2_aer(n,itype,iphase),          &
7748                 lptr_bsoa3_aer(n,itype,iphase),lptr_bsoa4_aer(n,itype,iphase)
7749                          
7750         end do ! size
7751         end do ! type
7752         end do ! phase
7753         print 95010, 'aerchem_debug_dump end -- first time'
7756 !   test iflag
7758 1000    continue
7759         if (iflag .eq. 1) goto 1010
7760         if (iflag .eq. 2) goto 2000
7761         if (iflag .eq. 3) goto 3000
7762         return
7765 !   iflag=1 -- save initial values
7766 !              AND FOR NOW do output too
7768 1010    continue
7769         dtchem_sv1 = dtchem
7770         do m = 1, nsubareas
7771         do k = 1, ktot
7772         do l = 1, ltot2
7773             rsub_sv1(l,k,m) = rsub(l,k,m)
7774         end do
7775         end do
7776         end do
7778         print 95010, 'aerchem_debug_dump start -- iflag=1'
7779         do m = 1, nsubareas
7780         do k = 1, ktot
7781             print 95020, iymdcur, ihmscur,   &
7782                 iclm, jclm, k, m, nsubareas, iflag
7783             print 95030, t, dtchem_sv1, cairclm(k), relhumclm(k),   &
7784                 ptotclm(k), afracsubarea(k,m)
7785             print 95030, (rsub_sv1(l,k,m), rsub(l,k,m), l=1,ltot2)
7786         end do
7787         end do
7788         print 95010, 'aerchem_debug_dump end -- iflag=1'
7790         return
7793 !   iflag=2 -- save intermediate values before doing move_sections
7794 !   (this is deactivated for now)
7796 2000    continue
7797         return
7801 !   iflag=3 -- do output
7803 3000    continue
7804         print 95010, 'aerchem_debug_dump start -- iflag=3'
7805         do m = 1, nsubareas
7806         do k = 1, ktot
7807             print 95020, iymdcur, ihmscur,   &
7808                 iclm, jclm, k, m, nsubareas, iflag
7809             print 95030, t, dtchem_sv1, cairclm(k), relhumclm(k),   &
7810                 ptotclm(k), afracsubarea(k,m)
7811             print 95030, (rsub_sv1(l,k,m), rsub(l,k,m), l=1,ltot2)
7812         end do
7813         end do
7814         print 95010, 'aerchem_debug_dump end -- iflag=3'
7817         return
7818         end subroutine aerchem_debug_dump 
7822 !-----------------------------------------------------------------------
7823         end module module_mosaic_driver