Ignore:
Timestamp:
Nov 14, 2020, 4:51:23 PM (4 years ago)
Author:
flefevre
Message:

1) ajout de la photodissociation de HDO (commentee pour l'instant)

  • necessite la presence des sections efficaces de HDO dans le datadir:


datadir/hdo_composite_295K.txt

2) CO + OH -> CO2 + H : cinetique JPL 2015 (attention ce changement affecte les resultats)
3) chimie heterogene : inactive par defaut.

File:
1 edited

Legend:

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

    r2170 r2433  
    66
    77  integer, parameter :: nphot = 13        ! number of photolysis
     8! integer, parameter :: nphot = 14        ! number of photolysis (with hdo)
    89  integer, parameter :: nabs  = 10        ! number of absorbing gases
    910
     
    3738  real, dimension(nw), save :: xsn2                                   ! n2 absorption cross-section (cm2)
    3839  real, dimension(nw), save :: yieldn2                                ! n2 photodissociation yield
     40  real, dimension(nw), save :: xshdo                                  ! hdo absorption cross-section (cm2)
    3941  real, dimension(nw), save :: albedo                                 ! surface albedo
    4042
     
    9799
    98100  call rdxsn2(nw,wl,xsn2,yieldn2)
     101
     102! read and grid hdo cross-sections
     103
     104  call rdxshdo(nw,wl,xshdo)
    99105
    100106! set surface albedo
     
    12471253!==============================================================================
    12481254
     1255      subroutine rdxshdo(nw, wl, yg)
     1256
     1257!-----------------------------------------------------------------------------*
     1258!=  PURPOSE:                                                                 =*
     1259!=  Read HDO molecular absorption cross section.  Re-grid data to match      =*
     1260!=  specified wavelength working grid.                                       =*
     1261!-----------------------------------------------------------------------------*
     1262!=  PARAMETERS:                                                              =*
     1263!=  NW     - INTEGER, number of specified intervals + 1 in working        (I)=*
     1264!=           wavelength grid                                                 =*
     1265!=  WL     - REAL, vector of lower limits of wavelength intervals in      (I)=*
     1266!=           working wavelength grid                                         =*
     1267!=  YG     - REAL, molecular absoprtion cross section (cm^2) of HDO at    (O)=*
     1268!=           each specified wavelength                                       =*
     1269!-----------------------------------------------------------------------------*
     1270
     1271      use datafile_mod, only: datadir
     1272
     1273      IMPLICIT NONE
     1274
     1275!     input
     1276
     1277      integer :: nw               ! number of wavelength grid points
     1278      real, dimension(nw) :: wl   ! lower and central wavelength for each interval
     1279
     1280!     output
     1281
     1282      real, dimension(nw) :: yg   ! hdo cross-sections (cm2)
     1283
     1284!     local
     1285
     1286      integer, parameter :: kdata = 900
     1287      real, parameter :: deltax = 1.e-4
     1288      REAL x1(kdata)
     1289      REAL y1(kdata)
     1290      INTEGER ierr
     1291      INTEGER i, n
     1292      CHARACTER*100 fil
     1293      integer :: kin, kout ! input/output logical units
     1294
     1295      kin = 10
     1296
     1297      fil = trim(datadir)//'/cross_sections/hdo_composite_295K.txt'
     1298      print*, 'section efficace HDO: ', fil
     1299
     1300      OPEN(UNIT=kin,FILE=fil,STATUS='old')
     1301
     1302      DO i = 1,17
     1303         read(kin,*)
     1304      END DO
     1305
     1306      n = 806
     1307      DO i = 1, n
     1308         READ(kin,*) x1(i), y1(i)
     1309      END DO
     1310      CLOSE (kin)
     1311
     1312      CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.)
     1313      CALL addpnt(x1,y1,kdata,n,          0.,0.)
     1314      CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.)
     1315      CALL addpnt(x1,y1,kdata,n,      1.e+38,0.)
     1316      CALL inter2(nw,wl,yg,n,x1,y1,ierr)
     1317      IF (ierr .NE. 0) THEN
     1318         WRITE(*,*) ierr, fil
     1319         STOP
     1320      ENDIF
     1321     
     1322      end subroutine rdxshdo
     1323
     1324!==============================================================================
     1325
    12491326      subroutine rdxsh2o2(nw, wl, xsh2o2)
    12501327
Note: See TracChangeset for help on using the changeset viewer.