Changeset 2024


Ignore:
Timestamp:
Oct 25, 2018, 3:19:35 PM (6 years ago)
Author:
flefevre
Message:

Préparation de la fusion des modèles chimiques basse/haute atmosphère:

  • ajout de la chimie de N(2D) dans la basse atmosphère
  • ajout des photodissociations de H2 et N2 dans la basse atmosphère (non actives pour l'instant)
Location:
trunk/LMDZ.MARS/libf/aeronomars
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/aeronomars/chimiedata.h

    r1430 r2024  
    3838!--------------------------------------------
    3939
    40       integer, parameter :: nb_phot_max       = 18
     40      integer, parameter :: nb_phot_max       = 22
    4141      integer, parameter :: nb_reaction_3_max = 6
    42       integer, parameter :: nb_reaction_4_max = 30
     42      integer, parameter :: nb_reaction_4_max = 31
  • trunk/LMDZ.MARS/libf/aeronomars/photochemistry.F90

    r2007 r2024  
    160160hetero_ice  = .true.
    161161
    162 call reactionrates(nlayer, lswitch, dens, c(:,i_co2), c(:,i_o2), &
    163                    press, temp, hetero_dust, hetero_ice,        &
     162call reactionrates(nlayer, lswitch, dens, c(:,i_co2), c(:,i_o2),              &
     163                   c(:,i_o), c(:,i_n2), press, temp, hetero_dust, hetero_ice, &
    164164                   surfdust1d, surfice1d, v_phot, v_3, v_4)
    165165
     
    386386!======================================================================
    387387
    388  subroutine reactionrates(nlayer,                               &
    389                           lswitch, dens, co2, o2, press, t,    &
    390                           hetero_dust, hetero_ice,              &
    391                           surfdust1d, surfice1d,                &
     388 subroutine reactionrates(nlayer,                                  &
     389                          lswitch, dens, co2, o2, o, n2, press, t, &
     390                          hetero_dust, hetero_ice,                 &
     391                          surfdust1d, surfice1d,                   &
    392392                          v_phot, v_3, v_4)
    393393 
     
    423423real (kind = 8), dimension(nlayer) :: co2    ! co2 number density (molecule.cm-3)
    424424real (kind = 8), dimension(nlayer) :: o2     ! o2 number density (molecule.cm-3)
     425real (kind = 8), dimension(nlayer) :: o      ! o number density (molecule.cm-3)
     426real (kind = 8), dimension(nlayer) :: n2     ! n2 number density (molecule.cm-3)
    425427logical :: hetero_dust, hetero_ice           ! switches for heterogeneous chemistry
    426428
     
    443445real, dimension(nlayer) :: deq
    444446real, dimension(nlayer) :: a001, a002, a003,                           &
    445                              b001, b002, b003, b004, b005, b006, b007,   &
    446                              b008, b009,                                 &
    447                              c001, c002, c003, c004, c005, c006, c007,   &
    448                              c008, c009, c010, c011, c012, c013, c014,   &
    449                              c015, c016, c017, c018,                     &
    450                              d001, d002, d003, d004, d005, d006, d007,   &
    451                              d008, d009,                                 &
    452                              e001, e002,                                 &
    453                              h001, h002, h003, h004, h005
     447                           b001, b002, b003, b004, b005, b006, b007,   &
     448                           b008, b009,                                 &
     449                           c001, c002, c003, c004, c005, c006, c007,   &
     450                           c008, c009, c010, c011, c012, c013, c014,   &
     451                           c015, c016, c017, c018,                     &
     452                           d001, d002, d003, d004, d005, d006, d007,   &
     453                           d008, d009, d010, d011, d012,               &
     454                           e001, e002,                                 &
     455                           h001, h002, h003, h004, h005
    454456
    455457!----------------------------------------------------------------------
     
    457459!----------------------------------------------------------------------
    458460
    459       nb_phot       = 11       ! jmars.20140930 reduit de 13 a 11
     461      nb_phot       = 13       ! jmars.20140930(13) - hno3 - hno4 + h2 + n2
    460462      nb_reaction_3 = 0
    461463      nb_reaction_4 = 0
     
    851853      nb_reaction_4 = nb_reaction_4 + 1
    852854      v_4(:,nb_reaction_4) = d009(:)
     855
     856!---  d010: n(2d) + o  -> n + o
     857
     858!     herron, j. phys. chem. ref. data, 1999
     859
     860      d010(:) = 3.3e-12*exp(-260./t(:))
     861
     862      nb_phot = nb_phot + 1
     863      v_phot(:,nb_phot) = d010(:)*o(:)
     864
     865!---  d011: n(2d) + n2  -> n + n2
     866
     867!     herron, j. phys. chem. ref. data, 1999
     868
     869      d011(:) = 1.7e-14
     870
     871      nb_phot = nb_phot + 1
     872      v_phot(:,nb_phot) = d011(:)*n2(:)
     873
     874!---  d012: n(2d) + co2  -> no + co
     875
     876!     herron, j. phys. chem. ref. data, 1999
     877
     878      d012(:) = 3.6e-13
     879
     880      nb_reaction_4 = nb_reaction_4 + 1
     881      v_4(:,nb_reaction_4) = d012(:)
    853882
    854883!----------------------------------------------------------------------
     
    12261255
    12271256!===========================================================
     1257!      H2 + hv -> H + H
     1258!===========================================================
     1259
     1260nb_phot = nb_phot + 1
     1261
     1262indice_phot(nb_phot) = z3spec(1.0, i_h2, 1.0, i_h, 1.0, i_h)
     1263
     1264!===========================================================
    12281265!      NO + hv -> N + O
    12291266!===========================================================
     
    12421279
    12431280!===========================================================
     1281!      N2 + hv -> N + N
     1282!===========================================================
     1283
     1284nb_phot = nb_phot + 1
     1285
     1286indice_phot(nb_phot) = z3spec(1.0, i_n2, 1.0, i_n2d, 1.0, i_n)
     1287
     1288!===========================================================
    12441289!      a001 : O + O2 + CO2 -> O3 + CO2
    12451290!===========================================================
     
    15281573
    15291574indice_4(nb_reaction_4) = z4spec(1.0, i_n, 1.0, i_oh, 1.0, i_no, 1.0, i_h)
     1575
     1576!===========================================================
     1577!      d010 : N(2D) + O -> N + O
     1578!===========================================================
     1579
     1580nb_phot = nb_phot + 1
     1581
     1582indice_phot(nb_phot) = z3spec(1.0, i_n2d, 1.0, i_n, 0.0, i_dummy)
     1583
     1584!===========================================================
     1585!      d011 : N(2D) + N2 -> N + N2
     1586!===========================================================
     1587
     1588nb_phot = nb_phot + 1
     1589
     1590indice_phot(nb_phot) = z3spec(1.0, i_n2d, 1.0, i_n, 0.0, i_dummy)
     1591
     1592!===========================================================
     1593!      d012 : N(2D) + CO2 -> NO + CO
     1594!===========================================================
     1595
     1596nb_reaction_4 = nb_reaction_4 + 1
     1597
     1598indice_4(nb_reaction_4) = z4spec(1.0, i_n2d, 1.0, i_co2, 1.0, i_no, 1.0, i_co)
    15301599
    15311600!===========================================================
  • trunk/LMDZ.MARS/libf/aeronomars/photolysis.F90

    r2007 r2024  
    4343      integer :: j_o2_o, j_o2_o1d, j_co2_o, j_co2_o1d, j_o3_o1d,        &
    4444                 j_o3_o, j_h2o, j_hdo, j_h2o2, j_ho2, j_no, j_no2,      &
    45                  j_hno3, j_hno4,                                        &
    46                  j_ch4_ch3_h, j_ch4_1ch2_h2, j_ch4_3ch2_h_h,            &
    47                  j_ch4_ch_h2_h, j_ch3o2h, j_ch2o_hco, j_ch2o_co,        &
    48                  j_ch3oh, j_c2h6, j_hcl, j_hocl, j_clo, j_so2, j_so,    &
    49                  j_h2s, j_so3
     45                 j_hno3, j_hno4
    5046
    5147      real :: col(nlayer)                 ! overhead air column   (molecule cm-2)
     
    323319      j_hno4         =  13     ! hno4 + hv   -> no2 + ho2
    324320
    325 ! jmars.20111014
    326 
    327 !     j_o2_o         =  1      ! o2 + hv     -> o + o
    328 !     j_o2_o1d       =  2      ! o2 + hv     -> o + o(1d)
    329 !     j_co2_o        =  3      ! co2 + hv    -> co + o
    330 !     j_co2_o1d      =  4      ! co2 + hv    -> co + o(1d)
    331 !     j_o3_o1d       =  5      ! o3 + hv     -> o2 + o(1d)
    332 !     j_o3_o         =  6      ! o3 + hv     -> o2 + o
    333 !     j_h2o          =  7      ! h2o + hv    -> h + oh
    334 !     j_hdo          =  8      ! hdo + hv    -> d + oh
    335 !     j_h2o2         =  9      ! h2o2 + hv   -> oh + oh
    336 !     j_ho2          =  10     ! ho2 + hv    -> oh + o
    337 !     j_no2          =  11     ! no2 + hv    -> no + o
    338 !     j_ch4_ch3_h    =  12     ! ch4 + hv    -> ch3 + h
    339 !     j_ch4_1ch2_h2  =  13     ! ch4 + hv    -> 1ch2 + h2
    340 !     j_ch4_3ch2_h_h =  14     ! ch4 + hv    -> 3ch2 + h + h
    341 !     j_ch4_ch_h2_h  =  15     ! ch4 + hv    -> ch + h2 + h
    342 !     j_ch3o2h       =  16     ! ch3o2h + hv -> ch3o + oh
    343 !     j_ch2o_hco     =  17     ! ch2o + hv   -> h + hco
    344 !     j_ch2o_co      =  18     ! ch2o + hv   -> h2 + co
    345 !     j_ch3oh        =  19     ! ch3oh + hv  -> ch3o + h
    346 !     j_c2h6         =  20     ! c2h6 + hv   -> products
    347 !     j_hcl          =  21     ! hcl + hv    -> h + cl
    348 !     j_hocl         =  22     ! hocl + hv   -> oh + cl
    349 !     j_clo          =  23     ! clo + hv    -> o + cl
    350 !     j_so2          =  24     ! so2 + hv    -> so + o
    351 !     j_so           =  25     ! so + hv     -> s + o
    352 !     j_h2s          =  26     ! h2s + hv    -> hs + s
    353 !     j_so3          =  27     ! so2 + hv    -> so2 + o
    354 !     j_hno3         =  28     ! hno3 + hv   -> oh + no2
    355 !     j_hno4         =  29     ! hno4 + hv   -> ho2 + no2
    356 
    357321! fill v_phot array
    358322
     
    369333         v_phot(l, 8) = j(l,j_h2o2)
    370334         v_phot(l, 9) = j(l,j_ho2)
    371          v_phot(l,10) = j(l,j_no)
    372          v_phot(l,11) = j(l,j_no2)
     335         v_phot(l,10) = 0.         ! h2
     336         v_phot(l,11) = j(l,j_no)
     337         v_phot(l,12) = j(l,j_no2)
     338         v_phot(l,13) = 0.         ! n2
    373339      end do
    374340
Note: See TracChangeset for help on using the changeset viewer.