Index: trunk/LMDZ.MARS/README
===================================================================
--- trunk/LMDZ.MARS/README	(revision 1012)
+++ trunk/LMDZ.MARS/README	(revision 1013)
@@ -1885,2 +1885,5 @@
 - Converted run0 and run_mcd scripts to bash.
 
+== 26/07/2013 == FGG +JYC
+- Upgrade on the thermospheric photochemical reaction rates. These are now
+  read in from a file "chemthermos_reactionrates.def".
Index: trunk/LMDZ.MARS/deftank/chemthermos_reactionrates.def
===================================================================
--- trunk/LMDZ.MARS/deftank/chemthermos_reactionrates.def	(revision 1013)
+++ trunk/LMDZ.MARS/deftank/chemthermos_reactionrates.def	(revision 1013)
@@ -0,0 +1,184 @@
+! RATES WITH FORMAT  A *(t/300)**B * exp(C/t), with t=temperature
+! ch2: h + o2 + co2 --> ho2 + co2  
+! JPL 2011 (low pressure limit)*2.5
+1.1d-31   -1.3    0.   
+! ch3: o + ho2 --> oh + o2
+! JPL 2011
+3.0d-11   0.      200.
+! ch4: co + oh --> co2 + h
+! JPL 2011 (low pressure limit)
+1.5d-13   0.6     0.
+! ch5: ho2 + ho2 --> h2o2 + o2
+! JPL 2011
+3.0d-13   0.      460.
+! ch7: oh + ho2 --> h2o + o2
+! JPL 2011
+4.8d-11   0.      250.
+! ch9: o(1d) + h2o --> 2oh
+! JPL 2011
+1.63d-10  0.      60.
+! ch10: o + o + co2 --> o2 + co2
+! Tsang and Hampson, 1986
+1.3d-34   0.      900.
+! ch11: o + oh --> o2 + h
+! JPL 2011
+1.8d-11   0.      180.
+! ch13: h + ho2 --> h2 + o2
+! JPL 2011
+6.9d-12   0.      0.
+! ch14: o(1d) + h2 --> h + oh
+! JPL 2011
+1.2d-10   0.      0.
+! ch15: oh + h2 --> h + h2o 
+! JPL 2011
+2.8d-12   0.      -1800.
+! ch18: oh + h2o2 --> h2o + ho2 
+! JPL 2011
+1.8d-12   0.      0.
+! ch19: o(1d) + co2 --> o + co2
+! JPL 2011
+7.5d-11   0.      115.
+! ch20: o(1d) + o2 --> o + o2
+! JPL 2011
+3.3d-11   0.      55.
+! ch21: o + o2 + co2 --> o3 + co2
+! JPL 2011 * 2.5
+1.5d-33   -2.4    0.
+! ch22: o3 + h --> o2 + oh
+! JPL 201
+1.4d-10   0.      -470.
+! ch23: o3 + oh --> ho2 + o2
+! JPL 2011
+1.7d-12   0.      -940.
+! ch24: o3 + ho2 --> oh + 2o2
+! JPL 2011:
+1.0d-14   0.      -490.
+! ch30: n + no --> n2 + o
+! JPL 2011
+2.1d-11   0.      100.
+! ch31: n2 + o(1d) --> n2 + o
+! JPL 2011
+2.15d-11  0.      110.
+! ch32: n + o2 --> no + o
+! JPL 2011
+1.5d-11   0.      -3600.
+! ch33: n + oh --> no + h
+! Atkinson et al. 1989 (IUPAC)
+3.8d-11   0.      85.
+! ch34: n + o3 --> no + o2
+! JPL 2011 (upper limit)
+1.0d-16   0.      0.
+! ch35: n + ho2 --> no + oh
+! Brune et al., J. Phys. Chem. 1983
+2.2d-11   0.      0.
+! ch36: n(2d) + o --> n + o 
+! Herron, J. Phys. Chem. Ref. Data 1999
+3.3d-12   0.      -260.
+! ch37: n(2d) + n2 --> n + n2
+! Herron, J. Phys. Chem. Ref. Data 1999
+1.7d-14   0.      0.
+! ch38: n(2d) + co2 --> no + co
+! Herron, J. Phys. Chem. Ref. Data 1999
+3.6d-13   0.      0.
+! ch39: no + ho2 --> no2+oh
+! JPL 2011
+3.3d-12   0.      270.
+! ch40: o + no + co2 --> no2 + co2
+! 2.5 * JPL 2011 (low pressure limit)
+2.25d-31  -1.5    0.
+! ch41: o + no2 --> no + o2
+! JPL 2011
+5.1d-12   0.      210.
+! ch42: no + o3 --> no2 + o2
+! JPL 2011
+3.0d-12   0.      -1500. 
+! ch43: h + no2 --> no + oh
+! JPL 2011
+4.0d-10   0.      -340.
+! ch45: n + o --> no
+! Du and Dalgarno, JGR 1990
+2.8d-17   -0.5    0.
+! ch46: co2+ +  O2 --> O2+ + CO2
+! Aninich, J. Phys. Chem. Ref. Data 1993
+5.5d-11   -0.82   0.
+! ch47: CO2+ + O -->  O+  +  CO2
+! UMIST database
+9.6d-11   0.      0.
+! ch48: CO2+ + O --> O2+  + CO 
+! UMIST database
+1.64d-10  0.      0.
+! ch49: O2+ + elect --> O + O
+! Alge et al., J. Phys. B, At. Mol. Phys. 1983
+2.0d-7    -0.7    0.
+! ch50: O+  + CO2 --> O2+  + CO
+! UMIST database
+9.4d-10   0.      0.
+! ch55: CO2+ +  e ---->   CO  +   O
+! UMIST database
+3.8d-7    -0.5    0.
+! ch56: O+ + CO2  --->  O2   +   CO+
+! Error in Kim et al., 1989??
+0.        0.      0.
+! ch57: CO+ + CO2  ---> CO2+ + CO
+! UMIST database
+1.0d-9    0.      0.
+! ch58: CO+ + O   --->   O+  + CO
+! UMIST database
+1.4d-10   0.      0.
+! ch59: C+ +  CO2 --->  CO+  + CO
+! UMIST database
+1.1d-9    0.      0.   0.   0.
+! ch62: CO2+  +  NO   -->  NO+  +  CO2
+! UMIST database
+1.2d-10   0.      0.
+! ch63: CO2+  +  N    -->  NO  + CO+
+! Scott et al., J. Chem. Phys. 1998
+3.4d-10   0.      0.
+! ch64: O2+  +  NO    -->  NO+  + O2
+! Middey and Viggiano. J. Chem. Phys. 1999
+4.5d-10   0.      0.
+! ch65: O2+  +  N2    -->  NO+  + NO
+! Ferguson, At. Data Necl. Data Tables, 1973 (Fox and Sung 2001) 
+1.0d-15   0.      0.
+! ch66: O2+  +  N    -->  NO+  + O
+! Scott et al., J. Chem. Phys. 1998 (Fox and Sung 2001)
+1.0d-10   0.      0.
+! ch67: O+  +  N2    -->  NO+  + N 
+! UMIST database
+1.2d-12   -0.45   0.
+! ch68: N2+  +  CO2    -->  CO2+  + N2
+! Dotan et al., J. Chem. Phys. 2000 (Fox and Sung 2001)
+9.d-10    -0.23   0.
+! ch69: N2+  +  O3p    -->  NO+  + N
+! Scott et al., J. Phys. Chem. A 1999 (Fox and Sung 2001)
+1.33d-10  -0.44   0.
+! ch70: N2+  +  CO    -->  N2  + CO+ 
+! UMIST database
+7.4d-11   0.      0.
+! ch71: N2+  +  e-    -->  N  + N 
+! UMIST database
+1.7d-7    -0.3    0.
+! ch72: N2+  +  O3p    -->  O+  + N2
+! Scott et al., J. Phys. Chem. A 1999 (Fox and Sung 2001)
+7.0d-12   -0.23   0.
+! ch73: CO+  +  H    -->  H+  + CO
+! Scott et al., J. Chem. Phys. 1997 (Fox and Sung 2001)
+4.0d-10   0.      0.
+! ch74: O+  +  H    -->  H+  + O
+! UMIST database
+5.66d-10  0.36    8.6
+! ch75: NO+  +  e-  -->  N  +  O
+! UMIST database
+4.3d-7    -0.37   0.
+! ch76: H+  +  O3p  -->  O+  +  H
+! UMIST database
+6.86d-10  0.26    -224.3 
+! ch85: N+  +  CO2    -->  CO2+  + N
+! UMIST database
+7.5d-10   0.      0.
+! ch86: H2 + CO2+  --> H + HCO2+
+! UMIST database
+9.5d-10   0.      0.
+! ch87: HCO2+ + e -> CO2 + H
+! Krasnopolsky, JGR 2002
+3.4d-7    -0.5    0.
Index: trunk/LMDZ.MARS/libf/aeronomars/chemthermos_readini.F
===================================================================
--- trunk/LMDZ.MARS/libf/aeronomars/chemthermos_readini.F	(revision 1013)
+++ trunk/LMDZ.MARS/libf/aeronomars/chemthermos_readini.F	(revision 1013)
@@ -0,0 +1,41 @@
+      subroutine chemthermos_readini
+
+      implicit none
+
+
+c     common variables and constants
+      include "dimensions.h"
+      include "dimphys.h"
+      include 'param.h'
+      include 'param_v4.h'
+      include 'datafile.h'
+      include "callkeys.h"
+
+
+c     local variables
+      real*8        rc1,rc2,rc3
+      integer       ierr,i
+
+c*************************+PROGRAM STARTS**************************
+
+!Opens external file to read reaction coefficients
+      open(unit=10,file='chemthermos_reactionrates.def',status='old',
+     $     iostat=ierr)
+      if(ierr.eq.0) then
+         read(10,*)
+         do i=1,61
+            read(10,*)
+            read(10,*)
+            read(10,*) rc1,rc2,rc3
+            rcoef(i,1)=rc1
+            rcoef(i,2)=rc2
+            rcoef(i,3)=rc3
+         enddo
+         close(10)
+      else
+         write(*,*)
+         write(*,*) 'Cannot find file chemthermos_reactionrates.def'
+         stop
+      endif
+      
+      end
Index: trunk/LMDZ.MARS/libf/aeronomars/moldiff_red.F90
===================================================================
--- trunk/LMDZ.MARS/libf/aeronomars/moldiff_red.F90	(revision 1012)
+++ trunk/LMDZ.MARS/libf/aeronomars/moldiff_red.F90	(revision 1013)
@@ -876,9 +876,9 @@
 	IMPLICIT NONE
 
