Changeset 2027


Ignore:
Timestamp:
Oct 25, 2018, 8:40:10 PM (6 years ago)
Author:
flefevre
Message:

Preparation de la fusion des codes photochimiques basse/haute atmosphere:
mise en place de la routine de calcul on-line des taux de photodissociation.
Routine inactive par defaut jusqu'a la fin de la phase de tests.

Location:
trunk/LMDZ.MARS/libf/aeronomars
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/aeronomars/calchim.F90

    r2007 r2027  
    9191      real :: pdq(ngrid,nlayer,nq)   ! previous tendencies
    9292      real :: zday                   ! date (time since Ls=0, in martian days)
    93       real :: tauref(ngrid)          ! optical depth at 7 hPa
     93      real :: tauref(ngrid)          ! Reference column optical depth
    9494      real :: co2ice(ngrid)          ! co2 ice surface layer (kg.m-2)
    9595      real :: surfdust(ngrid,nlayer) ! dust surface area (m2/m3)
     
    150150      real    :: zu(ngrid,nlayer)      ! u component of the wind
    151151      real    :: zv(ngrid,nlayer)      ! v component of the wind
    152       real    :: taucol                ! optical depth at 7 hPa
     152      real    :: taucol                ! dust optical depth at the surface
    153153
    154154      logical,save :: firstcall = .true.
     
    659659
    660660            call photochemistry(nlayer,nq,                            &
    661                                 ig,lswitch,zycol,szacol,ptimestep,    &
    662                                 zpress,ztemp,zdens,zmmean,dist_sol,  &
    663                                 surfdust1d,surfice1d,jo3,taucol,iter)
     661                           ig,lswitch,zycol,szacol,ptimestep,         &
     662                           zpress,zlocal,ztemp,zdens,zmmean,dist_sol, &
     663                           surfdust1d,surfice1d,jo3,taucol,iter)
    664664
    665665!        ozone photolysis, for output
  • trunk/LMDZ.MARS/libf/aeronomars/photochemistry.F90

    r2024 r2027  
    1313!*****************************************************************
    1414
    15 subroutine photochemistry(nlayer, nq,                                 &
    16                           ig, lswitch, zycol, sza, ptimestep, press,  &
    17                           temp, dens, zmmean, dist_sol, surfdust1d,   &
     15subroutine photochemistry(nlayer, nq,                                   &
     16                          ig, lswitch, zycol, sza, ptimestep, press,    &
     17                          alt, temp, dens, zmmean, dist_sol, surfdust1d,&
    1818                          surfice1d, jo3, tau, iter)
    1919
     
    3434real :: ptimestep             ! physics timestep (s)
    3535real :: press(nlayer)         ! pressure (hpa)
     36real :: alt(nlayer)           ! altitude (km)
    3637real :: temp(nlayer)          ! temperature (k)
    3738real :: dens(nlayer)          ! density (cm-3)
     
    4041real :: surfdust1d(nlayer)    ! dust surface area (cm2/cm3)
    4142real :: surfice1d(nlayer)     ! ice surface area (cm2/cm3)
    42 real :: tau                   ! optical depth at 7 hpa
     43real :: tau                   ! reference dust optical depth
    4344
    4445!===================================================================
     
    6566
    6667logical, save :: firstcall = .true.
     68logical :: jonline
    6769
    6870parameter (nesp = 17)         ! number of species in the chemistry
     
    141143!===================================================================
    142144
    143 call photolysis(nlayer, lswitch, press, temp, sza, tau, zmmean, dist_sol, &
    144                 rm(:,i_co2), rm(:,i_o3), v_phot)
     145jonline = .false.  ! .false. recommended until the end of testing phase
     146
     147if (jonline) then
     148   tau = tau*press(1)/6.1  ! temporary
     149   call photolysis_online(nlayer,lswitch, alt, press, temp,                  &
     150                          zmmean, i_co2, i_co, i_o, i_o1d, i_o2, i_o3, i_h,  &
     151                          i_h2, i_oh, i_ho2, i_h2o2, i_h2o,                  &
     152                          i_n, i_n2d, i_no, i_no2, i_n2, nesp, rm,           &
     153                          tau, sza, dist_sol, v_phot)
     154else
     155   call photolysis(nlayer, lswitch, press, temp, sza, tau, zmmean, dist_sol, &
     156                   rm(:,i_co2), rm(:,i_o3), v_phot)
     157end if
    145158
    146159! save o3 photolysis for output
Note: See TracChangeset for help on using the changeset viewer.