Changeset 4098


Ignore:
Timestamp:
Mar 4, 2026, 8:02:24 AM (5 hours ago)
Author:
flefevre
Message:

Cosmetic changes in phytrac_chimie.F

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.VENUS/libf/phyvenus/phytrac_chimie.F

    r4095 r4098  
    6161      integer, dimension(nlon,nlev) :: iter                 ! chemical iterations
    6262      real, dimension(nlon,nlev,nqmax) :: d_tr_chem         ! chemical tendency for each tracer
    63       real, dimension(nlon,nlev,nqmax) :: d_tr_micro        !microphysical tendencies
     63      real, dimension(nlon,nlev,nqmax) :: d_tr_micro        ! microphysical tendencies
    6464      real, dimension(nlon,nlev,nqmax) :: prod_tr, loss_tr  ! production and loss terms (for info)
    6565      real, dimension(nlon,nlev)    :: no_emi               ! no emission
     
    7575      real :: t_elec(nlev)  ! electron temperature [K]
    7676     
    77       integer, parameter :: t_elec_origin=2
    78       !Electronic temperature. Index 1 -> Theis et al. 1980 - model data ; Index 2-> Theis et al. 1984 - model data
     77      integer, parameter :: t_elec_origin = 2   ! electronic temperature.
     78                                                ! 1 -> Theis et al. 1980 - model data
     79                                                ! 2 -> Theis et al. 1984 - model data
    7980     
    8081      integer :: i, iq
     
    100101      integer, save :: nphotion              ! number of photoionizations
    101102      integer, save :: nb_reaction_4_ion     ! quadratic reactions for ionosphere
    102 !      integer, save :: nb_reaction_4_deut    ! quadratic reactions for deuterium chem
     103!     integer, save :: nb_reaction_4_deut    ! quadratic reactions for deuterium chem
    103104      integer, save :: nb_phot_max           ! total number of photolysis+photoionizations+quenching reactions
    104105
    105106      ! tracer indexes for the EUV heating:
    106 !!! ATTENTION. These values have to be identical to those in euvheat.F90
    107 !!! If the values are changed there, the same has to be done here  !!!
     107      !!! ATTENTION. These values have to be identical to those in euvheat.F90
     108      !!! If the values are changed there, the same has to be done here  !!!
    108109
    109110      integer,parameter :: ix_co2  =  1
     
    126127
    127128      ! NEED TO BE THE SAME AS IN EUVHEAT.F90
     129
    128130      integer,parameter :: nespeuv = 17    ! Number of species considered (11, 12 or 17 (with nitrogen))
    129131
     
    166168              nb_reaction_4_max = nb_reaction_4_max + nb_reaction_4_ion
    167169              nphotion       = 18     ! set number of photoionizations
    168            endif
     170           end if
    169171
    170172           !if(deutchem) then
     
    183185           if (reinit_trac .and. ok_chem) then
    184186 
    185   !!! in this reinitialisation, trac is VOLUME mixing ratio
    186   ! ONLY SO2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    187   !           convert mass to volume mixing ratio
     187!             convert mass to volume mixing ratio
     188
    188189              do iq = 1,nqmax - nmicro
    189190                 trac(:,:,iq) = trac(:,:,iq)*mmean(:,:)/m_tr(iq)
    190191              end do
    191192
     193              print*, "Chemical species are reinitialised"
     194
    192195              if (i_so2 /= 0) then
    193               print*, "H2SO4 is re-initialised"
    194                   trac(:,19:23,i_h2so4) = 15.e-6
    195 !              print*, "SO2 is re-initialised"
    196 
    197 !              if (i_so2 /= 0) then
    198 !                 trac(:,25:,i_so2)  = 100.e-9
    199 !                 trac(:,1:24,i_so2) = 15.e-6
    200 !                 trac(:,25:,i_h2o)  = 1.e-6
    201 !                 trac(:,1:24,i_h2o) = 30.e-6
    202 
    203 !                 trac(:,:,i_osso_cis)   = 0.
    204 !                 trac(:,:,i_osso_trans) = 0.
    205 !                 trac(:,:,i_s2o2_cyc)   = 0.
    206 !                 trac(:,:,i_cl2so2)     = 0.
    207  
    208   ! AL TRACERS!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    209   !           print*, "Tracers are re-initialised"
    210   !           trac(:,:,:) = 1.0e-30
    211  
    212   !           if ((i_ocs /= 0) .and. (i_co /= 0) .and. (i_hcl /= 0)
    213   !   $          .and. (i_so2 /= 0) .and. (i_h2o /= 0)
    214   !   $          .and. (i_n2 /= 0)  .and. (i_co2 /= 0)) then
    215   !              trac(:,1:22,i_ocs) = 3.e-6
    216   !              trac(:,1:22,i_co)  = 25.e-6
    217   !              trac(:,:,i_hcl)    = 0.4e-6
    218   !              trac(:,1:22,i_so2) = 7.e-6
    219   !              trac(:,1:22,i_h2o) = 30.e-6
    220   !              trac(:,:,i_n2)     = 0.35e-1
    221   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    222   !          ensure that sum of mixing ratios = 1
     196                 trac(:,25:,i_so2)  = 100.e-9
     197                 trac(:,1:24,i_so2) = 15.e-6
     198                 trac(:,25:,i_h2o)  = 1.e-6
     199                 trac(:,1:24,i_h2o) = 30.e-6
     200
     201                 if (cl_scheme == 2) then
     202                    trac(:,19:23,i_h2so4) = 15.e-6
     203                 end if
     204
     205                 trac(:,:,i_osso_cis)   = 0.
     206                 trac(:,:,i_osso_trans) = 0.
     207                 trac(:,:,i_s2o2_cyc)   = 0.
     208                 trac(:,:,i_cl2so2)     = 0.
     209 
     210!                trac(:,1:22,i_ocs) = 3.e-6
     211!                trac(:,1:22,i_co)  = 25.e-6
     212!                trac(:,:,i_hcl)    = 0.4e-6
     213!                trac(:,1:22,i_so2) = 7.e-6
     214!                trac(:,1:22,i_h2o) = 30.e-6
     215!                trac(:,:,i_n2)     = 0.35e-1
     216
     217!                ensure that sum of mixing ratios = 1
    223218 
    224219                 trac_sum(:,:) = 0.
     
    230225                 end do
    231226 
    232   !          initialise co2
     227!                initialise co2
    233228 
    234229                 trac(:,:,i_co2) = 1. - trac_sum(:,:)
     
    239234              end if
    240235         
    241   !           update mmean
     236           update mmean
    242237 
    243238              mmean(:,:) = 0.
     
    247242              rnew(:,:) = 8.314/mmean(:,:)*1.e3     ! J/kg K
    248243 
    249   !           convert volume to mass mixing ratio
     244           convert volume to mass mixing ratio
    250245 
    251246              do iq = 1,nqmax - nmicro
     
    255250           end if  ! reinit_trac
    256251
    257    !    initilise moments for detailed microphysics
    258 
    259        if (ok_cloud .and. (cl_scheme ==2)) then
    260          if ((sum(trac(:,:,i_m0_mode2drop))+
    261      $    sum(trac(:,:,i_m0_mode1drop))) .lt. 1.D0) then
    262 
    263          DO ilon = 1, nlon
    264          call init_moment(ilon,nlev,pplay(ilon,:),temp(ilon,:),
    265      $                    trac(ilon,:,:))
    266          ENDDO
    267 
    268        ! Convert moment/volune to moment/mass
    269 
    270          do iq = nqmax-nmoment+1,nqmax
    271           trac(:,:,iq) = trac(:,:,iq)/rho(:,:)
    272          enddo
    273         endif
    274         endif
    275          end if  ! ok_chem
    276       end if ! debutphy
     252!          initialise moments for detailed microphysics
     253
     254           if (ok_cloud .and. (cl_scheme == 2)) then
     255              if ((sum(trac(:,:,i_m0_mode2drop))
     256     $           + sum(trac(:,:,i_m0_mode1drop))) < 1.D0) then
     257
     258                 do ilon = 1, nlon
     259                    call init_moment(ilon,nlev,pplay(ilon,:),
     260     $                               temp(ilon,:),trac(ilon,:,:))
     261                 end do
     262
     263!         convert moment/volune to moment/mass
     264
     265                 do iq = nqmax - nmoment + 1,nqmax
     266                    trac(:,:,iq) = trac(:,:,iq)/rho(:,:)
     267                 end do
     268              end if ! sum < 1
     269           end if    ! cl_scheme = 2
     270         end if      ! ok_chem
     271      end if         ! debutphy
     272
    277273!===================================================================
    278274!     convert mass to volume mixing ratio : gas phase
    279275!===================================================================
    280         ztrac(:,:,:) = 0.D0
     276
    281277      do iq = 1,nqmax - nmicro
    282278         ztrac(:,:,iq) = max(trac(:,:,iq)*mmean(:,:)/m_tr(iq), 1.e-30)
    283279      end do
     280
    284281!===================================================================
    285282!     microphysics: simplified scheme (phd aurelien stolzenbach)
    286283!===================================================================
     284
    287285      if (ok_cloud .and. cl_scheme == 1) then
    288286
     
    320318
    321319!===================================================================
    322 !     microphysics: detailed scheme (phd sabrina guilbon)
    323 !     !!! to be confirmed whether mad_muphy expects mmr or vmr for h2o and h2so4
     320!     microphysics: detailed scheme (phd sabrina guilbon and nicolas
     321!     streel)
    324322!===================================================================
    325323
    326324      if (ok_cloud .and. cl_scheme == 2) then
    327325
    328 !     Initiating d_tr_micro with 0
    329 
    330         d_tr_micro(:,:,:)=0.D0
    331         momtrac(:,:,:) = 0.D0
     326!       initialisations
     327
     328        d_tr_micro(:,:,:) = 0.D0
     329        momtrac(:,:,:)    = 0.D0
    332330        r1 = 0.D0
    333331        r2 = 0.D0
    334332       
    335 !    Setting up the values
     333!       mixing ratios
    336334
    337335        mitrac(:,:,1) = ztrac(:,:,i_h2o)
     
    339337       
    340338        do iq = nqmax-nmoment+1,nqmax
    341           momtrac(:,:,iq) = trac(:,:,iq)*rho(:,:)
    342           ztrac(:,:,iq) = momtrac(:,:,iq)
    343         enddo
    344 
    345 !    Compute WSAV and RHOSA
     339           momtrac(:,:,iq) = trac(:,:,iq)*rho(:,:)
     340           ztrac(:,:,iq) = momtrac(:,:,iq)
     341        end do
     342
     343!       compute WSAV and RHOSA
    346344
    347345        do ilon = 1,nlon       
    348            do ilev = 1, nlev
    349                if (((ztrac(ilon,ilev,i_m3_mode1sa)+
    350      $               ztrac(ilon,ilev,i_m3_mode2sa))+
    351      $              (ztrac(ilon,ilev,i_m3_mode1wv)+
    352      $               ztrac(ilon,ilev,i_m3_mode2wv))) .gt.
    353      $              1e-30) then
    354 
    355                    WSAV  = (ztrac(ilon,ilev,i_m3_mode1sa) +
    356      $                      ztrac(ilon,ilev,i_m3_mode2sa))/
    357      $                    ((ztrac(ilon,ilev,i_m3_mode1sa) +
    358      $                      ztrac(ilon,ilev,i_m3_mode2sa))+
    359      $                     (ztrac(ilon,ilev,i_m3_mode1wv) +
    360      $                      ztrac(ilon,ilev,i_m3_mode2wv)))
    361 
    362                     RHOSA = ROSAS(temp, (WSAV*RHOas * 1/(WSAV*RHOas +
     346           do ilev = 1,nlev
     347              if (ztrac(ilon,ilev,i_m3_mode1sa)
     348     $          + ztrac(ilon,ilev,i_m3_mode2sa)
     349     $          + ztrac(ilon,ilev,i_m3_mode1wv)
     350     $          + ztrac(ilon,ilev,i_m3_mode2wv) > 1.e-30) then
     351
     352                 WSAV = (ztrac(ilon,ilev,i_m3_mode1sa)
     353     $                 + ztrac(ilon,ilev,i_m3_mode2sa))
     354     $                  /(ztrac(ilon,ilev,i_m3_mode1sa)
     355     $                  + ztrac(ilon,ilev,i_m3_mode2sa)
     356     $                  + ztrac(ilon,ilev,i_m3_mode1wv)
     357     $                  + ztrac(ilon,ilev,i_m3_mode2wv))
     358
     359                 RHOSA = ROSAS(temp, (WSAV*RHOas*1./(WSAV*RHOas +
    363360     $                   (1.D0-WSAV)*RHOwv)))
    364                else
    365                   WSAV   = WSAVtab(ilon,ilev)
    366                   RHOSA = RHOtab(ilon,ilev)
    367                endif       
    368 
    369 !    Compute liquids mmr before microphysics and saving them
     361              else
     362                 WSAV  = WSAVtab(ilon,ilev)
     363                 RHOSA = RHOtab(ilon,ilev)
     364              end if       
     365
     366!    compute liquids mmr before microphysics and saving them
    370367
    371368              trac(ilon,ilev,i_h2so4liq) = 
    372      $      ((trac(ilon,ilev,i_m3_mode1sa)+trac(ilon,ilev,i_m3_mode2sa))
    373      $     *(4.D0*PI/3.D0) *RHOas/rho(ilon,ilev) * mmean(ilon,ilev)/MSA)
    374 
    375              trac(ilon,ilev,i_h2oliq) =
    376      $      ((trac(ilon,ilev,i_m3_mode1wv)+trac(ilon,ilev,i_m3_mode2wv))
    377      $      *(4.D0*PI/3.D0)*RHOwv/rho(ilon,ilev) * mmean(ilon,ilev)*MWV)
     369     $                       ((trac(ilon,ilev,i_m3_mode1sa)
     370     $                       + trac(ilon,ilev,i_m3_mode2sa))
     371     $                       *(4.D0*PI/3.D0)*RHOas/rho(ilon,ilev)
     372     $                       *mmean(ilon,ilev)/MSA)
     373
     374              trac(ilon,ilev,i_h2oliq) =
     375     $                       ((trac(ilon,ilev,i_m3_mode1wv)
     376     $                       + trac(ilon,ilev,i_m3_mode2wv))
     377     $                       *(4.D0*PI/3.D0)*RHOwv/rho(ilon,ilev)
     378     $                       *mmean(ilon,ilev)*MWV)
    378379
    379380             ztrac(ilon,ilev,i_h2so4liq) = trac(ilon,ilev,i_h2so4liq)
    380381             ztrac(ilon,ilev,i_h2oliq) = trac(ilon,ilev,i_h2oliq)
    381382
    382 !    Microphysical scheme
    383 
    384              if (temp(ilon,ilev) .lt. 400) then
    385                   call mad_muphy(pdtphys,ilon,ilev,                     ! timestep
    386      $                           temp(ilon,ilev),pplay(ilon,ilev),      ! temperature and pressure
    387      $                           mitrac(ilon,ilev,1),                   ! H2O vapor   
    388      $                           mitrac(ilon,ilev,2),                   ! H2SO4 vapor
    389      $                           ztrac(ilon,ilev,i_h2oliq),             ! H2O liquid
    390      $                           ztrac(ilon,ilev,i_h2so4liq),           ! H2SO4 liquid
    391      $                           rho(ilon,ilev),mmean(ilon,ilev),       ! density and mean molecular mass
    392      $                           ztrac(ilon,ilev,i_m0_aer),
    393      $                           ztrac(ilon,ilev,i_m3_aer),   
    394      $                           ztrac(ilon,ilev,i_m0_mode1drop),
    395      $                           ztrac(ilon,ilev,i_m0_mode1ccn),
    396      $                           ztrac(ilon,ilev,i_m3_mode1sa),
    397      $                           ztrac(ilon,ilev,i_m3_mode1wv),   
    398      $                           ztrac(ilon,ilev,i_m3_mode1ccn),   
    399      $                           ztrac(ilon,ilev,i_m0_mode2drop),
    400      $                           ztrac(ilon,ilev,i_m0_mode2ccn),
    401      $                           ztrac(ilon,ilev,i_m3_mode2sa),
    402      $                           ztrac(ilon,ilev,i_m3_mode2wv),
    403      $                           ztrac(ilon,ilev,i_m3_mode2ccn))
    404                   satm1(ilon,ilev) = sat1
    405                   satm2(ilon,ilev) = sat2
    406 
    407 !    Compute liquids mmr after microphysics
    408 
    409                  ztrac(ilon,ilev,i_h2so4liq) = 
    410      $   ((ztrac(ilon,ilev,i_m3_mode1sa)+ztrac(ilon,ilev,i_m3_mode2sa))
    411      $     *(4.D0*PI/3.D0) *RHOas/rho(ilon,ilev) * mmean(ilon,ilev)/MSA)
    412                  ztrac(ilon,ilev,i_h2oliq) =
    413      $   ((ztrac(ilon,ilev,i_m3_mode1wv)+ztrac(ilon,ilev,i_m3_mode2wv))
    414      $     *(4.D0*PI/3.D0)*RHOwv/rho(ilon,ilev) * mmean(ilon,ilev)/MWV)
    415 
    416 !    Compute tendencides of the vapors
    417 
    418          d_tr_micro(:,:,i_h2so4) = MSA/mmean(:,:)*(mitrac(:,:,2)
    419      $                            - ztrac(:,:,i_h2so4))/pdtphys
    420          d_tr_micro(:,:,i_h2o) = MWV/mmean(:,:)*(mitrac(:,:,1)
    421      $                            - ztrac(:,:,i_h2o))/pdtphys
    422 
    423 !    Saving the radius, WSA and rho of the droplets
    424 
    425       r2tab(ilon,ilev)=r2
    426       r1tab(ilon,ilev)=r1
    427 
    428        if (((ztrac(ilon,ilev,i_m3_mode1sa)+
    429      $       ztrac(ilon,ilev,i_m3_mode2sa))+
    430      $ (ztrac(ilon,ilev,i_m3_mode1wv)
    431      $ +ztrac(ilon,ilev,i_m3_mode2wv))).gt.
    432      $    1e-30) then
    433 
    434          WSAVtab(ilon,ilev)  =
    435      $ (ztrac(ilon,ilev,i_m3_mode1sa)+ztrac(ilon,ilev,i_m3_mode2sa))/
    436      $  ((ztrac(ilon,ilev,i_m3_mode1sa)+ztrac(ilon,ilev,i_m3_mode2sa))+
    437      $   (ztrac(ilon,ilev,i_m3_mode1wv)+ztrac(ilon,ilev,i_m3_mode2wv)))
    438         else
    439       WSAVtab(ilon,ilev)=WSAV
    440        endif
    441          RHOtab(ilon,ilev) = RHOSA
    442          RHtab(ilon,ilev) = SH2SO4*100.D0
    443 
    444       end if   
    445             end do
    446          end do
     383!    microphysical scheme
     384
     385             if (temp(ilon,ilev) < 400.) then
     386                call mad_muphy(pdtphys,ilon,ilev,                     ! timestep
     387     $                         temp(ilon,ilev),pplay(ilon,ilev),      ! temperature and pressure
     388     $                         mitrac(ilon,ilev,1),                   ! H2O vapor   
     389     $                         mitrac(ilon,ilev,2),                   ! H2SO4 vapor
     390     $                         ztrac(ilon,ilev,i_h2oliq),             ! H2O liquid
     391     $                         ztrac(ilon,ilev,i_h2so4liq),           ! H2SO4 liquid
     392     $                         rho(ilon,ilev),mmean(ilon,ilev),       ! density and mean molecular mass
     393     $                         ztrac(ilon,ilev,i_m0_aer),
     394     $                         ztrac(ilon,ilev,i_m3_aer),   
     395     $                         ztrac(ilon,ilev,i_m0_mode1drop),
     396     $                         ztrac(ilon,ilev,i_m0_mode1ccn),
     397     $                         ztrac(ilon,ilev,i_m3_mode1sa),
     398     $                         ztrac(ilon,ilev,i_m3_mode1wv),   
     399     $                         ztrac(ilon,ilev,i_m3_mode1ccn),   
     400     $                         ztrac(ilon,ilev,i_m0_mode2drop),
     401     $                         ztrac(ilon,ilev,i_m0_mode2ccn),
     402     $                         ztrac(ilon,ilev,i_m3_mode2sa),
     403     $                         ztrac(ilon,ilev,i_m3_mode2wv),
     404     $                         ztrac(ilon,ilev,i_m3_mode2ccn))
     405
     406                satm1(ilon,ilev) = sat1
     407                satm2(ilon,ilev) = sat2
     408
     409!    compute liquid mmr of h2so4 and h2o after microphysics
     410
     411                ztrac(ilon,ilev,i_h2so4liq) = 
     412     $                        ((ztrac(ilon,ilev,i_m3_mode1sa)
     413     $                        + ztrac(ilon,ilev,i_m3_mode2sa))
     414     $                        *(4.D0*PI/3.D0)*RHOas/rho(ilon,ilev)
     415     $                        *mmean(ilon,ilev)/MSA)
     416
     417                ztrac(ilon,ilev,i_h2oliq) =
     418     $                        ((ztrac(ilon,ilev,i_m3_mode1wv)
     419     $                        + ztrac(ilon,ilev,i_m3_mode2wv))
     420     $                        *(4.D0*PI/3.D0)*RHOwv/rho(ilon,ilev)
     421     $                        *mmean(ilon,ilev)/MWV)
     422
     423!    compute tendencies of gas-phase h2so4 and h2o
     424
     425                d_tr_micro(:,:,i_h2so4) = MSA/mmean(:,:)*(mitrac(:,:,2)
     426     $                                  - ztrac(:,:,i_h2so4))/pdtphys
     427                d_tr_micro(:,:,i_h2o) = MWV/mmean(:,:)*(mitrac(:,:,1)
     428     $                                  - ztrac(:,:,i_h2o))/pdtphys
     429
     430!    saving the radius, WSA and rho of the droplets
     431
     432               r2tab(ilon,ilev) = r2
     433               r1tab(ilon,ilev) = r1
     434
     435               if (ztrac(ilon,ilev,i_m3_mode1sa)
     436     $           + ztrac(ilon,ilev,i_m3_mode2sa)
     437     $           + ztrac(ilon,ilev,i_m3_mode1wv)
     438     $           + ztrac(ilon,ilev,i_m3_mode2wv) > 1.e-30) then
     439
     440                 WSAVtab(ilon,ilev) =
     441     $              (ztrac(ilon,ilev,i_m3_mode1sa)
     442     $             + ztrac(ilon,ilev,i_m3_mode2sa))
     443     $             /(ztrac(ilon,ilev,i_m3_mode1sa)
     444     $             + ztrac(ilon,ilev,i_m3_mode2sa)
     445     $             + ztrac(ilon,ilev,i_m3_mode1wv)
     446     $             + ztrac(ilon,ilev,i_m3_mode2wv))
     447               else
     448                  WSAVtab(ilon,ilev) = WSAV
     449               end if
     450
     451               RHOtab(ilon,ilev) = RHOSA
     452               RHtab(ilon,ilev) = SH2SO4*100.D0
     453
     454            end if   ! t < 400 k   
     455            end do   ! ilev
     456         end do      ! ilon
    447457      end if  ! detailed scheme
     458
    448459!===================================================================
    449460!     photochemistry
     
    457468         
    458469         if (ok_ionchem) then
    459        
    460            vmr_dens_euv(:,:,ix_co2) = ztrac(:,:,i_co2)  ! CO2
    461            vmr_dens_euv(:,:,ix_co)  = ztrac(:,:,i_co)   ! CO
    462            vmr_dens_euv(:,:,ix_o)   = ztrac(:,:,i_o)    ! O
    463            vmr_dens_euv(:,:,ix_o1d) = ztrac(:,:,i_o1d)  ! O(1D)
    464            vmr_dens_euv(:,:,ix_o2)  = ztrac(:,:,i_o2)   ! O2
    465            vmr_dens_euv(:,:,ix_o3)  = ztrac(:,:,i_o3)   ! O3
    466            vmr_dens_euv(:,:,ix_h)   = ztrac(:,:,i_h)    ! H
    467            vmr_dens_euv(:,:,ix_h2)  = ztrac(:,:,i_h2)   ! H2
    468            vmr_dens_euv(:,:,ix_oh)  = ztrac(:,:,i_oh)   ! OH
    469            vmr_dens_euv(:,:,ix_ho2) = ztrac(:,:,i_ho2)  ! HO2
    470            vmr_dens_euv(:,:,ix_h2o2)= ztrac(:,:,i_h2o2) ! H2O2
    471            vmr_dens_euv(:,:,ix_h2o) = ztrac(:,:,i_h2o)  ! H2O
    472            vmr_dens_euv(:,:,ix_n)   = ztrac(:,:,i_n)    ! N
    473            vmr_dens_euv(:,:,ix_n2d) = ztrac(:,:,i_n2d)  ! N(2D)
    474            vmr_dens_euv(:,:,ix_no)  = ztrac(:,:,i_no)   ! NO
    475            vmr_dens_euv(:,:,ix_no2) = ztrac(:,:,i_no2)  ! NO2
    476            vmr_dens_euv(:,:,ix_n2)  = ztrac(:,:,i_n2)   ! N2
    477            
     470            vmr_dens_euv(:,:,ix_co2) = ztrac(:,:,i_co2)  ! CO2
     471            vmr_dens_euv(:,:,ix_co)  = ztrac(:,:,i_co)   ! CO
     472            vmr_dens_euv(:,:,ix_o)   = ztrac(:,:,i_o)    ! O
     473            vmr_dens_euv(:,:,ix_o1d) = ztrac(:,:,i_o1d)  ! O(1D)
     474            vmr_dens_euv(:,:,ix_o2)  = ztrac(:,:,i_o2)   ! O2
     475            vmr_dens_euv(:,:,ix_o3)  = ztrac(:,:,i_o3)   ! O3
     476            vmr_dens_euv(:,:,ix_h)   = ztrac(:,:,i_h)    ! H
     477            vmr_dens_euv(:,:,ix_h2)  = ztrac(:,:,i_h2)   ! H2
     478            vmr_dens_euv(:,:,ix_oh)  = ztrac(:,:,i_oh)   ! OH
     479            vmr_dens_euv(:,:,ix_ho2) = ztrac(:,:,i_ho2)  ! HO2
     480            vmr_dens_euv(:,:,ix_h2o2)= ztrac(:,:,i_h2o2) ! H2O2
     481            vmr_dens_euv(:,:,ix_h2o) = ztrac(:,:,i_h2o)  ! H2O
     482            vmr_dens_euv(:,:,ix_n)   = ztrac(:,:,i_n)    ! N
     483            vmr_dens_euv(:,:,ix_n2d) = ztrac(:,:,i_n2d)  ! N(2D)
     484            vmr_dens_euv(:,:,ix_no)  = ztrac(:,:,i_no)   ! NO
     485            vmr_dens_euv(:,:,ix_no2) = ztrac(:,:,i_no2)  ! NO2
     486            vmr_dens_euv(:,:,ix_n2)  = ztrac(:,:,i_n2)   ! N2
    478487         end if
    479488         
     
    482491                       
    483492!           solar zenith angle
    484 !            sza_local = acos(cos(lat_local(ilon))*cos(lon_local(ilon))
    485 !     $                 *cos(lon_sun) + cos(lat_local(ilon))
    486 !     $                 *sin(lon_local(ilon))*sin(lon_sun))*180./rpi
     493
     494!           sza_local = acos(cos(lat_local(ilon))*cos(lon_local(ilon))
     495!     $                *cos(lon_sun) + cos(lat_local(ilon))
     496!     $                *sin(lon_local(ilon))*sin(lon_sun))*180./rpi
    487497
    488498            sza_local = cos(lat_local(ilon))*cos(lon_local(ilon))
     
    490500     $                 *sin(lon_local(ilon))*sin(lon_sun)
    491501
    492             ! Security - Handle rare cases where |sza_local| > 1
     502!           handle rare cases where |sza_local| > 1
     503
    493504            sza_local = min(sza_local,1.)
    494505            sza_local = max(-1.,sza_local)
     
    569580     $       (ztrac(:,:,i_h2oliq) - momtrac(:,:,i_h2oliq)))/pdtphys
    570581
    571 
    572582         d_tr_micro(:,:,i_m0_aer) = (ztrac(:,:,i_m0_aer)
    573583     $            - momtrac(:,:,i_m0_aer))/(rho(:,:)*pdtphys)
     
    598608         d_tr_micro(:,:,i_m3_mode2ccn) = (ztrac(:,:,i_m3_mode2ccn)
    599609     $            - momtrac(:,:,i_m3_mode2ccn))/(rho(:,:)*pdtphys)
    600         endif
     610      end if
    601611
    602612      end subroutine phytrac_chimie
Note: See TracChangeset for help on using the changeset viewer.