-	INTEGER :: nl
-	INTEGER :: l,ig
-	REAL,DIMENSION(nl) :: T1,DT1,DT2,DT3
-	REAL*8,DIMENSION(nl) :: T2
-	REAL :: dtime
+	INTEGER,INTENT(IN) :: nl,ig
+	REAL,INTENT(IN),DIMENSION(nl) :: T1,DT1,DT2,DT3
+	REAL*8,INTENT(OUT),DIMENSION(nl) :: T2
+	REAL,INTENT(IN) :: dtime
+	INTEGER :: l
 	DO l=1,nl
 	T2(l)=T1(l)*1D0+(DT1(l)*dble(dtime)+                            &
@@ -897,10 +897,11 @@
 #include "dimensions.h"
 
-        INTEGER :: nl,nq
-        INTEGER :: l,iq,ig
-	INTEGER,dimension(nq) :: gc
-        REAL,DIMENSION(nl,nqmx) :: Q1,DQ
-        REAL*8,DIMENSION(nl,nq) :: Q2
-        REAL :: dtime
+        INTEGER,INTENT(IN) :: nl,nq
+        INTEGER,INTENT(IN) :: ig
+	INTEGER,INTENT(IN),dimension(nq) :: gc
+        REAL,INTENT(IN),DIMENSION(nl,nqmx) :: Q1,DQ
+        REAL*8,INTENT(OUT),DIMENSION(nl,nq) :: Q2
+        REAL,INTENT(IN) :: dtime
+        INTEGER :: l,iq
         DO l=1,nl
 	DO iq=1,nq
Index: trunk/LMDZ.MARS/libf/aeronomars/param_v4.h
===================================================================
--- trunk/LMDZ.MARS/libf/aeronomars/param_v4.h	(revision 1012)
+++ trunk/LMDZ.MARS/libf/aeronomars/param_v4.h	(revision 1013)
@@ -44,6 +44,6 @@
      &                     ch57,ch58,ch59,ch62,ch63,ch64,ch65,                   &
      &                     ch66,ch67,ch68,ch69,ch70,ch71,ch72,                   &
-     &                     ch73,ch74,ch75,ch76,ch85,ch86,ch87,                   &
-     &                     jdistot,jdistot_b,jion
+     &                     ch73,ch74,ch75,ch76,ch85,ch86,ch87,rcoef,             &
+     &                     jdistot,jdistot_b,jion 
 
       real*8 ch2, ch3, ch4, ch5, ch7,ch9,ch10,ch11,ch13,ch14,ch15,ch18
@@ -53,5 +53,5 @@
       real*8 ch63,ch64,ch65,ch66,ch67,ch68,ch69,ch70,ch71
       real*8 ch72,ch73,ch74,ch75,ch76,ch85,ch86,ch87
-
+      real*8 rcoef(61,3)
 						  !reaction rates
       real jdistot(nabs,nlayermx)    !photodissociation rates
@@ -59,4 +59,5 @@
      
       real jion(nabs,nlayermx,4)
+
 
 
Index: trunk/LMDZ.MARS/libf/aeronomars/paramfoto_compact.F
===================================================================
--- trunk/LMDZ.MARS/libf/aeronomars/paramfoto_compact.F	(revision 1012)
+++ trunk/LMDZ.MARS/libf/aeronomars/paramfoto_compact.F	(revision 1013)
@@ -27,5 +27,4 @@
 c     local variables
 
-      integer ij0,l0
       real*8  deltat,timefrac_sec
       real*8  co2xnew,o2xnew,o3pxnew,coxnew,hxnew,ohxnew
@@ -121,7 +120,4 @@
 c**********************************************************************
 
-
-	ij0=302
-	l0=25
 
 C     Start: altitude loop
@@ -180,5 +176,4 @@
          endif
 
-
          !Calculation of photodissociation and photoionization rates
          !from photoabsorption rates and ionization-to-dissociation 
@@ -193,7 +188,8 @@
             enddo
          end do
+         
 
          !Reaction rates
-         call getch( ig, chemthermod,tx8, co2xini, zx(i))
+         call getch( ig, chemthermod,tx8, zx(i))
 		 
          !Lifetimes and temporal integration 
@@ -213,5 +209,5 @@
 ! JYC criteria added to avoid instabilities in (H) + (O+) <-> (H+) + (O) reactions when H+ is important
 
-	fmargin1=1
+	fmargin1=5
         !Only if ion chemistry requested
         if(chemthermod.eq.3) then
@@ -231,5 +227,4 @@
          numpasos = int( timefrac_sec / deltat ) 
          alfa_laststep = 1.d0 + timefrac_sec/deltat - dble(numpasos)
-
          do paso=1,numpasos  
 
@@ -603,4 +598,5 @@
 
          end do   
+         
          !New concentrations to be returned
          rm(i,i_co2)     = real(co2xnew)
@@ -642,5 +638,4 @@
       end do     
 cccccc End altitude loop 
-     
 
       return
@@ -1272,4 +1267,5 @@
      $        jfotsout(inter,1,i)*fluxtop(inter)*efionco2(inter,4)
 
+
 c     O2
          jdis(2,inter,i) = jfotsout(inter,2,i) * fluxtop(inter)
@@ -1285,4 +1281,6 @@
          jion(2,i,1)=jion(2,i,1) +
      $        jfotsout(inter,2,i) * fluxtop(inter) * (1.-efdiso2(inter))
+!         if(ig.eq.1.and.i.eq.39)write(*,*)'paramfoto_compact/1355',
+!     $        jion(2,i,1),jfotsout(inter,2,i),fluxtop(inter)
          
 c     O3P
@@ -1381,5 +1379,5 @@
 c**********************************************************************
 c***************************************************************************
-	subroutine getch (ig,chemthermod,tt,concco2,zkm)
+	subroutine getch (ig,chemthermod,tt,zkm)
 
  
@@ -1398,17 +1396,15 @@
 
 c Arguments 	
-	integer           ig,chemthermod
-	real*8 		tt	! Temperature 
-	real*8            concco2
-	real              zkm	!  Altitude in km
+	integer       ig,chemthermod
+	real*8 	      tt         ! Temperature 
+	real          zkm	!  Altitude in km
 
 c local variables: 
-	double precision        tcte   
-	double precision        t_elect ! electronic temperatures
-	double precision        val ! valores de alturas corresp a t_elect
-	double precision        zhanson(9),tehanson(9)
-	double precision        incremento
-	integer                 ii, i1, i2
-	real                    phelec_fact_ch86
+	real*8        tcte   
+	real*8        t_elect ! electronic temperatures
+	real*8        val ! valores de alturas corresp a t_elect
+	real*8        zhanson(9),tehanson(9)
+	real*8        incremento
+	integer       ii, i1, i2
 	
 c**************************************************************************
@@ -1513,53 +1509,113 @@
 	ch85 = 0.d0
 	ch86 = 0.d0
-	
+
 
 	!Reaction rates
-ch2: h + o2 + co2 --> ho2 + co2
-	ch2 = 1.425d-31 * (tcte / 300.)**(-1.6d0)
-
-ch3: o + ho2 --> oh + o2
-	ch3 = 3.0d-11 * exp(200.d0 / tcte)
+!ch2: h + o2 + co2 --> ho2 + co2
+        ! JPL 2003 (low pressure limit)*2.5
+!	ch2 = 1.425d-31 * (tcte / 300.)**(-1.6d0)
+        ! JPL 2011 (low pressure limit)*2.5
+!        ch2 = 1.1e-31 * (tcte / 300.)**(-1.3)
+        ch2=rcoef(1,1)*((tcte/300.)**rcoef(1,2))*exp(rcoef(1,3)/tcte)
+
+!ch3: o + ho2 --> oh + o2
+        ! JPL 2011: 
+!	ch3 = 3.0d-11 * exp(200.d0 / tcte)
+        ch3=rcoef(2,1)*((tcte/300.)**rcoef(2,2))*exp(rcoef(2,3)/tcte)
 
 ch4: co + oh --> co2 + h
-!	ch4 = 3.2d-13 * exp(-300.d0 / tcte)
-        ch4 = 1.57d-13 + 3.54d-33*concco2 
+        !Nair et al, 1994:
+	!ch4 = 3.2d-13 * exp(-300.d0 / tcte)
+        !mccabe et al., grl, 28, 3135, 2001
+        !ch4 = 1.57d-13 + 3.54d-33*concco2 
+        !JPL 2011 (low pressure limit):
+!        ch4 = 1.5d-13 * (tcte/300.)**0.6
+        ch4=rcoef(3,1)*((tcte/300.)**rcoef(3,2))*exp(rcoef(3,3)/tcte)
 
 ch5: ho2 + ho2 --> h2o2 + o2
-	ch5 = 2.3d-13 * exp(600.d0 / tcte)
+        !JPL 2003:
+	!ch5 = 2.3d-13 * exp(600.d0 / tcte)
+        !JPL 2011:
+!        ch5 = 3.0d-13 * exp(460.d0 / tcte)
+        ch5=rcoef(4,1)*((tcte/300.)**rcoef(4,2))*exp(rcoef(4,3)/tcte)
 
 ch7: oh + ho2 --> h2o + o2
-	ch7 = 4.8d-11 * exp(250.d0 / tcte)
+        !JPL 2011:
+!	ch7 = 4.8d-11 * exp(250.d0 / tcte)
+        ch7=rcoef(5,1)*((tcte/300.)**rcoef(5,2))*exp(rcoef(5,3)/tcte)
 
 ch9: o(1d) + h2o --> 2oh
-	ch9 = 2.2d-10
+        !JPL 2003:
+	!ch9 = 2.2d-10
+        !JPL 2011:
+!        ch9 = 1.63d-10 * exp(60.d0 / tcte)
+        ch9=rcoef(6,1)*((tcte/300.)**rcoef(6,2))*exp(rcoef(6,3)/tcte)
 
 ch10: o + o + co2 --> o2 + co2
+        !JPL 1990:
 !	ch10 = 1.1d-27 * (tcte **(-2.0d0)) !Estandard en el 1-D
-	ch10 = 1.3d-34 * exp(900.d0/tcte)
+        !Tsang and Hampson, 1986:
+!	ch10 = 1.3d-34 * exp(900.d0/tcte)
+        ch10=rcoef(7,1)*((tcte/300.)**rcoef(7,2))*exp(rcoef(7,3)/tcte)
 
 ch11: o + oh --> o2 + h
-	ch11 = 2.2d-11 * exp(120.d0 / tcte)
+        !JPL 2003:
+	!ch11 = 2.2d-11 * exp(120.d0 / tcte)
+        !JPL 2011:
+!        ch11 = 1.8d-11 * exp(180.d0 /tcte)
+        ch11=rcoef(8,1)*((tcte/300.)**rcoef(8,2))*exp(rcoef(8,3)/tcte)
 
 ch13: h + ho2 --> h2 + o2
-	ch13 = 6.5d-12
+        !JPL 2003:
+	!ch13 = 6.5d-12
+        !JPL 2011:
+!        ch13 = 6.9d-12
+        ch13=rcoef(9,1)*((tcte/300.)**rcoef(9,2))*exp(rcoef(9,3)/tcte)
 
 ch14: o(1d) + h2 --> h + oh
-	ch14 = 1.1d-10
+        !JPL 2003:
+	!ch14 = 1.1d-10
+        !JPL 2011:
+!        ch14 = 1.2d-10
+        ch14=rcoef(10,1)*((tcte/300.)**rcoef(10,2))*
+     $       exp(rcoef(10,3)/tcte)
 
 ch15: oh + h2 --> h + h2o
-	ch15 = 5.5d-12 * exp (-2000.d0 / tcte)
+        !JPL 2003:
+	!ch15 = 5.5d-12 * exp (-2000.d0 / tcte)
+        !JPL 2011:
+!        ch15 = 2.8d-12 * exp (-1800.d0 / tcte)
+        ch15=rcoef(11,1)*((tcte/300.)**rcoef(11,2))*
+     $       exp(rcoef(11,3)/tcte)
 
 ch18: oh + h2o2 --> h2o + ho2
-	ch18 = 2.9d-12 * exp (-160.d0 / tcte)
+        !JPL 2003:
+	!ch18 = 2.9d-12 * exp (-160.d0 / tcte)
+        !JPL 2011:
+!        ch18 = 1.8d-12
+        ch18=rcoef(12,1)*((tcte/300.)**rcoef(12,2))*
+     $       exp(rcoef(12,3)/tcte)
 
 ch19: o(1d) + co2 --> o + co2
-	ch19 = 7.4d-11 * exp(120.d0 / tcte)
+        !JPL 2003:
+	!ch19 = 7.4d-11 * exp(120.d0 / tcte)
+        !JPL 2011:
+!        ch19 = 7.5d-11 * exp(115.d0 / tcte)        
+        ch19=rcoef(13,1)*((tcte/300.)**rcoef(13,2))*
+     $       exp(rcoef(13,3)/tcte)
 
 ch20: o(1d) + o2 --> o + o2
-	ch20 = 3.2d-11 * exp (70.d0 / tcte)
+        !JPL 2003:
+	!ch20 = 3.2d-11 * exp (70.d0 / tcte)
+        !JPL 2011:
+!        ch20 = 3.3d-11 * exp(55.d0 / tcte)
+        ch20=rcoef(14,1)*((tcte/300.)**rcoef(14,2))*
+     $       exp(rcoef(14,3)/tcte)
 
 ch21: o + o2 + co2 --> o3 + co2
-	ch21 = 1.5d-33 * ((tcte / 300.d0) ** (-2.4d0))
+        !JPL 2011 * 2.5:
+!	ch21 = 1.5d-33 * ((tcte / 300.d0) ** (-2.4d0))
+        ch21=rcoef(15,1)*((tcte/300.)**rcoef(15,2))*
+     $       exp(rcoef(15,3)/tcte)
 	
 
@@ -1568,11 +1624,20 @@
 
 ch22: o3 + h --> o2 + oh
-	   ch22 = 1.4d-10 * exp (-470.d0 / tcte)
+           !JPL 2011:
+!	   ch22 = 1.4d-10 * exp (-470.d0 / tcte)
+           ch22=rcoef(16,1)*((tcte/300.)**rcoef(16,2))*
+     $       exp(rcoef(16,3)/tcte)
 
 ch23: o3 + oh --> ho2 + o2
-	   ch23 = 1.7d-12 * exp (-940.d0 / tcte)
+           !JPL 2011:
+!	   ch23 = 1.7d-12 * exp (-940.d0 / tcte)
+           ch23=rcoef(17,1)*((tcte/300.)**rcoef(17,2))*
+     $       exp(rcoef(17,3)/tcte)
 
 ch24: o3 + ho2 --> oh + 2o2
-	   ch24 = 1.0d-14 * exp (-490.d0 / tcte)
+           !JPL 2011:
+!	   ch24 = 1.0d-14 * exp (-490.d0 / tcte)
+           ch24=rcoef(18,1)*((tcte/300.)**rcoef(18,2))*
+     $       exp(rcoef(18,3)/tcte)
 
 	endif
@@ -1583,47 +1648,99 @@
 c N chemistry
 ch30: n + no --> n2 + o
-	   ch30 = 2.1d-11 * exp (100.d0 / tcte)
+           !JPL 2011:
+!	   ch30 = 2.1d-11 * exp (100.d0 / tcte)
+           ch30=rcoef(19,1)*((tcte/300.)**rcoef(19,2))*
+     $       exp(rcoef(19,3)/tcte)
 
 ch31: n2 + o(1d) --> n2 + o
-	   ch31 = 2.5d-11 * exp (110.d0 / tcte)
+           !JPL 2011:
+!	   ch31 = 2.15d-11 * exp (110.d0 / tcte)
+           ch31=rcoef(20,1)*((tcte/300.)**rcoef(20,2))*
+     $       exp(rcoef(20,3)/tcte)
 
 ch32: n + o2 --> no + o
-	   ch32 = 1.5d-11 * exp (-3600.d0 / tcte)
+           !JPL 2011:
+!	   ch32 = 1.5d-11 * exp (-3600.d0 / tcte)
+           ch32=rcoef(21,1)*((tcte/300.)**rcoef(21,2))*
+     $       exp(rcoef(21,3)/tcte)
 
 ch33: n + oh --> no + h
-	   ch33 = 3.8d-11 * exp (85.d0 / tcte)
+           !Atkinson et al., 1989 (usado en Nair et al., 1994)
+!	   ch33 = 3.8d-11 * exp (85.d0 / tcte)
+           ch33=rcoef(22,1)*((tcte/300.)**rcoef(22,2))*
+     $       exp(rcoef(22,3)/tcte)
 
 ch34: n + o3 --> no + o2
-	   ch34 = 1.0d-16
+           !JPL 2011 (it is an upper limit):
+!	   ch34 = 1.0d-16
+           ch34=rcoef(23,1)*((tcte/300.)**rcoef(23,2))*
+     $       exp(rcoef(23,3)/tcte)
 
 ch35: n + ho2 --> no + oh
-	   ch35 = 2.2d-11
-
-ch36: n(2d) + n2 --> n + n2
-	   ch36 = 6.9d-13
+           !Brune et al., 1983 (from Nair et al., 1994)
+!	   ch35 = 2.2d-11
+           ch35=rcoef(24,1)*((tcte/300.)**rcoef(24,2))*
+     $       exp(rcoef(24,3)/tcte)
+
+ch36: n(2d) + o --> n + o
+           !Fell et al., 1990 (from Nair et al., 1994)
+	   !ch36 = 6.9d-13
+           !Herron, 1999:
+!           ch36 = 3.3d-12 * exp(-260.d0 / tcte)
+           ch36=rcoef(25,1)*((tcte/300.)**rcoef(25,2))*
+     $       exp(rcoef(25,3)/tcte)
 
 ch37: n(2d) + n2 --> n + n2
-	   ch37 = 1.7d-14
+           !Herron, 1999:
+           !Coincides with Nair et al., 1994:
+!	   ch37 = 1.7d-14
+           ch37=rcoef(26,1)*((tcte/300.)**rcoef(26,2))*
+     $       exp(rcoef(26,3)/tcte)
 
 ch38: n(2d) + co2 --> no + co
-	   ch38 = 3.5d-13
+           !Pipper et al., 1989 (from Nair et al., 1994):
+	   !ch38 = 3.5d-13
+           !Herron, 1999:
+!           ch38 = 3.6d-13
+           ch38=rcoef(27,1)*((tcte/300.)**rcoef(27,2))*
+     $       exp(rcoef(27,3)/tcte)
 
 ch39: no + ho2 --> no2+oh
-	   ch39 = 3.5d-12 * exp (250.d0 / tcte)
+           !JPL 2006:
+	   !ch39 = 3.5d-12 * exp (250.d0 / tcte)
+           !JPL 2011:
+!           ch39 = 3.3d-12 * exp(270.d0 / tcte)
+           ch39=rcoef(28,1)*((tcte/300.)**rcoef(28,2))*
+     $       exp(rcoef(28,3)/tcte)
 
 ch40: o + no + co2 --> no2 + co2
-	   ch40 = 2.5d0 * 9.0d-32 * ((tcte / 300.d0) ** (-1.5d0))
+           !JPL 2011 * 2.5 (low pressure limit)
+!	   ch40 = 2.5d0 * 9.0d-32 * ((tcte / 300.d0) ** (-1.5d0))
+           ch40=rcoef(29,1)*((tcte/300.)**rcoef(29,2))*
+     $       exp(rcoef(29,3)/tcte)
 
 ch41: o + no2 --> no + o2
-	   ch41 = 5.1d-12 * exp (210.d0 / tcte)
+           !JPL 2011:
+!	   ch41 = 5.1d-12 * exp (210.d0 / tcte)
+           ch41=rcoef(30,1)*((tcte/300.)**rcoef(30,2))*
+     $       exp(rcoef(30,3)/tcte)
 
 ch42: no + o3 --> no2 + o2
-	   ch42 = 3.0d-12 * exp (-1500.d0 / tcte)
+           !JPL 2011:
+!	   ch42 = 3.0d-12 * exp (-1500.d0 / tcte)
+           ch42=rcoef(31,1)*((tcte/300.)**rcoef(31,2))*
+     $       exp(rcoef(31,3)/tcte)
 
 ch43: h + no2 --> no + oh
-	   ch43 = 4.0d-10 * exp (-340.d0 / tcte)
+           !JPL 2011:
+!	   ch43 = 4.0d-10 * exp (-340.d0 / tcte)
+           ch43=rcoef(32,1)*((tcte/300.)**rcoef(32,2))*
+     $       exp(rcoef(32,3)/tcte)
 
 ch45: n + o --> no
-	   ch45 = 2.8d-17 * ((300.d0 / tcte) ** 0.5)
+           !Du and Dalgarno, 1990
+!	   ch45 = 2.8d-17 * ((300.d0 / tcte) ** 0.5)
+           ch45=rcoef(33,1)*((tcte/300.)**rcoef(33,2))*
+     $       exp(rcoef(33,3)/tcte)
 	   
 	endif    !of if(chemthermod.ge.2)
@@ -1635,91 +1752,249 @@
 c Ionosphere
 c
-ch46:  co2+ +  O --> O2+ + CO
-	   ch46 = 5.0d-11
+ch46:  co2+ +  O2 --> O2+ + CO2
+           !Moffat et al., 2005 (given by GG):
+	   !ch46 = 5.0d-11
+           !Copp et al., 1982:
+           !ch46 = 5.3d-11
+           !Aninich 1993 (from Fox and Sung 2001):
+!           ch46 = 5.5d-11 * (300.d0/t_elect)**0.82
+           ch46=rcoef(34,1)*((t_elect/300.)**rcoef(34,2))*
+     $       exp(rcoef(34,3)/t_elect)
+           
 
 ch47: CO2+ + O -->  O+  +  CO2
-	   ch47 = 1.64d-10
+           !Original (incorrect) value (corresponds to ch48):
+	   !ch47 = 1.64d-10
+           !Fehsenfeld et al., 1970 (from UMIST, 
+           !Fox and Sung 2001, Krasnopolsky 2002):
+!           ch47 = 9.6d-11
+           ch47=rcoef(35,1)*((t_elect/300.)**rcoef(35,2))*
+     $       exp(rcoef(35,3)/t_elect)
 
 ch48: CO2+ + O --> O2+  + CO
-	   ch48 = 9.6d-11
+           !Original (incorrect) value (corresponds to ch47):
+	   !ch48 = 9.6d-11
+           !Fehsenfeld et al., 1970 (from UMIST,
+           !Fox and Sung 2001, Krasnopolsky 2002):
+!           ch48 = 1.64d-10
+           ch48=rcoef(36,1)*((t_elect/300.)**rcoef(36,2))*
+     $       exp(rcoef(36,3)/t_elect)
 
 ch49: O2+ + elect --> O + O
-	   ch49 = 2.0d-7*(300.d0/t_elect)**(0.7d0)
+           !Alge et al., 1983:
+           !Here we do not divide into reaction producing different
+           !O atomic states. O + O(1d) seems to be the dominant products
+           !(see Fox and Sung 2002). We should consider dividing 
+           !into two different reactions
+!	   ch49 = 2.0d-7*(300.d0/t_elect)**(0.7d0)
+           ch49=rcoef(37,1)*((t_elect/300.)**rcoef(37,2))*
+     $       exp(rcoef(37,3)/t_elect)
 
 ch50: O+  + CO2 --> O2+  + CO
-	   ch50 = 9.4d-10
+           !Adams et al., 1980 (from UMIST):
+!	   ch50 = 9.4d-10
+           !Anicich 1993 (from Fox and Sung 2001):
+           !ch50 = 1.1d-9
+           ch50=rcoef(38,1)*((t_elect/300.)**rcoef(38,2))*
+     $       exp(rcoef(38,3)/t_elect)
 
 ch55: CO2+ +  e ---->   CO  +	O
-	   ch55 = 3.8d-7*(300.d0/t_elect)**(0.5d0)
+           !Mitchell, 1990 (from UMIST):
+!	   ch55 = 3.8d-7*(300.d0/t_elect)**(0.5d0)
+           !Gougousi et al., 1997 (from Fox and Sung 2001):
+           !ch55 = 3.5d-7*(300.d0/t_elect)**0.5d0
+           ch55=rcoef(39,1)*((t_elect/300.)**rcoef(39,2))*
+     $       exp(rcoef(39,3)/t_elect)
         
 ch56: O+ + CO2  --->  O2   +   CO+
-	   ch56 = 9.4d-10
+           !Original, Kim et al., 1989:
+	   !ch56 = 9.4d-10
+           !It does not appear in any other paper. Its presence in 
+           !Kim et al., 1989 is probably a confusion with ch50.
+!           ch56 = 0.d0
+           ch56=rcoef(40,1)*((t_elect/300.)**rcoef(40,2))*
+     $       exp(rcoef(40,3)/t_elect)
 
 ch57: CO+ + CO2  ---> CO2+ + CO
-	   ch57 = 1.0d-9
+           !Adams et al., 1978 (from UMIST):
+!	   ch57 = 1.0d-9
+           !Anicich 1993 (from Fox and Sung 2001):
+           !ch57 = 1.1d-9
+           ch57=rcoef(41,1)*((t_elect/300.)**rcoef(41,2))*
+     $       exp(rcoef(41,3)/t_elect)
+
 
 ch58: CO+ + O   --->   O+  + CO
-	   ch58 = 1.4d-10
+           !Fenhsenfeld et al. 1970 (from UMIST, F&S2001, K2002):
+!	   ch58 = 1.4d-10
+           ch58=rcoef(42,1)*((t_elect/300.)**rcoef(42,2))*
+     $       exp(rcoef(42,3)/t_elect)
   
 ch59: C+ +  CO2 --->  CO+  + CO    !!!!  NEW  !!!
-	   ch59 = 1.1d-9
+           !Fahey et al., 1981 (from UMIST, F&S2001, K2002):
+!	   ch59 = 1.1d-9
+           ch59=rcoef(43,1)*((t_elect/300.)**rcoef(43,2))*
+     $       exp(rcoef(43,3)/t_elect)
 
 ch62:  CO2+  +  NO   -->  NO+  +  CO2
-	   ch62 = 1.2d-10
+           !Copp et al., 1982 (from UMIST):
+!	   ch62 = 1.2d-10
+           !Anicich 1993 (from Fox and Sung 2001):
+           !ch62 = 1.23d-10
+           ch62=rcoef(44,1)*((t_elect/300.)**rcoef(44,2))*
+     $       exp(rcoef(44,3)/t_elect)
 
 ch63:  CO2+  +  N    -->  NO  + CO+
-	   ch63 = 1.0d-11
+           !Kim et al., 1989:
+	   !ch63 = 1.0d-11
+           !Scott et al., 1998 (from Fox and Sung 2001):
+!           ch63 = 3.4d-10
+           ch63=rcoef(45,1)*((t_elect/300.)**rcoef(45,2))*
+     $       exp(rcoef(45,3)/t_elect)
 
 ch64:   O2+  +  NO    -->  NO+  + O2
-	   ch64 = 4.5d-10
+           !Middey and Vigiano 1999 (from Fox and Sung 2001):
+!	   ch64 = 4.5d-10
+           !Aninich 1993 (from UMIST):
+           !ch64 = 4.6d-10
+           ch64=rcoef(46,1)*((t_elect/300.)**rcoef(46,2))*
+     $       exp(rcoef(46,3)/t_elect)
 
 ch65:  O2+  +  N2    -->  NO+  + NO
-	   ch65 = 1.0d-16
+           !Original from GG, Moffat 2005:
+	   !ch65 = 1.0d-16
+           !Ferguson 1973 (from Fox and Sung 2001):
+!           ch65 = 1.0d-15
+           ch65=rcoef(47,1)*((t_elect/300.)**rcoef(47,2))*
+     $       exp(rcoef(47,3)/t_elect)
 
 ch66:  O2+  +  N    -->  NO+  + O
-	   ch66 = 1.2d-10
+           !Kim et al., 1989:
+	   !ch66 = 1.2d-10
+           !Scott et al., 1998 (from Fox and Sung 2001):
+!           ch66 = 1.0d-10
+           !Goldan et al., 1966 (from UMIST):
+           !ch66 = 1.8d-10
+           ch66=rcoef(48,1)*((t_elect/300.)**rcoef(48,2))*
+     $       exp(rcoef(48,3)/t_elect)
 
 
 ch67:   O+  +  N2    -->  NO+  + N
-	   ch67 = 1.2d-12 * (300.d0/t_elect)**(0.41d0)
+           !Moffat 2005:
+	   !ch67 = 1.2d-12 * (300.d0/t_elect)**(0.41d0)
+           !Hierl et al. 1997 (from Fox and Sung 2001):
+!           ch67 = 1.2d-12 * (300.d0/t_elect)**0.45d0
+           !Adams et al., 1980 (from UMIST):
+           !ch67=2.42d-12 * (300.d0/t_elec)**(-0.21)*exp(44./t_elec)
+           ch67=rcoef(49,1)*((t_elect/300.)**rcoef(49,2))*
+     $       exp(rcoef(49,3)/t_elect)
 
 ch68:  N2+  +  CO2    -->  CO2+  + N2
-	   ch68 = 7.7d-10
+           !Adams et al. 1980 (from UMIST):
+	   !ch68 = 7.7d-10
+           !Dotan et al. 2000 (from F&S2001):
+!           ch68 = 9.0d-10 * (300./t_elect)**0.23
+           ch68=rcoef(50,1)*((t_elect/300.)**rcoef(50,2))*
+     $       exp(rcoef(50,3)/t_elect)
 
 ch69:   N2+  +  O3p    -->  NO+  + N
-	   ch69 = 1.3d-10
+           !McFarland et al., 1974 (from UMIST):
+	   !ch69 = 1.3d-10
+           !Scott et al. 1999 (from F&S2001):
+!           ch69 = 1.33d-10 * (300./t_elect)**0.44
+           ch69=rcoef(51,1)*((t_elect/300.)**rcoef(51,2))*
+     $       exp(rcoef(51,3)/t_elect)
 
 ch70:  N2+  +  CO    -->  N2  + CO+
-	   ch70 = 7.4d-11
+           !Adams et al., 1980 (from UMIST):
+!	   ch70 = 7.4d-11
+           !Frost et al., 1998 (from F&S2001):
+           !ch70 = 7.6d-11
+           ch70=rcoef(52,1)*((t_elect/300.)**rcoef(52,2))*
+     $       exp(rcoef(52,3)/t_elect)
 
 ch71:  N2+  +  e-    -->  N  + N
-	   ch71 = 3.5d-7 * (300.d0/t_elect)**(0.5d0)
+           !Moffat 2005
+	   !ch71 = 3.5d-7 * (300.d0/t_elect)**(0.5d0)
+           !Peterson et al. 1998 (from UMIST):
+!           ch71 = 1.7d-7 * (300.d0/t_elect)**0.3
+           !Zipf 1980+Kella et al 1996 (from F&S2001):
+           !ch71 = 2.2d-7 * (300.d0/t_elect)**0.39
+           ch71=rcoef(53,1)*((t_elect/300.)**rcoef(53,2))*
+     $       exp(rcoef(53,3)/t_elect)
 
 
 ch72:  N2+  +  O3p    -->  O+  + N2
-	   ch72 = 4.1d-10
+           !Moffat 2005:
+	   !ch72 = 4.1d-10
+           !McFarland et al. 1974 (From UMIST):
+           !ch72 = 1.1d-11
+           !Scott et al., 1999 (from F&S2001):
+!           ch72 = 7.0d-12 * (300.d0/t_elect)**0.23
+           ch72=rcoef(54,1)*((t_elect/300.)**rcoef(54,2))*
+     $       exp(rcoef(54,3)/t_elect)
+           
 
 ch73  CO+  +  H    -->  H+  + CO
-	   ch73 = 4.0d-10
+           !Scott et al., 1997 (from F&S2001):
+!	   ch73 = 4.0d-10
+           !Federer et al. 1984 (from UMIST):
+           !ch73 = 7.5d-10
+           ch73=rcoef(55,1)*((t_elect/300.)**rcoef(55,2))*
+     $       exp(rcoef(55,3)/t_elect)
 
 
 ch74:   O+  +  H    -->  H+  + O
-	   ch74 = 5.7d-10 * (tt/300.d0)**(0.36d0)
+           !Krasnopolsky 2002:
+	   !ch74 = 5.7d-10 * (tt/300.d0)**(0.36d0)
+           !Stancil et al. 1999 (from UMIST):
+!           ch74 = 5.66d-10*(tt/300.)**0.36*exp(8.6/tt)
+           !Aninich 1993 (from F&S2001):
+           !ch74 = 6.4e-10
+           ch74=rcoef(56,1)*((tcte/300.)**rcoef(56,2))*
+     $       exp(rcoef(56,3)/tcte)
 
 ch75:  NO+  +  e-  -->  N  +  O
-	   ch75 = 4.3d-7 * (300.d0/t_elect)**(0.37d0)
-
+           !Mitchel 1990 (from UMIST):
+!	   ch75 = 4.3d-7 * (300.d0/t_elect)**(0.37d0)
+           !Vejby-Christensen et al. 1996 (from F&S2001):
+           !ch75=4.0d-7 * (300.d0/t_elect)**0.5d0
+           ch75=rcoef(57,1)*((t_elect/300.)**rcoef(57,2))*
+     $       exp(rcoef(57,3)/t_elect)
 
 ch76:   H+  +  O3p  -->  O+  +  H
-	   ch76 = 7.3d-10 * (tt/300.d0)**(0.23d0) * exp(-226./tt)
+           !Krasnopolsky et al. 2002:
+	   !ch76 = 7.3d-10 * (tt/300.d0)**(0.23d0) * exp(-226./tt)
+           !Stancil et al. 1999 (from UMIST):
+!           ch76 = 6.86e-10* (tt/300.)**0.26*exp(-224.3/tt)
+           ch76=rcoef(58,1)*((tcte/300.)**rcoef(58,2))*
+     $       exp(rcoef(58,3)/tcte)
 
 ch85:  N+  +  CO2    -->  CO2+  + N
-	   ch85 = 1.d-9
+           !Krasnopolsky 2002:
+	   !ch85 = 1.d-9
+           !Adams et al. 1980 (from UMIST):
+!           ch85 = 7.5d-10
+           !Aninich et al. 1993 (from F&S2001):
+           !ch85 = 9.2d-10
+           ch85=rcoef(59,1)*((t_elect/300.)**rcoef(59,2))*
+     $       exp(rcoef(59,3)/t_elect)
 
 ch86:  H2 + CO2+  --> H + HCO2+
-	   ch86 = 8.7d-10
-
-ch87:  HCO2+ + e -> CO2 + H
-           ch87 = 3.4d-7 * (300.d0/t_elect)**(0.5d0)
+           !Scott et al. 1998 (from F&S2001 and K2002):
+	   !ch86 = 8.7d-10
+           !Copp et al. 1982 (from UMIST):
+!           ch86 = 9.5d-10
+           ch86=rcoef(60,1)*((t_elect/300.)**rcoef(60,2))*
+     $       exp(rcoef(60,3)/t_elect)
+
+
+c     h87:  HCO2+ + e -> CO2 + H
+           !Krasnopolsky 2002:
+!           ch87 = 3.4d-7 * (300.d0/t_elect)**(0.5d0)
+           !UMIST 2012: the reactions has 3 different sets of products: CO2+H,
+           !CO+O+H (dominante) y CO+OH. Habria que tener esto en cuenta
+           ch87=rcoef(61,1)*((t_elect/300.)**rcoef(61,2))*
+     $       exp(rcoef(61,3)/t_elect)
 
 	   
@@ -2395,7 +2670,7 @@
 
          ! O+
-            oplus_eq(i)='N'
-!         oplus_eq(i)='Y'
-!         xn_comp_en_EQ = xn_comp_en_EQ + 1
+!            oplus_eq(i)='N'
+         oplus_eq(i)='Y'
+         xn_comp_en_EQ = xn_comp_en_EQ + 1
 
          ! N2+
@@ -2404,8 +2679,8 @@
 
          ! H+
-            hplus_eq(i)='N'
-
-!         hplus_eq(i)='Y'
-!         xn_comp_en_EQ = xn_comp_en_EQ + 1
+!            hplus_eq(i)='N'
+
+         hplus_eq(i)='Y'
+         xn_comp_en_EQ = xn_comp_en_EQ + 1
 
          ! CO2+
Index: trunk/LMDZ.MARS/libf/phymars/physiq.F
===================================================================
--- trunk/LMDZ.MARS/libf/phymars/physiq.F	(revision 1012)
+++ trunk/LMDZ.MARS/libf/phymars/physiq.F	(revision 1013)
@@ -470,4 +470,5 @@
          if(callnlte.and.nltemodel.eq.2) call nlte_setup
          if(callnirco2.and.nircorr.eq.1) call NIR_leedat
+         if(thermochem) call chemthermos_readini
 
         IF (tracer.AND.water.AND.(ngridmx.NE.1)) THEN
@@ -1727,5 +1728,5 @@
                call wstats(ngrid,'albedo',
      &                         'albedo',
-     &                         '',2,albedo(1:ngridmx,1))
+     &                         '',2,albedo(1,1))
                call wstats(ngrid,"mtot",
      &                    "total mass of water vapor","kg/m2",
@@ -2044,5 +2045,5 @@
             CALL WRITEDIAGFI(ngridmx,'albedo',
      &                         'albedo',
-     &                         '',2,albedo(1:ngridmx,1))
+     &                         '',2,albedo(1,1))
               if (tifeedback) then
                  call WRITEDIAGSOIL(ngridmx,"soiltemp",
