diff --git a/src/LIB/MEGAN/.arbre2.txt.swp b/src/LIB/MEGAN/.arbre2.txt.swp
new file mode 100644
index 0000000000000000000000000000000000000000..53891c1f3841e8264bd204ddb71f260ba22e4442
Binary files /dev/null and b/src/LIB/MEGAN/.arbre2.txt.swp differ
diff --git a/src/MNH/emproc.F90 b/src/LIB/MEGAN/emproc.F90
similarity index 100%
rename from src/MNH/emproc.F90
rename to src/LIB/MEGAN/emproc.F90
diff --git a/src/LIB/MEGAN/index1.F90 b/src/LIB/MEGAN/index1.F90
new file mode 100644
index 0000000000000000000000000000000000000000..68e48b7173a81e3fb1e289d1b9e6eaf23b5fc5fd
--- /dev/null
+++ b/src/LIB/MEGAN/index1.F90
@@ -0,0 +1,104 @@
+FUNCTION INDEX1 (HNAME, HLIST) RESULT(KINDEX1)
+
+!***********************************************************************
+! Version "$Id: index1.f 45 2014-09-12 20:05:29Z coats $"
+! EDSS/Models-3 I/O API.
+! Copyright (C) 1992-2002 MCNC and Carlie J. Coats, Jr., and
+! (C) 2003-2010 Baron Advanced Meteorological Systems, LLC.
+! Distributed under the GNU LESSER GENERAL PUBLIC LICENSE version 2.1
+! See file "LGPL.txt" for conditions of use.
+!.........................................................................
+!  INDEX1    subroutine body starts at line 53
+!  INDEXINT1 subroutine body starts at line 99
+!
+!  FUNCTION:
+!
+!       Search for character-string or integer key NAME or IKEY in list NLIST
+!       and return the subscript (1...N) at which it is found, or return 0
+!       when not found in NLIST
+!
+!  PRECONDITIONS REQUIRED:
+!       none
+!
+!  SUBROUTINES AND FUNCTIONS CALLED:
+!       none
+!
+!  REVISION HISTORY:
+!    INDEX1:
+!       5/1988   Modified for ROMNET
+!       9/1994   Modified for Models-3 by CJC
+!    INDEXINT1:
+!       Prototype 11/2004 by CJC:  MODULE M3UTILIO for I/O API v3
+!       Modified   3/2006 by CJC:  moved INDEXINT1() to file "index1.f"
+!
+!       Modified  03/2010 by CJC: F9x changes for I/O API v3.1
+!***********************************************************************
+
+IMPLICIT NONE
+
+!.......   Arguments and their descriptions:
+
+CHARACTER(LEN=*), INTENT(IN) :: HNAME      !  Character string being searched for
+CHARACTER(LEN=*), DIMENSION(:), INTENT(IN) :: HLIST  !  array to be searched
+INTEGER :: KINDEX1
+
+!.......   Local variable:
+
+INTEGER :: JI   !  loop counter
+
+!.....................................................................
+!.......   begin body of INDEX1()
+
+KINDEX1 = 0
+!
+DO JI = 1, SIZE(HLIST)
+  IF ( HNAME.EQ.HLIST(JI) ) THEN    ! Found NAME in NLIST
+    KINDEX1 = JI
+    EXIT
+  ENDIF
+END DO
+
+END FUNCTION INDEX1
+
+! --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+
+!FUNCTION INDEXINT1(KEY, KEYLIST ) RESULT(KINDEXINT1)
+!
+!!-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+!!  Look up integer key IKEY in unsorted list <NLIST,KEYLIST>
+!!  of integer keys.  Return the subscript at which IKEY
+!!  occurs, or 0 in case of failure
+!!
+!!  PRECONDITIONS REQUIRED:
+!!      none
+!!
+!!  REVISION  HISTORY:
+!!      Prototype  11/2004 by CJC
+!!-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+!
+!IMPLICIT NONE
+!
+!!!........  Arguments:
+! 
+!INTEGER, INTENT(IN) :: KEY
+!INTEGER, DIMENSION(:), INTENT(IN) :: KEYLIST
+!
+!INTEGER :: KINDEXINT1
+!
+!!!........  Local Variables:
+!
+!INTEGER :: JI
+!
+!!!........  begin body ........................................
+!
+!KINDEXINT1 = 0
+!
+!DO JI = 1, SIZE(KEYLIST)
+!  IF ( KEY .EQ. KEYLIST(JI) ) THEN
+!    KINDEXINT1 = JI
+!    EXIT
+!  END IF
+!END DO
+!
+!END FUNCTION INDEXINT1
diff --git a/src/LIB/MEGAN/init_mgn2mech.F90 b/src/LIB/MEGAN/init_mgn2mech.F90
new file mode 100644
index 0000000000000000000000000000000000000000..8e1bd59bcd401b3f016542476abe0c873d6963a1
--- /dev/null
+++ b/src/LIB/MEGAN/init_mgn2mech.F90
@@ -0,0 +1,208 @@
+!!   ###############################
+SUBROUTINE INIT_MGN2MECH(HMECHANISM, OCONVERSION, HVNAME3D, HMECH_SPC, &
+                         KSPMH_MAP, KMECH_MAP, PCONV_FAC, PMECH_MWT,   &
+                         KVARS3D, K_SCON_SPC)
+!!
+!!***  *BVOCEM*
+!! 
+!!    PURPOSE
+!!    -------
+!!    CALCULATE THE BIOGENIC EMISSION FLUXES UPON THE MEGAN CODE
+!!    HTTP://LAR.WSU.EDU/MEGAN/
+!!
+!!    METHOD
+!!    ------
+!!
+!!
+!!    AUTHOR
+!!    ------
+!   ORIGINALLY CREATED BY JACK CHEN 11/04 FOR MEGAN V.0
+!   FOR MEGAN V2.0 CREATED BY TAN 12/01/06
+!   FOR MEGAN V2.1 CREATED BY XUEMEI WANG 11/04/07
+!   FOR MEGAN V2.1 TO USE 150 SPECIES CREATED BY XUEMEI WANG 09/30/09
+!
+!  HISTORY:
+!  08/14/07 TAN    - MOVE TO MEGANV2.02 WITH NO UPDATE
+!  08/29/07 MODIFIED BY A. GUENTHER TO CORRECT ERROR IN ASSIGNING
+!           EMISSION FACTOR. THIS VERSION IS CALLED MEGANV2.03
+!  10/29/07 MODIFIED BY A. GUENTHER TO CORRECT OMISSION OF DIURNAL VARIATION
+!           FACTOR. THIS VERSION IS CALLED MEGANV2.04
+!  11/04/07 MODIFIED BY XUEMEI WANG TO GIVE TWO OPTIONS FOR MAP OR LOOKUP TABLE FOR
+!           THE EMISSION FACTORS. ALSO GIVES OPTIONS FOR DIFFERENT CHEMICAL MECHANISMS
+!           IN THE CODE: USER MODIFIES THE EXTERNAL SCRIPT TO ASSIGN MECHANISM.
+!           THIS VERSION IS CALLED MEGANV2.1.0
+!  06/04/08 MODIFIED BY J. LEE-TAYLOR TO ACCEPT VEGETATION-DEPENDENT SPECIATION FACTORS
+!           IN TABLE FORMAT (RESHAPE TABLES) RATHER THAN FROM DATA STATEMENTS.
+!  09/30/08  MODIFIED BY XUEMEI WANG TO GIVE OPTIONS FOR INPUT FILE AND TEST DIFFERENT MECHANISMS
+!  09/27/11  TAN&XUEMEI MEGANV2.10 INCLUDES SOIL NOX ADJUSTMENT AND A LOT OF UPDATES
+!  20/12/14  P. TULET - ON-LINE COUPLING IN THE ISBA/SURFEX SCHEME. ALL INIT VARIABLES HAS BEEN
+!            MOVED IN INIT_MEGANN.F90.
+!!    
+!!    MODIFICATIONS
+!!    -------------
+!!    ORIGINAL: 25/10/14
+!!
+!!
+!!    EXTERNAL
+!!    --------
+!!
+!!    IMPLICIT ARGUMENTS
+!!    ------------------
+!
+!------------------------------------------------------------------------------
+!
+!*       0.   DECLARATIONS
+!        -----------------
+!
+USE MODD_MGN2MECH
+!
+IMPLICIT NONE
+
+CHARACTER(LEN=16), INTENT(IN) :: HMECHANISM !I MECHANISM NAME
+LOGICAL, INTENT(IN) :: OCONVERSION !I 
+!
+CHARACTER(LEN=16),DIMENSION(:), POINTER :: HMECH_SPC!I MECHANISM NAME
+CHARACTER(LEN=16),DIMENSION(:), POINTER :: HVNAME3D !I MECHANISM NAME
+INTEGER,DIMENSION(:), POINTER :: KSPMH_MAP
+INTEGER,DIMENSION(:), POINTER :: KMECH_MAP
+REAL,DIMENSION(:), POINTER :: PCONV_FAC
+REAL,DIMENSION(:), POINTER :: PMECH_MWT
+INTEGER, INTENT(INOUT) :: KVARS3D
+INTEGER, INTENT(INOUT) :: K_SCON_SPC
+
+!...  INCLUDES:
+!
+!*   0.1 DECLARATION OF LOCAL VARIABLES
+!
+! SET ATTRIBUTE AND VARIABLES FOR OUTPUT
+SELECT CASE ( TRIM(HMECHANISM) )
+  CASE ('CB05')
+    K_SCON_SPC = N_CB05
+    KVARS3D = N_CB05_SPC
+  CASE ('CB6')
+    K_SCON_SPC = N_CB6
+    KVARS3D = N_CB6_SPC
+  CASE ('SAPRCII')
+    K_SCON_SPC = N_SAPRCII
+    KVARS3D = N_SAPRCII_SPC
+  CASE ('RADM2')
+    K_SCON_SPC = N_RADM2
+    KVARS3D = N_RADM2_SPC
+  CASE ('RACM')
+    K_SCON_SPC = N_RACM
+    KVARS3D = N_RACM_SPC
+  CASE ('CBMZ')
+    K_SCON_SPC = N_CBMZ
+    KVARS3D = N_CBMZ_SPC    
+  CASE ('SAPRC99')
+    K_SCON_SPC = N_SAPRC99
+    KVARS3D = N_SAPRC99_SPC
+  CASE ('SAPRC99Q')
+    K_SCON_SPC = N_SAPRC99_Q
+    KVARS3D = N_SAPRC99_Q_SPC    
+  CASE ('SAPRC99X')
+    K_SCON_SPC = N_SAPRC99_X
+    KVARS3D = N_SAPRC99_X_SPC
+  CASE ('SOAX')
+    K_SCON_SPC = N_SOAX
+    KVARS3D = N_SOAX_SPC
+  CASE DEFAULT
+    CALL ABOR1_SFX("ERROR: MECHANISM CONVERSION, INVALID MECHANISM: "//TRIM(HMECHANISM))
+ENDSELECT
+
+!  PRINT*,'SHAPE(SPMH_MAP) =',SHAPE(SPMH_MAP)
+IF (ASSOCIATED(KSPMH_MAP)) DEALLOCATE(KSPMH_MAP)
+ALLOCATE(KSPMH_MAP(K_SCON_SPC))
+
+IF (ASSOCIATED(KMECH_MAP)) DEALLOCATE(KMECH_MAP)
+ALLOCATE(KMECH_MAP(K_SCON_SPC))
+
+IF (ASSOCIATED(PCONV_FAC)) DEALLOCATE(PCONV_FAC)
+ALLOCATE(PCONV_FAC(K_SCON_SPC))
+
+IF (ASSOCIATED(HMECH_SPC)) DEALLOCATE(HMECH_SPC)
+ALLOCATE(HMECH_SPC(KVARS3D))
+
+IF (ASSOCIATED(PMECH_MWT)) DEALLOCATE(PMECH_MWT)
+ALLOCATE(PMECH_MWT(KVARS3D))
+
+IF (ASSOCIATED(HVNAME3D)) DEALLOCATE(HVNAME3D)
+ALLOCATE(HVNAME3D(KVARS3D))
+
+IF ( OCONVERSION ) THEN
+
+  SELECT CASE ( TRIM(HMECHANISM) )
+    CASE ('CB05')
+      KSPMH_MAP(:) = NSPMH_MAP_CB05(:)
+      KMECH_MAP(:) = NMECH_MAP_CB05(:)
+      PCONV_FAC(:) = XCONV_FAC_CB05(:)
+      HMECH_SPC(:) = CMECH_SPC_CB05(:)
+      PMECH_MWT(:) = XMECH_MWT_CB05(:)
+    CASE ('CB6')
+      KSPMH_MAP(:) = NSPMH_MAP_CB6(:)
+      KMECH_MAP(:) = NMECH_MAP_CB6(:)
+      PCONV_FAC(:) = XCONV_FAC_CB6(:)
+      HMECH_SPC(:) = CMECH_SPC_CB6(:)
+      PMECH_MWT(:) = XMECH_MWT_CB6(:)      
+    CASE ('SAPRCII')
+      KSPMH_MAP(:) = NSPMH_MAP_SAPRCII(:)
+      KMECH_MAP(:) = NMECH_MAP_SAPRCII(:)
+      PCONV_FAC(:) = XCONV_FAC_SAPRCII(:)
+      HMECH_SPC(:) = CMECH_SPC_SAPRCII(:)
+      PMECH_MWT(:) = XMECH_MWT_SAPRCII(:)
+    CASE ('RADM2')
+      KSPMH_MAP(:) = NSPMH_MAP_RADM2(:)
+      KMECH_MAP(:) = NMECH_MAP_RADM2(:)
+      PCONV_FAC(:) = XCONV_FAC_RADM2(:)
+      HMECH_SPC(:) = CMECH_SPC_RADM2(:)
+      PMECH_MWT(:) = XMECH_MWT_RADM2(:)
+    CASE ('RACM')
+      KSPMH_MAP(:) = NSPMH_MAP_RACM(:)
+      KMECH_MAP(:) = NMECH_MAP_RACM(:)
+      PCONV_FAC(:) = XCONV_FAC_RACM(:)
+      HMECH_SPC(:) = CMECH_SPC_RACM(:)
+      PMECH_MWT(:) = XMECH_MWT_RACM(:)
+    CASE ('CBMZ')
+      KSPMH_MAP(:) = NSPMH_MAP_CBMZ(:)
+      KMECH_MAP(:) = NMECH_MAP_CBMZ(:)
+      PCONV_FAC(:) = XCONV_FAC_CBMZ(:)
+      HMECH_SPC(:) = CMECH_SPC_CBMZ(:)
+      PMECH_MWT(:) = XMECH_MWT_CBMZ(:)
+    CASE ('SAPRC99')
+      KSPMH_MAP(:) = NSPMH_MAP_SAPRC99(:)
+      KMECH_MAP(:) = NMECH_MAP_SAPRC99(:)
+      PCONV_FAC(:) = XCONV_FAC_SAPRC99(:)
+      HMECH_SPC(:) = CMECH_SPC_SAPRC99(:)
+      PMECH_MWT(:) = XMECH_MWT_SAPRC99(:)
+    CASE ('SAPRC99Q')
+      KSPMH_MAP(:) = NSPMH_MAP_SAPRC99_Q(:)
+      KMECH_MAP(:) = NMECH_MAP_SAPRC99_Q(:)
+      PCONV_FAC(:) = XCONV_FAC_SAPRC99_Q(:)
+      HMECH_SPC(:) = CMECH_SPC_SAPRC99_Q(:)
+      PMECH_MWT(:) = XMECH_MWT_SAPRC99_Q(:)
+    CASE ('SAPRC99X')
+      KSPMH_MAP(:) = NSPMH_MAP_SAPRC99_X(:)
+      KMECH_MAP(:) = NMECH_MAP_SAPRC99_X(:)
+      PCONV_FAC(:) = XCONV_FAC_SAPRC99_X(:)
+      HMECH_SPC(:) = CMECH_SPC_SAPRC99_X(:)
+      PMECH_MWT(:) = XMECH_MWT_SAPRC99_X(:)
+    CASE ('SOAX')
+      KSPMH_MAP(:) = NSPMH_MAP_SOAX(:)
+      KMECH_MAP(:) = NMECH_MAP_SOAX(:)
+      PCONV_FAC(:) = XCONV_FAC_SOAX(:)
+      HMECH_SPC(:) = CMECH_SPC_SOAX(:)
+      PMECH_MWT(:) = XMECH_MWT_SOAX(:)
+  ENDSELECT
+
+  HVNAME3D(:)  = HMECH_SPC(:)
+
+ELSE
+
+  KVARS3D = N_SPCA_SPC
+  HVNAME3D(:) = CSPCA_SPC(:)
+  
+ENDIF
+
+!---------------------------------------------------------------------------
+!
+END SUBROUTINE INIT_MGN2MECH
diff --git a/src/LIB/MEGAN/julian.F90 b/src/LIB/MEGAN/julian.F90
new file mode 100644
index 0000000000000000000000000000000000000000..73442ba48e36a1a549e9dcc8da7c5f3e61046937
--- /dev/null
+++ b/src/LIB/MEGAN/julian.F90
@@ -0,0 +1,92 @@
+FUNCTION JULIAN (KYEAR, KMNTH, KMDAY) RESULT(KJULIAN)
+
+!***********************************************************************
+! Version "$Id: julian.F 45 2014-09-12 20:05:29Z coats $"
+! EDSS/Models-3 I/O API.
+! Copyright (C) 1992-2002 MCNC and Carlie J. Coats, Jr.,
+! (C) 2003-2010 by Baron Advanced Meteorological Systems.
+! Distributed under the GNU LESSER GENERAL PUBLIC LICENSE version 2.1
+! See file "LGPL.txt" for conditions of use.
+!.........................................................................
+!  function body starts at line  68
+!
+!  FUNCTION:  returns the Julian day (1...365,366) corresponding to
+!      the date MNTH-MDAY-YEAR.
+!      NOTE:  This is NOT the Julian DATE -- only the
+!      day-number.  To get the Julian date:
+!
+!      JDATE = 1000 * YEAR  +  JULIAN ( YEAR , MNTH , MDAY )
+!
+!  ARGUMENT LIST DESCRIPTION:
+!
+!    Input arguments:
+!
+!      YEAR     Calendar year
+!      MNTH     Month of year  1, 12
+!      MDAY     Day of month   1, 31
+!
+!     Output arguments:  none
+!
+!  RETURN VALUE:
+!
+!      JULIAN   The Julian DAY of the input arguments combined
+!
+!  REVISION HISTORY:
+!
+!    5/1988   Modified for ROMNET
+!
+!    8/1990   Modified for ROM 2.2 by Carlie J. Coats, Jr., CSC
+!       improved comments; improved Zeller's Congruence algorithm
+!       and using IF-THEN ... ELSE IF ... construction.
+!
+!    8/1999   Version for global-climate IO_360, which uses 360-day "year"
+!       
+!       2/2002 Unification by CJC with global-climate JULIAN
+!
+!       Modified 03/2010 by CJC: F9x changes for I/O API v3.1
+!***********************************************************************
+
+IMPLICIT NONE
+
+!...........   ARGUMENTS and their descriptions:
+
+INTEGER, INTENT(IN) :: KYEAR            ! year YYYY
+INTEGER, INTENT(IN) :: KMNTH            ! month 1...12
+INTEGER, INTENT(IN) :: KMDAY            ! day-of-month 1...28,29,30,31
+
+INTEGER :: KJULIAN 
+
+!...........   SCRATCH LOCAL VARIABLES:
+
+INTEGER :: JM, JN, JL
+
+!***********************************************************************
+!   begin body of function  JULIAN
+
+#ifdef IO_360
+
+KJULIAN = KMDAY + 30 * ( KMNTH - 1 )
+
+#else
+
+JM = MOD ((KMNTH + 9), 12)
+JN = (JM * 153 + 2) / 5 + KMDAY + 58
+
+IF  ( MOD(KYEAR,4).NE.0 ) THEN
+  JL = 365
+ELSE IF ( MOD(KYEAR,100).NE.0 ) THEN
+  JL = 366
+  JN = 1 + JN
+ELSE IF ( MOD(KYEAR,400).NE.0 )  THEN
+  JL = 365
+ELSE 
+  JL = 366
+  JN = 1 + JN
+END IF
+
+KJULIAN = 1 + MOD(JN,JL)
+
+#endif
+
+END FUNCTION JULIAN
+
diff --git a/src/MNH/mgn2mech.F90 b/src/LIB/MEGAN/mgn2mech.F90
similarity index 100%
rename from src/MNH/mgn2mech.F90
rename to src/LIB/MEGAN/mgn2mech.F90
diff --git a/src/LIB/MEGAN/modd_megan.F90 b/src/LIB/MEGAN/modd_megan.F90
new file mode 100644
index 0000000000000000000000000000000000000000..df8fdb870141aadd492e194c474fd89de5d0af20
--- /dev/null
+++ b/src/LIB/MEGAN/modd_megan.F90
@@ -0,0 +1,145 @@
+MODULE MODD_MEGAN
+!
+INTEGER, PARAMETER :: NLAYERS = 5
+! LENGTH OF THE TIME STEP  (DAYS)
+INTEGER, PARAMETER :: NTSTLEN = 30
+INTEGER, PARAMETER :: NMAXSTYPES = 11
+!
+REAL, PARAMETER ::  XSOLARCONSTANT = 1367,   &     ! SOLAR CONSTANT [W/M2]
+     XWATERAIRRATIO = 18.016/28.97  ! RATIO BETWEEN WATER AND AIR MOLECULES
+!
+REAL, PARAMETER :: XPSTD_SUN=200.0, XPSTD_SHADE=50.0
+REAL ,PARAMETER :: XCCE=0.56
+!
+REAL,PARAMETER :: XSB = 0.0000000567
+!
+!     REAL,PARAMETER :: CONVERTPPFD = 4.766   
+REAL,PARAMETER :: XCONVERTSHADEPPFD = 4.6
+REAL,PARAMETER :: XCONVERTSUNPPFD = 4.0
+!  
+REAL,PARAMETER :: XPI = 3.14159, XRPI180 = 57.29578
+!
+REAL,PARAMETER :: XDIHIGH = -0.5, XDILOW = -5
+!
+REAL,PARAMETER :: XCTM2 = 230
+REAL,PARAMETER :: XCT2 =200.0  
+!
+REAL,PARAMETER :: XTS = 303.15
+!
+! PARAMETER FOR UNIT CONVERSION
+REAL, PARAMETER :: XUG2TONNE = 1E-12  ! CONVERT MICROGRAM TO METRIC TONNE
+REAL, PARAMETER :: XHR2SEC = 3600     ! CONVERT HR TO SECOND
+REAL, PARAMETER :: XUG2G = 1E-6       ! CONVERT MICROGRAM TO GRAM
+REAL, PARAMETER :: XN2NO    = 2.142857   ! CONVERT HR TO SECOND
+!
+REAL, DIMENSION(NMAXSTYPES) :: XSATURATION=&
+        (/0.395, 0.410, 0.435, 0.485, 0.451, 0.420, 0.477, 0.476, 0.426, 0.482, 0.482/)
+!
+REAL, PARAMETER :: XISMAX=1.344, XH=1.4614
+REAL, PARAMETER :: XCSTAR=585
+!=======================================================================
+!  CANOPY.EXT
+!  THIS INCLUDE FILE CONTAINS MEGAN SPECIES
+!
+!  WHO                   WHEN       WHAT
+!  ---------------------------------------------------------------------
+!  XUEMEI WANG          06/16/2009 - CREATES THIS FILE
+!=======================================================================
+
+INTEGER, PARAMETER :: N_MGN_SPC  = 20
+
+CHARACTER(LEN=6), DIMENSION(N_MGN_SPC) :: &
+        CMGN_SPC=(/'ISOP  ','MYRC  ','SABI  ','LIMO  ','A_3CAR','OCIM  ','BPIN  ','APIN  ','OMTP  ',&
+                  'FARN  ','BCAR  ','OSQT  ','MBO   ','MEOH  ','ACTO  ','CO    ','NO    ','BIDER ',&
+                  'STRESS','OTHER '/)
+
+REAL, DIMENSION(N_MGN_SPC), PARAMETER :: &
+        XCLEO=(/2.,1.83,1.83,1.83,1.83,1.83,1.83,1.83,1.83,2.37,2.37,2.37,2.,1.6,1.83,1.6,1.86,2.,1.83,1.83/)
+
+REAL, DIMENSION(N_MGN_SPC), PARAMETER :: &
+        XCTM1=(/95.,80.,80.,80.,80.,80.,80.,80.,80.,130.,130.,130.,95.,60.,80.,60.,80.,95.,80.,80./)
+
+REAL, DIMENSION(N_MGN_SPC), PARAMETER :: &
+        XTDF_PRM=(/0.13,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.17,0.17,0.17,0.13,0.08,0.1,0.08,0.1,0.13,0.1,0.1/)
+
+REAL, DIMENSION(N_MGN_SPC), PARAMETER :: &
+        XLDF_FCT=(/0.999,0.6,0.6,0.4,0.4,0.4,0.4,0.6,0.4,0.5,0.5,0.5,0.999,0.8,0.2,0.999,0.,0.8,0.8,0.2/)
+
+REAL, DIMENSION(N_MGN_SPC), PARAMETER :: &
+        XMGN_MWT=(/1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1./)
+!
+INTEGER, DIMENSION(N_MGN_SPC), PARAMETER :: &
+        NREA_INDEX=(/5,2,2,2,2,2,2,2,2,3,3,3,5,4,1,1,1,1,1,1/)
+!
+!**************************************************************************************************************
+!
+INTEGER,PARAMETER :: N_MGN_PFT = 16
+!
+!CHARACTER(LEN=10), DIMENSION(N_MGN_PFT), PARAMETER :: &
+!        CMGN_PFT=(/'NT_EG_TEMP','NT_DC_BORL','NT_EG_BORL','BT_EG_TROP','BT_EG_TEMP','BT_DC_TROP',&
+!                   'BT_DC_TEMP','BT_DC_BORL','SG_EG_TEMP','SB_DC_TEMP','SB_DC_BORL',&
+!                   'GS_C3_COLD','GS_C3_COOL','GS_C3_WARM','CORN      ','CROP      '/)
+!
+!CHARACTER(LEN=35), DIMENSION(N_MGN_PFT), PARAMETER :: &
+!        CMGN_NAM=(/'Needleaf evergreen temperate tree  ','Needleaf deciduous boreal tree     ',&
+!                   'Needleaf evergreen boreal tree     ','Broadleaf evergreen tropical tree  ',&
+!                   'Broadleaf evergreen tropical tree  ','Broadleaf deciduous tropical tree  ',&
+!                   'Broadleaf deciduous temperate tree ','Broadleaf deciduous boreal tree    ',&
+!                   'Broadleaf evergreen temperate shrub','Broadleaf deciduous temperate shrub',&
+!                   'Broadleaf deciduous boreal shrub   ','Cold C3 grass                      ',&
+!                   'Cool C3 grass                      ','Warm C3 grass                      ',&
+!                   'Corn                               ','Other crops                        '/)
+!
+INTEGER,PARAMETER :: N_CAT = 5
+!
+REAL, DIMENSION(N_CAT) :: XANEW=(/1.,2.  ,0.4 ,3.5,0.05/)
+REAL, DIMENSION(N_CAT) :: XAGRO=(/1.,1.8 ,0.6 ,3. ,0.6 /)
+REAL, DIMENSION(N_CAT) :: XAMAT=(/1.,1.  ,1.  ,1. ,1.  /)
+REAL, DIMENSION(N_CAT) :: XAOLD=(/1.,1.05,0.95,1.2,0.9 /)
+!
+!**********************************************************************************************************
+
+INTEGER, PARAMETER ::  NRCHA = 16
+! 1  = canopy depth
+! 2  = leaf width
+! 3  = leaf length
+! 4  = canopy height
+! 5  = scattering coefficient for PPFD
+! 6  = scattering coefficient for near IR
+! 7  = reflection coefficient for diffuse PPFD
+! 8  = reflection coefficient for diffuse near IR
+! 9  = clustering coefficient (accounts for leaf clumping influence on mean
+!    projected leaf area in the direction of the suns beam)
+!    use 0.85 for default, corn=0.4-0.9; Pine=0.6-1.0; oak=0.53-0.67; 
+!    tropical rainforest=1.1
+! 10 = leaf IR emissivity
+! 11 = leaf stomata and cuticle factor: 1=hypostomatous, 2=amphistomatous,
+!     1.25=hypostomatous but with some transpiration through cuticle
+! 12 = daytime temperature lapse rate (K m-1)
+! 13 = nighttime temperature lapse rate (K m-1)
+! 14 = warm (>283K) canopy total humidity change (Pa)
+! 15 = cool (>= 283K) canopy total humidity change (Pa)
+! 16 = normalized canopy depth where wind is negligible
+!     NT NT NT TF BT TF BT BT SB SB SB HB HB HB CR CR
+
+REAL,DIMENSION(NRCHA,N_MGN_PFT) :: XCANOPYCHAR = RESHAPE(&
+   (/ 16.,   16.,   16.,   16.,   16.,   16.,   16.,   16.,    1.,    1.,    1., 0.756, 0.756, 0.756,    1.,    1., & 
+     0.05,  0.05,  0.05,  0.05,  0.05,  0.05,  0.05,  0.05, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,  0.02,  0.02, &
+      0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,  0.15,  0.15,  0.15,  0.15,  0.15, &
+      24.,   24.,   24.,   24.,   24.,   24.,   24.,   24.,    2.,    2.,    2.,  0.75,  0.75,  0.75,    1.,    1., & 
+      0.2,   0.2,   0.2,   0.2,   0.2,   0.2,   0.2,   0.2,   0.2,   0.2,   0.2,   0.2,   0.2,   0.2,   0.2,   0.2, &
+      0.8,   0.8,   0.8,   0.8,   0.8,   0.8,   0.8,   0.8,   0.8,   0.8,   0.8,   0.8,   0.8,   0.8,   0.8,   0.8, &
+    0.057, 0.057, 0.057, 0.057, 0.057, 0.057, 0.057, 0.057, 0.057, 0.057, 0.057, 0.057, 0.057, 0.057, 0.057, 0.057, &
+    0.389, 0.389, 0.389, 0.389, 0.389, 0.389, 0.389, 0.389, 0.389, 0.389, 0.389, 0.389, 0.389, 0.389, 0.389, 0.389, &
+     0.85,  0.85,  0.85,   1.1,  0.95,   1.1,  0.95,  0.95,  0.85,  0.85,  0.85,  0.76,  0.76,  0.76,  0.65,  0.65, &
+     0.95,  0.95,  0.95,  0.95,  0.95,  0.95,  0.95,  0.95,  0.95,  0.95,  0.95,  0.95,  0.95,  0.95,  0.95,  0.95, &
+     1.25,  1.25,  1.25,  1.25,  1.25,  1.25,  1.25,  1.25,  1.00,  1.00,  1.00,  1.25,  1.25,  1.25,  1.25,  1.25, &
+     0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06, &
+    -0.06, -0.06, -0.06, -0.06, -0.06, -0.06, -0.06, -0.06, -0.06, -0.06, -0.06, -0.06, -0.06, -0.06, -0.06, -0.06, &
+     700.,  700.,  700.,  700.,  700.,  700.,  700.,  700.,  700.,  700.,  700.,  700.,  700.,  700.,  700.,  700., &
+     150.,  150.,  150.,  150.,  150.,  150.,  150.,  150.,  150.,  150.,  150.,  150.,  150.,  150.,  150.,  150., &
+      0.7,   0.7,   0.7,   0.7,   0.7,   0.7,   0.7,   0.7,   0.7,   0.7,   0.7,   0.7,   0.7,   0.7,   0.7,   0.7/)&
+        ,SHAPE=(/NRCHA,N_MGN_PFT/) ,ORDER=(/2,1/) )
+
+
+END MODULE MODD_MEGAN
diff --git a/src/LIB/MEGAN/modd_mgn2mech.F90 b/src/LIB/MEGAN/modd_mgn2mech.F90
new file mode 100644
index 0000000000000000000000000000000000000000..f64f45eb52ccb15ce98405c9fbcd260a8dac3b13
--- /dev/null
+++ b/src/LIB/MEGAN/modd_mgn2mech.F90
@@ -0,0 +1,1275 @@
+MODULE MODD_MGN2MECH
+
+USE MODD_MEGAN, ONLY : N_MGN_SPC, N_MGN_PFT
+!=======================================================================
+!  EF_MGN20.EXT
+!  This include file contains EF for 20 MEGAN species.  The values in
+!  this file must be in the same order as in SPC_MGN.EXT
+!
+!  MEGAN v2.1
+!  INPUT version 210
+!
+!  History:
+!  Who          When       What
+!  ---------------------------------------------------------------------
+!  Tan          12/02/2006 - Creates this file
+!  Guenther A.  08/11/2007 - Creates this file again with updates and move
+!                          from v2.0 to v2.02
+!  Xuemei Wang and Alex 26/07/2011-Extend EFs to 16 PFTs
+!  Jiang X.     05/07/2012 - Updates EFs with new values from Guenther
+!=======================================================================
+
+!     EF_NT_EG_TEMP EF_NT_DC_BORL EF_NT_EG_BORL EF_BT_EG_TROP EF_BT_EG_TEMP
+!     EF_BT_DC_TROP EF_BT_DC_TEMP EF_BT_DC_BORL EF_SB_EG_TEMP EF_SB_DC_TEMP
+!     EF_SB_DC_BORL EF_GS_C3_COLD EF_GS_C3_COOL EF_GS_C3_WARM EF_CROP EF_CORN
+
+REAL,DIMENSION(N_MGN_PFT,N_MGN_SPC) :: XEF_ALL = RESHAPE( (/  & 
+ -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,&
+ -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,&
+ -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,&
+ -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,&
+ -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,&
+ -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,&
+ -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,&
+ -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,&
+180., 170., 180., 150., 150., 150., 150., 150., 110., 200., 110.,   5.,   5.,   5.,   5.,   5.,&
+ 40.,  40.,  40.,  60.,  40.,  60.,  40.,  40.,  40.,  40.,  40.,   3.,   3.,   3.,   4.,   4.,&
+ 80.,  80.,  80.,  60.,  40.,  60.,  40.,  40.,  50.,  50.,  50.,   1.,   1.,   1.,   2.,   4.,&
+120., 120., 120., 120., 100., 120., 100., 100., 100., 100., 100.,   2.,   2.,   2.,   2.,   2.,&
+ -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,&
+900., 900., 900., 500., 900., 500., 900., 900., 900., 900., 900., 500., 500., 500., 900., 900.,&
+240., 240., 240., 240., 240., 240., 240., 240., 240., 240., 240.,  80.,  80.,  80.,  80.,  80.,&
+600., 600., 600., 600., 600., 600., 600., 600., 600., 600., 600., 600., 600., 600., 600., 600.,&
+ -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,  -1.,&
+500., 500., 500., 500., 500., 500., 500., 500., 500., 500., 500.,  80.,  80.,  80.,  80.,  80.,&
+300., 300., 300., 300., 300., 300., 300., 300., 300., 300., 300., 300., 300., 300., 300., 300.,&
+140., 140., 140., 140., 140., 140., 140., 140., 140., 140., 140., 140., 140., 140., 140., 140. /),&
+SHAPE=(/N_MGN_PFT,N_MGN_SPC/), ORDER=(/1,2/)   )
+
+!=======================================================================
+!  EFFS_MGN20T150.EXT
+!  This include file contains EF fractions for speciation from 20 MEGAN
+!  categories to 150 species.  The values in this file must be in the
+!  same order as in MAP_MGN20T150.EXT
+!
+!  MEGAN v2.1
+!  INPUT version 210
+!
+!  History:
+!  Who          When       What
+!  ---------------------------------------------------------------------
+!  Tan          12/02/06 - Creates this file
+!  Guenther A.  08/11/07 - Move from MEGAN v2.0 to MEGAN v2.02 with update on
+!                          Nitrogen gas.
+!  Guenther A.  26/07/2011-Extend EFs for 16 PFTs
+!  Jiang X.     05/07/12 - Update EF fractions with new values from Guenther
+!=======================================================================
+                                                                                   
+INTEGER,PARAMETER :: N_EFFS_SPC=150   ! Number of chemical species
+
+!     EFFS_NT_EG_TEMP EFFS_NT_DC_BORL EFFS_NT_EG_BORL EFFS_BT_EG_TROP EFFS_BT_EG_TEMP
+!     EFFS_BT_DC_TROP EFFS_BT_DC_TEMP EFFS_BT_DC_BORL EFSF_SB_EG_TEMP EFFS_SB_DC_TEMP
+!     EFFS_SB_DC_BORL EFFS_GS_C3_COLD EFFS_GS_C3_COOL EFFS_GS_C3_WARM EFFS_CROP EFFS_CORN
+
+
+REAL,DIMENSION(N_MGN_PFT,N_EFFS_SPC) :: XEFFS_ALL = RESHAPE( (/  &
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 0.006, 0.006, 0.006, 0.011, 0.011, 0.011, 0.011, 0.011, 0.009, 0.009, 0.009, 0.010, 0.010, 0.010, 0.010, 0.010,&
+ 0.055, 0.055, 0.055, 0.057, 0.057, 0.057, 0.057, 0.057, 0.046, 0.046, 0.046, 0.042, 0.042, 0.042, 0.042, 0.042,&
+ 0.017, 0.017, 0.017, 0.034, 0.034, 0.034, 0.034, 0.034, 0.028, 0.028, 0.028, 0.031, 0.031, 0.031, 0.031, 0.031,&
+ 0.055, 0.055, 0.055, 0.046, 0.046, 0.046, 0.046, 0.046, 0.046, 0.046, 0.046, 0.042, 0.042, 0.042, 0.042, 0.042,&
+ 0.033, 0.033, 0.033, 0.011, 0.011, 0.011, 0.011, 0.011, 0.037, 0.037, 0.037, 0.042, 0.042, 0.042, 0.042, 0.042,&
+ 0.055, 0.055, 0.055, 0.057, 0.057, 0.057, 0.057, 0.057, 0.046, 0.046, 0.046, 0.042, 0.042, 0.042, 0.042, 0.042,&
+ 0.055, 0.055, 0.055, 0.057, 0.057, 0.057, 0.057, 0.057, 0.046, 0.046, 0.046, 0.042, 0.042, 0.042, 0.042, 0.042,&
+ 0.067, 0.067, 0.067, 0.057, 0.057, 0.057, 0.057, 0.057, 0.055, 0.055, 0.055, 0.062, 0.062, 0.062, 0.062, 0.062,&
+ 0.160, 0.160, 0.160, 0.057, 0.057, 0.057, 0.057, 0.057, 0.092, 0.092, 0.092, 0.104, 0.104, 0.104, 0.104, 0.104,&
+ 0.248, 0.248, 0.248, 0.180, 0.180, 0.180, 0.180, 0.180, 0.186, 0.186, 0.186, 0.146, 0.146, 0.146, 0.146, 0.146,&
+ 0.005, 0.005, 0.005, 0.010, 0.010, 0.010, 0.010, 0.010, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008,&
+ 0.002, 0.002, 0.002, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.004, 0.004, 0.004, 0.004, 0.004,&
+ 0.006, 0.006, 0.006, 0.011, 0.011, 0.011, 0.011, 0.011, 0.009, 0.009, 0.009, 0.010, 0.010, 0.010, 0.010, 0.010,&
+ 0.022, 0.022, 0.022, 0.046, 0.046, 0.046, 0.046, 0.046, 0.037, 0.037, 0.037, 0.042, 0.042, 0.042, 0.042, 0.042,&
+ 0.006, 0.006, 0.006, 0.011, 0.011, 0.011, 0.011, 0.011, 0.009, 0.009, 0.009, 0.010, 0.010, 0.010, 0.010, 0.010,&
+ 0.002, 0.002, 0.002, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.004, 0.004, 0.004, 0.004, 0.004,&
+ 0.033, 0.033, 0.033, 0.034, 0.034, 0.034, 0.034, 0.034, 0.046, 0.046, 0.046, 0.042, 0.042, 0.042, 0.042, 0.042,&
+ 0.006, 0.006, 0.006, 0.011, 0.011, 0.011, 0.011, 0.011, 0.009, 0.009, 0.009, 0.010, 0.010, 0.010, 0.010, 0.010,&
+ 0.002, 0.002, 0.002, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.004, 0.004, 0.004, 0.004, 0.004,&
+ 0.028, 0.028, 0.028, 0.011, 0.011, 0.011, 0.011, 0.011, 0.046, 0.046, 0.046, 0.042, 0.042, 0.042, 0.042, 0.042,&
+ 0.006, 0.006, 0.006, 0.002, 0.002, 0.002, 0.002, 0.002, 0.009, 0.009, 0.009, 0.010, 0.010, 0.010, 0.010, 0.010,&
+ 0.011, 0.011, 0.011, 0.057, 0.057, 0.057, 0.057, 0.057, 0.037, 0.037, 0.037, 0.042, 0.042, 0.042, 0.042, 0.042,&
+ 0.004, 0.004, 0.004, 0.008, 0.008, 0.008, 0.008, 0.008, 0.006, 0.006, 0.006, 0.006, 0.006, 0.006, 0.006, 0.006,&
+ 0.060, 0.060, 0.060, 0.138, 0.138, 0.138, 0.138, 0.138, 0.111, 0.111, 0.111, 0.125, 0.125, 0.125, 0.125, 0.125,&
+ 0.003, 0.003, 0.003, 0.007, 0.007, 0.007, 0.007, 0.007, 0.006, 0.006, 0.006, 0.006, 0.006, 0.006, 0.006, 0.006,&
+ 0.017, 0.017, 0.017, 0.034, 0.034, 0.034, 0.034, 0.034, 0.028, 0.028, 0.028, 0.031, 0.031, 0.031, 0.031, 0.031,&
+ 0.003, 0.003, 0.003, 0.007, 0.007, 0.007, 0.007, 0.007, 0.006, 0.006, 0.006, 0.006, 0.006, 0.006, 0.006, 0.006,&
+ 0.017, 0.017, 0.017, 0.030, 0.030, 0.030, 0.030, 0.030, 0.024, 0.024, 0.024, 0.027, 0.027, 0.027, 0.027, 0.027,&
+ 0.001, 0.001, 0.001, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,&
+ 0.003, 0.003, 0.003, 0.001, 0.001, 0.001, 0.001, 0.001, 0.003, 0.003, 0.003, 0.002, 0.002, 0.002, 0.002, 0.002,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 0.016, 0.016, 0.016, 0.019, 0.019, 0.019, 0.019, 0.019, 0.019, 0.019, 0.019, 0.022, 0.022, 0.022, 0.022, 0.022,&
+ 0.006, 0.006, 0.006, 0.007, 0.007, 0.007, 0.007, 0.007, 0.008, 0.008, 0.008, 0.011, 0.011, 0.011, 0.011, 0.011,&
+ 0.144, 0.144, 0.144, 0.084, 0.084, 0.084, 0.084, 0.084, 0.096, 0.096, 0.096, 0.098, 0.098, 0.098, 0.098, 0.098,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.005, 0.005, 0.005, 0.005, 0.005,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.005, 0.005, 0.005, 0.005, 0.005,&
+ 0.120, 0.120, 0.120, 0.056, 0.056, 0.056, 0.056, 0.056, 0.067, 0.067, 0.067, 0.077, 0.077, 0.077, 0.077, 0.077,&
+ 0.024, 0.024, 0.024, 0.028, 0.028, 0.028, 0.028, 0.028, 0.029, 0.029, 0.029, 0.033, 0.033, 0.033, 0.033, 0.033,&
+ 0.012, 0.012, 0.012, 0.014, 0.014, 0.014, 0.014, 0.014, 0.014, 0.014, 0.014, 0.016, 0.016, 0.016, 0.016, 0.016,&
+ 0.008, 0.008, 0.008, 0.009, 0.009, 0.009, 0.009, 0.009, 0.010, 0.010, 0.010, 0.011, 0.011, 0.011, 0.011, 0.011,&
+ 0.005, 0.005, 0.005, 0.006, 0.006, 0.006, 0.006, 0.006, 0.006, 0.006, 0.006, 0.005, 0.005, 0.005, 0.005, 0.005,&
+ 
+ 0.008, 0.008, 0.008, 0.009, 0.009, 0.009, 0.009, 0.009, 0.010, 0.010, 0.010, 0.011, 0.011, 0.011, 0.011, 0.011,&
+ 0.012, 0.012, 0.012, 0.014, 0.014, 0.014, 0.014, 0.014, 0.014, 0.014, 0.014, 0.016, 0.016, 0.016, 0.016, 0.016,&
+ 0.008, 0.008, 0.008, 0.009, 0.009, 0.009, 0.009, 0.009, 0.010, 0.010, 0.010, 0.011, 0.011, 0.011, 0.011, 0.011,&
+ 0.016, 0.016, 0.016, 0.019, 0.019, 0.019, 0.019, 0.019, 0.019, 0.019, 0.019, 0.022, 0.022, 0.022, 0.022, 0.022,&
+ 0.234, 0.234, 0.234, 0.276, 0.276, 0.276, 0.276, 0.276, 0.285, 0.285, 0.285, 0.224, 0.224, 0.224, 0.224, 0.224,&
+ 0.008, 0.008, 0.008, 0.009, 0.009, 0.009, 0.009, 0.009, 0.010, 0.010, 0.010, 0.011, 0.011, 0.011, 0.011, 0.011,&
+ 0.024, 0.024, 0.024, 0.028, 0.028, 0.028, 0.028, 0.028, 0.029, 0.029, 0.029, 0.033, 0.033, 0.033, 0.033, 0.033,&
+ 0.004, 0.004, 0.004, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005,&
+ 0.199, 0.199, 0.199, 0.139, 0.139, 0.139, 0.139, 0.139, 0.172, 0.172, 0.172, 0.164, 0.164, 0.164, 0.164, 0.164,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.005, 0.005, 0.005, 0.005, 0.005,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.005, 0.005, 0.005, 0.005, 0.005,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.005, 0.005, 0.005, 0.005, 0.005,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.005, 0.005, 0.005, 0.005, 0.005,&
+ 0.012, 0.012, 0.012, 0.014, 0.014, 0.014, 0.014, 0.014, 0.014, 0.014, 0.014, 0.016, 0.016, 0.016, 0.016, 0.016,&
+ 0.040, 0.040, 0.040, 0.046, 0.046, 0.046, 0.046, 0.046, 0.048, 0.048, 0.048, 0.055, 0.055, 0.055, 0.055, 0.055,&
+ 0.080, 0.080, 0.080, 0.186, 0.186, 0.186, 0.186, 0.186, 0.115, 0.115, 0.115, 0.109, 0.109, 0.109, 0.109, 0.109,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.005, 0.005, 0.005, 0.005, 0.005,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.005, 0.005, 0.005, 0.005, 0.005,&
+ 0.002, 0.002, 0.002, 0.005, 0.005, 0.005, 0.005, 0.005, 0.002, 0.002, 0.002, 0.005, 0.005, 0.005, 0.005, 0.005,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.005, 0.005, 0.005, 0.005, 0.005,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005,&
+ 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,&
+ 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 0.400, 0.400, 0.400, 0.400, 0.400, 0.400, 0.400, 0.400, 0.400, 0.400, 0.400, 0.250, 0.250, 0.250, 0.250, 0.250,&
+ 0.400, 0.400, 0.400, 0.400, 0.400, 0.400, 0.400, 0.400, 0.400, 0.400, 0.400, 0.250, 0.250, 0.250, 0.250, 0.250,&
+ 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.150, 0.150, 0.150, 0.150, 0.150,&
+ 0.080, 0.080, 0.080, 0.080, 0.080, 0.080, 0.080, 0.080, 0.080, 0.080, 0.080, 0.200, 0.200, 0.200, 0.200, 0.200,&
+ 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.150, 0.150, 0.150, 0.150, 0.150,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,&
+ 
+ 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030,&
+ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,&
+ 0.240, 0.240, 0.240, 0.240, 0.240, 0.240, 0.240, 0.240, 0.240, 0.240, 0.240, 0.240, 0.240, 0.240, 0.240, 0.240,&
+ 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010,&
+ 0.580, 0.580, 0.580, 0.580, 0.580, 0.580, 0.580, 0.580, 0.580, 0.580, 0.580, 0.580, 0.580, 0.580, 0.580, 0.580,&
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.480, 0.480, 0.480, 0.480, 0.480, 0.480, 0.480, 0.480, 0.480, 0.480, 0.480, 0.480, 0.480, 0.480, 0.480, 0.480,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,&
+ 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,&
+ 0.050, 0.050, 0.050, 0.050, 0.050, 0.050, 0.050, 0.050, 0.050, 0.050, 0.050, 0.050, 0.050, 0.050, 0.050, 0.050,&
+ 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030,&
+ 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,&
+ 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010,&
+ 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010,&
+ 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100,&
+ 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060,&
+ 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060,&
+ 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060,&
+ 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060, 0.060,&
+ 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.003, 0.003, 0.003, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,&
+ 0.003, 0.003, 0.003, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.003, 0.003, 0.003, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.003, 0.003, 0.003, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,&
+ 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001 /),&
+SHAPE=(/N_MGN_PFT,N_EFFS_SPC/),  ORDER=(/1,2/) )
+
+
+!****************************************************************************************************************
+!****************************************************************************************************************
+
+INTEGER, PARAMETER :: N_CB05_SPC=19
+!
+CHARACTER(LEN=4), DIMENSION(N_CB05_SPC) :: CMECH_SPC_CB05=(/& ! Mechanism species name
+'ISOP','TERP','PAR ','XYL ','OLE ','NR  ','MEOH','CH4 ','NH3 ','NO  ',&
+'ALD2','ETOH','FORM','ALDX','TOL ','IOLE','CO  ','ETHA','ETH '/)
+
+
+REAL, DIMENSION(N_CB05_SPC) :: XMECH_MWT_CB05=(/&  ! Mechanism species molecular weight
+ 80.,160., 16.,128., 32., 16., 16., 16., 17., 46., 32., 32., 16., 32.,112., 64.,&
+ 28., 32., 28./)
+
+INTEGER, PARAMETER :: N_CB05=204
+
+CHARACTER(LEN=16), DIMENSION(N_CB05) :: CSPMH_NAM_CB05=(/&  ! speciated species name
+'isoprene       ','myrcene        ','sabinene       ','limonene       ','carene_3       ','ocimene_t_b    ',&
+'pinene_b       ','pinene_a       ','2met_styrene   ','2met_styrene   ','2met_styrene   ','cymene_p       ',&
+'cymene_p       ','cymene_o       ','cymene_o       ','phellandrene_a ','thujene_a      ','terpinene_a    ',&
+'terpinene_g    ','terpinolene    ','phellandrene_b ','camphene       ','bornene        ','fenchene_a     ',&
+'ocimene_al     ','ocimene_c_b    ','tricyclene     ','tricyclene     ','estragole      ','camphor        ',&
+'camphor        ','fenchone       ','fenchone       ','piperitone     ','thujone_a      ','thujone_a      ',&
+'thujone_b      ','thujone_b      ','cineole_1_8    ','cineole_1_8    ','borneol        ','borneol        ',&
+'linalool       ','terpineol_4    ','terpineol_a    ','linalool_OXD_c ','linalool_OXD_t ','ionone_b       ',&
+'ionone_b       ','bornyl_ACT     ','bornyl_ACT     ','farnescene_a   ','caryophyllene_b','acoradiene     ',&
+'aromadendrene  ','bergamotene_a  ','bergamotene_b  ','bisabolene_a   ','bisabolene_b   ','bourbonene_b   ',&
+'cadinene_d     ','cadinene_g     ','cedrene_a      ','copaene_a      ','cubebene_a     ','cubebene_b     ',&
+'elemene_b      ','farnescene_b   ','germacrene_B   ','germacrene_D   ','gurjunene_b    ','humulene_a     ',&
+'humulene_g     ','isolongifolene ','longifolene    ','longipinene    ','muurolene_a    ','muurolene_g    ',&
+'selinene_b     ','selinene_d     ','nerolidol_c    ','nerolidol_t    ','cedrol         ','cedrol         ',&
+'MBO_2m3e2ol    ','MBO_2m3e2ol    ','methanol       ','acetone        ','methane        ','ammonia        ',&
+'nitric_OXD     ','acetaldehyde   ','ethanol        ','formic_acid    ','formaldehyde   ','acetic_acid    ',&
+'acetic_acid    ','MBO_3m2e1ol    ','MBO_3m2e1ol    ','MBO_3m3e1ol    ','MBO_3m3e1ol    ','benzaldehyde   ',&
+'butanone_2     ','decanal        ','decanal        ','dodecene_1     ','dodecene_1     ','geranyl_acetone',&
+'geranyl_acetone','heptanal       ','heptanal       ','heptane        ','hexane         ','met_benzoate   ',&
+'met_benzoate   ','met_heptenone  ','met_heptenone  ','neryl_acetone  ','neryl_acetone  ','neryl_acetone  ',&
+'nonanal        ','nonanal        ','nonenal        ','nonenal        ','nonenal        ','octanal        ',&
+'octanal        ','octanol        ','octenol_1e3ol  ','octenol_1e3ol  ','oxopentanal    ','oxopentanal    ',&
+'pentane        ','phenyl_CCO     ','phenyl_CCO     ','pyruvic_acid   ','pyruvic_acid   ','terpinyl_ACT_a ',&
+'terpinyl_ACT_a ','tetradecene_1  ','tetradecene_1  ','toluene        ','carbon_monoxide','butene         ',&
+'butene         ','ethane         ','ethene         ','propane        ','propane        ','propene        ',&
+'propene        ','diallyl_2s     ','diallyl_2s     ','2met_2s        ','2met_s         ','met_chloride   ',&
+'met_bromide    ','met_iodide     ','met_mercaptan  ','met_propenyl_2s','met_propenyl_2s','PPPP_2s        ',&
+'PPPP_2s        ','2met_nonatriene','met_salicylate ','met_salicylate ','indole         ','indole         ',&
+'jasmone        ','jasmone        ','met_jasmonate  ','met_jasmonate  ','3met_3DCTT     ','hexanal        ',&
+'hexanal        ','hexanol_1      ','hexenal_c3     ','hexenal_c3     ','hexenal_t2     ','hexenal_t2     ',&
+'hexenol_c3     ','hexenol_c3     ','hexenyl_ACT_c3 ','hexenyl_ACT_c3 ','hexenyl_ACT_c3 ','homosalate     ',&
+'homosalate     ','Ehsalate       ','Ehsalate       ','pentanal       ','pentanal       ','heptanone      ',&
+'anisole        ','verbenene      ','benzyl-acetate ','benzyl-acetate ','benzyl-acetate ','myrtenal       ',&
+'benzyl-alcohol ','meta-cymenene  ','meta-cymenene  ','ipsenol        ','Napthalene     ','Napthalene     '/)
+!
+INTEGER, DIMENSION(N_CB05) :: NSPMH_MAP_CB05=(/&            ! speciated species name
+  1,  2,  3,  4,  5,  6,  7,  8,  9,  9,  9, 10, 10, 11, 11, 12,&
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 23, 24, 25, 25, 26,&
+ 26, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 33, 34, 35, 36, 37,& 
+ 37, 38, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,&
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,&
+ 68, 69, 70, 70, 71, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82,&
+ 82, 83, 83, 84, 84, 85, 86, 87, 87, 88, 88, 89, 89, 90, 90, 91,&
+ 92, 93, 93, 94, 94, 95, 95, 95, 96, 96, 97, 97, 97, 98, 98, 99,&
+100,100,101,101,102,103,103,104,104,105,105,106,106,107,108,109,&
+109,110,111,113,113,114,114,117,117,118,119,120,121,122,124,125,&
+125,126,126,127,128,128,129,129,130,130,131,131,132,133,133,134,&
+135,135,136,136,137,137,138,138,138,139,139,140,140,141,141,142,&
+143,144,145,145,145,146,147,148,148,149,150,150/)
+!
+CHARACTER(LEN=4), DIMENSION(N_CB05) :: CMECH_NAM_CB05=(/&  ! mechanism species
+'ISOP','TERP','TERP','TERP','TERP','TERP','TERP','TERP','PAR ','XYL ','OLE ','PAR ','XYL ','PAR ','XYL ','TERP',&
+'TERP','TERP','TERP','TERP','TERP','TERP','TERP','TERP','TERP','TERP','PAR ','NR  ','TERP','PAR ','NR  ','PAR ',&
+'NR  ','TERP','PAR ','NR  ','PAR ','NR  ','PAR ','NR  ','PAR ','NR  ','TERP','TERP','TERP','TERP','TERP','TERP',&
+'NR  ','PAR ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ',&
+'NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ',&
+'NR  ','NR  ','PAR ','NR  ','OLE ','PAR ','MEOH','PAR ','CH4 ','NH3 ','NO  ','ALD2','ETOH','NR  ','FORM','PAR ',&
+'NR  ','ALDX','PAR ','FORM','PAR ','TOL ','PAR ','ALDX','PAR ','OLE ','PAR ','TERP','NR  ','ALDX','PAR ','PAR ',&
+'PAR ','TOL ','NR  ','PAR ','ALDX','IOLE','PAR ','NR  ','ALDX','PAR ','PAR ','IOLE','ALDX','ALDX','PAR ','PAR ',&
+'PAR ','OLE ','PAR ','ALDX','PAR ','TOL ','ALDX','FORM','ALDX','TERP','NR  ','PAR ','OLE ','TOL ','CO  ','OLE ',&
+'PAR ','ETHA','ETH ','PAR ','NR  ','OLE ','PAR ','PAR ','OLE ','PAR ','PAR ','NR  ','NR  ','NR  ','PAR ','PAR ',&
+'OLE ','PAR ','OLE ','TERP','TOL ','NR  ','TOL ','NR  ','TERP','NR  ','TERP','NR  ','NR  ','ALDX','PAR ','PAR ',&
+'IOLE','ALDX','IOLE','ALDX','PAR ','IOLE','PAR ','IOLE','NR  ','TERP','NR  ','TERP','NR  ','ALDX','PAR ','PAR ',&
+'TOL ','TERP','TOL ','PAR ','NR  ','TERP','TOL ','XYL ','PAR ','TERP','XYL ','PAR '/)
+!
+INTEGER, DIMENSION(N_CB05) :: NMECH_MAP_CB05=(/&     ! mechanism species mapped
+ 1, 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, 3, 4, 3, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 6, 2, 3, 6, 3,&
+ 6, 2, 3, 6, 3, 6, 3, 6, 3, 6, 2, 2, 2, 2, 2, 2, 6, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,&
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 6, 5, 3, 7, 3, 8, 9,10,11,12, 6,13, 3,&
+ 6,14, 3,13, 3,15, 3,14, 3, 5, 3, 2, 6,14, 3, 3, 3,15, 6, 3,14,16, 3, 6,14, 3, 3,16,14,14, 3, 3,&
+ 3, 5, 3,14, 3,15,14,13,14, 2, 6, 3, 5,15,17, 5, 3,18,19, 3, 6, 5, 3, 3, 5, 3, 3, 6, 6, 6, 3, 3,&
+ 5, 3, 5, 2,15, 6,15, 6, 2, 6, 2, 6, 6,14, 3, 3,16,14,16,14, 3,16, 3,16, 6, 2, 6, 2, 6,14, 3, 3,&
+15, 2,15, 3, 6, 2,15, 4, 3, 2, 4, 3/)
+
+!
+REAL, DIMENSION(N_CB05)  :: XCONV_FAC_CB05=(/&   ! conversion factor
+  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1., 0.5,  2.,  1.,  2.,  1.,  1.,&
+  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  9.,  1.,  1.,  8.,  2.,  8.,&
+  2.,  1.,  9.,  1.,  9.,  1.,  9.,  1.,  8.,  2.,  1.,  1.,  1.,  1.,  1.,  1.,&
+  3.,  6.,  6., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15.,&
+ 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15.,&
+ 15., 15., 13.,  2.,  1.,  3.,  1.,  3.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,&
+  1.,  1.,  3.,  1.,  4.,  1.,  4.,  1.,  8.,  1., 10.,  1.,  3.,  1.,  5.,  7.,&
+  6.,  1.,  1.,  6.,  1.,  1.,  8.,  1.,  1.,  7.,  3.,  1.,  1.,  1.,  6.,  8.,&
+  6.,  1.,  3.,  1.,  5.,  1., 0.5,  1.,  1.,  1.,  2., 12.,  1.,  1.,  1.,  1.,&
+  2.,  1.,  1., 1.5, 1.5,  1.,  1.,  2.,  2.,  2.,  2.,  1.,  1.,  1.,  1.,  2.,&
+  1.,  4.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  3., 16.,  1.,  4.,  6.,&
+  1.,  1.,  1.,  1.,  2.,  1.,  3.,  1.,  1.,  1.,  3.,  1.,  3.,  1.,  3.,  7.,&
+  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  2.,  1.,  1.,  2./)
+
+
+!****************************************************************************************************************
+!****************************************************************************************************************
+
+INTEGER, PARAMETER :: N_CB6_SPC=24
+
+CHARACTER(LEN=4), DIMENSION(N_CB6_SPC) :: CMECH_SPC_CB6=(/&  ! Mechanism species name
+'ISOP','TERP','PAR ','XYL ','OLE ','NR  ','MEOH','CH4 ','NH3 ','NO  ',&
+'ALD2','ETOH','FORM','ALDX','TOL ','IOLE','CO  ','ETHA','ETH ','ETHY',&
+'PRPA','BENZ','ACET','KET '/)
+
+REAL, DIMENSION(N_CB6_SPC) :: XMECH_MWT_CB6=(/&  ! Mechanism species molecular weight
+ 80.,160., 16.,128., 32., 16., 16., 16.,17., 46., 32., 32., 16., 32.,112., 64.,&
+ 28., 32., 28., 26., 44., 78., 58., 58./)
+
+
+INTEGER, PARAMETER :: N_CB6=210
+
+CHARACTER(LEN=15), DIMENSION(N_CB6) :: CSPMH_NAM_CB6=(/&
+'isoprene       ','myrcene        ','sabinene       ','limonene       ','carene_3       ','ocimene_t_b    ',&
+'pinene_b       ','pinene_a       ','2met_styrene   ','2met_styrene   ','2met_styrene   ','cymene_p       ',&
+'cymene_p       ','cymene_o       ','cymene_o       ','phellandrene_a ','thujene_a      ','terpinene_a    ',&
+'terpinene_g    ','terpinolene    ','phellandrene_b ','camphene       ','bornene        ','fenchene_a     ',&
+'ocimene_al     ','ocimene_c_b    ','tricyclene     ','tricyclene     ','estragole      ','camphor        ',&
+'camphor        ','fenchone       ','fenchone       ','piperitone     ','thujone_a      ','thujone_a      ',&
+'thujone_b      ','thujone_b      ','cineole_1_8    ','cineole_1_8    ','borneol        ','borneol        ',&
+'linalool       ','terpineol_4    ','terpineol_a    ','linalool_OXD_c ','linalool_OXD_t ','ionone_b       ',&
+'ionone_b       ','bornyl_ACT     ','bornyl_ACT     ','farnescene_a   ','caryophyllene_b','acoradiene     ',&
+'aromadendrene  ','bergamotene_a  ','bergamotene_b  ','bisabolene_a   ','bisabolene_b   ','bourbonene_b   ',&
+'cadinene_d     ','cadinene_g     ','cedrene_a      ','copaene_a      ','cubebene_a     ','cubebene_b     ',&
+'elemene_b      ','farnescene_b   ','germacrene_B   ','germacrene_D   ','gurjunene_b    ','humulene_a     ',&
+'humulene_g     ','isolongifolene ','longifolene    ','longipinene    ','muurolene_a    ','muurolene_g    ',&
+'selinene_b     ','selinene_d     ','nerolidol_c    ','nerolidol_t    ','cedrol         ','cedrol         ',&
+'MBO_2m3e2ol    ','MBO_2m3e2ol    ','methanol       ','acetone        ','methane        ','ammonia        ',&
+'nitric_OXD     ','acetaldehyde   ','ethanol        ','formic_acid    ','formaldehyde   ','acetic_acid    ',&
+'acetic_acid    ','MBO_3m2e1ol    ','MBO_3m2e1ol    ','MBO_3m3e1ol    ','MBO_3m3e1ol    ','benzaldehyde   ',&
+'butanone_2     ','decanal        ','decanal        ','dodecene_1     ','dodecene_1     ','geranyl_acetone',&
+'geranyl_acetone','heptanal       ','heptanal       ','heptane        ','hexane         ','met_benzoate   ',&
+'met_benzoate   ','met_heptenone  ','met_heptenone  ','neryl_acetone  ','neryl_acetone  ','neryl_acetone  ',&
+'nonanal        ','nonanal        ','nonenal        ','nonenal        ','nonenal        ','octanal        ',&
+'octanal        ','octanol        ','octenol_1e3ol  ','octenol_1e3ol  ','oxopentanal    ','oxopentanal    ',&
+'pentane        ','phenyl_CCO     ','phenyl_CCO     ','pyruvic_acid   ','pyruvic_acid   ','terpinyl_ACT_a ',&
+'terpinyl_ACT_a ','tetradecene_1  ','tetradecene_1  ','toluene        ','carbon_monoxide','butene         ',&
+'butene         ','ethane         ','ethene         ','propane        ','propene        ','propene        ',&
+'diallyl_2s     ','diallyl_2s     ','2met_2s        ','2met_s         ','met_chloride   ','met_bromide    ',&
+'met_iodide     ','met_mercaptan  ','met_propenyl_2s','met_propenyl_2s','PPPP_2s        ','PPPP_2s        ',&
+'2met_nonatriene','met_salicylate ','met_salicylate ','indole         ','indole         ','jasmone        ',&
+'jasmone        ','met_jasmonate  ','met_jasmonate  ','3met_3DCTT     ','hexanal        ','hexanal        ',&
+'hexanol_1      ','hexenal_c3     ','hexenal_c3     ','hexenal_t2     ','hexenal_t2     ','hexenol_c3     ',&
+'hexenol_c3     ','hexenyl_ACT_c3 ','hexenyl_ACT_c3 ','hexenyl_ACT_c3 ','homosalate     ','homosalate     ',&
+'Ehsalate       ','Ehsalate       ','pentanal       ','pentanal       ','heptanone      ','anisole        ',&
+'verbenene      ','benzyl-acetate ','benzyl-acetate ','benzyl-acetate ','myrtenal       ','benzyl-alcohol ',&
+'meta-cymenene  ','meta-cymenene  ','ipsenol        ','Napthalene     ','Napthalene     ','fenchone       ',&
+'thujone_a      ','thujone_b      ','butanone_2     ','met_heptenone  ','neryl_acetone  ','heptanone      '/)
+
+INTEGER, DIMENSION(N_CB6) :: NSPMH_MAP_CB6=(/&    
+  1,  2,  3,  4,  5,  6,  7,  8,  9,  9,  9, 10, 10, 11, 11, 12,&
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 23, 24, 25, 25, 26,&
+ 26, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 33, 34, 35, 36, 37,&
+ 37, 38, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,&
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,&
+ 68, 69, 70, 70, 71, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82,&
+ 82, 83, 83, 84, 84, 85, 86, 87, 87, 88, 88, 89, 89, 90, 90, 91,&
+ 92, 93, 93, 94, 94, 95, 95, 95, 96, 96, 97, 97, 97, 98, 98, 99,&
+100,100,101,101,102,103,103,104,104,105,105,106,106,107,108,109,&
+109,110,111,113,114,114,117,117,118,119,120,121,122,124,125,125,&
+126,126,127,128,128,129,129,130,130,131,131,132,133,133,134,135,&
+135,136,136,137,137,138,138,138,139,139,140,140,141,141,142,143,&
+144,145,145,145,146,147,148,148,149,150,150, 26, 28, 29, 86, 94,&
+ 95,142/)
+
+CHARACTER(LEN=4), DIMENSION(N_CB6) :: CMECH_NAM_CB6=(/&
+'ISOP','TERP','TERP','TERP','TERP','TERP','TERP','TERP','PAR ','XYL ','OLE ','PAR ','XYL ','PAR ','XYL ','TERP',&
+'TERP','TERP','TERP','TERP','TERP','TERP','TERP','TERP','TERP','TERP','PAR ','NR  ','TERP','PAR ','NR  ','PAR ',&
+'NR  ','TERP','PAR ','NR  ','PAR ','NR  ','PAR ','NR  ','PAR ','NR  ','TERP','TERP','TERP','TERP','TERP','TERP',&
+'NR  ','PAR ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ',&
+'NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ','NR  ',&
+'NR  ','NR  ','PAR ','NR  ','OLE ','PAR ','MEOH','ACET','CH4 ','NH3 ','NO  ','ALD2','ETOH','NR  ','FORM','PAR ',&
+'NR  ','ALDX','PAR ','FORM','PAR ','TOL ','PAR ','ALDX','PAR ','OLE ','PAR ','TERP','NR  ','ALDX','PAR ','PAR ',&
+'PAR ','TOL ','NR  ','PAR ','ALDX','IOLE','PAR ','NR  ','ALDX','PAR ','PAR ','IOLE','ALDX','ALDX','PAR ','PAR ',&
+'PAR ','OLE ','PAR ','ALDX','PAR ','TOL ','ALDX','FORM','ALDX','TERP','NR  ','PAR ','OLE ','TOL ','CO  ','OLE ',&
+'PAR ','ETHA','ETH ','PRPA','OLE ','PAR ','PAR ','OLE ','PAR ','PAR ','NR  ','NR  ','NR  ','PAR ','PAR ','OLE ',&
+'PAR ','OLE ','TERP','TOL ','NR  ','TOL ','NR  ','TERP','NR  ','TERP','NR  ','NR  ','ALDX','PAR ','PAR ','IOLE',&
+'ALDX','IOLE','ALDX','PAR ','IOLE','PAR ','IOLE','NR  ','TERP','NR  ','TERP','NR  ','ALDX','PAR ','PAR ','TOL ',&
+'TERP','TOL ','PAR ','NR  ','TERP','TOL ','XYL ','PAR ','TERP','XYL ','PAR ','KET ','KET ','KET ','KET ','KET ',&
+'KET ','KET '/)
+
+INTEGER, DIMENSION(N_CB6) :: NMECH_MAP_CB6=(/&
+ 1, 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, 3, 4, 3, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 6, 2, 3, 6, 3,&
+ 6, 2, 3, 6, 3, 6, 3, 6, 3, 6, 2, 2, 2, 2, 2, 2, 6, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,&
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 6, 5, 3, 7,23, 8, 9,10,11,12, 6,13, 3,&
+ 6,14, 3,13, 3,15, 3,14, 3, 5, 3, 2, 6,14, 3, 3, 3,15, 6, 3,14,16, 3, 6,14, 3, 3,16,14,14, 3, 3,&
+ 3, 5, 3,14, 3,15,14,13,14, 2, 6, 3, 5,15,17, 5, 3,18,19,21, 5, 3, 3, 5, 3, 3, 6, 6, 6, 3, 3, 5,&
+ 3, 5, 2,15, 6,15, 6, 2, 6, 2, 6, 6,14, 3, 3,16,14,16,14, 3,16, 3,16, 6, 2, 6, 2, 6,14, 3, 3,15,&
+ 2,15, 3, 6, 2,15, 4, 3, 2, 4, 3,24,24,24,24,24,24,24/)
+
+REAL, DIMENSION(N_CB6)  :: XCONV_FAC_CB6=(/&
+  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1., 0.5,  2.,  1.,  2.,  1.,  1.,&
+  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  9.,  1.,  1.,  8.,  2.,  7.,&
+  2.,  1.,  8.,  1.,  8.,  1.,  9.,  1.,  8.,  2.,  1.,  1.,  1.,  1.,  1.,  1.,&
+  3.,  6.,  6., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15.,&
+ 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15.,&
+ 15., 15., 13.,  2.,  1.,  3.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,&
+  1.,  1.,  3.,  1.,  4.,  1.,  3.,  1.,  8.,  1., 10.,  1.,  3.,  1.,  5.,  7.,&
+  6.,  1.,  1.,  5.,  1.,  1.,  7.,  1.,  1.,  7.,  3.,  1.,  1.,  1.,  6.,  8.,&
+  6.,  1.,  3.,  1.,  5.,  1., 0.5,  1.,  1.,  1.,  2., 12.,  1.,  1.,  1.,  1.,&
+  2.,  1.,  1.,  1.,  1.,  1.,  2.,  2.,  2.,  2.,  1.,  1.,  1.,  1.,  2.,  1.,&
+  4.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  3., 16.,  1.,  4.,  6.,  1.,&
+  1.,  1.,  1.,  2.,  1.,  3.,  1.,  1.,  1.,  3.,  1.,  3.,  1.,  3.,  6.,  1.,&
+  1.,  1.,  1.,  1.,  1.,  1.,  1.,  2.,  1.,  1.,  2.,  1.,  1.,  1.,  1.,  1.,&
+  1.,  1./)
+
+
+!****************************************************************************************************************
+!****************************************************************************************************************
+
+INTEGER, PARAMETER :: N_SAPRCII_SPC = 31  ! Number of mechanism species
+
+CHARACTER(LEN=8), PARAMETER, DIMENSION(N_SAPRCII_SPC) :: CMECH_SPC_SAPRCII=(/&  ! Mechanism species name
+'ISOPRENE','TRP1    ','BCARL   ','AHUMUL  ','SSQT    ','MEOH    ','ACET    ','CH4     ',&
+'NO      ','NO2     ','NH3     ','CCHO    ','HCOOH   ','HCHO    ','CCO_OH  ','BALD    ',&
+'MEK     ','RCO_OH  ','CO      ','ETHENE  ','ALK1    ','ALK2    ','ALK3    ','ALK4    ',&
+'ALK5    ','ARO1    ','ARO2    ','OLE1    ','OLE2    ','RCHO    ','NONR    '/)
+
+REAL, PARAMETER, DIMENSION(N_SAPRCII_SPC) :: XMECH_MWT_SAPRCII=(/&  ! Mechanism species mol. wt.
+ 68.0,136.0,204.0,204.0,204.0, 32.0, 58.0, 16.0, 30.0,44.01, 17.0, 44.0, 46.0, 30.0, 60.0,106.0,&
+ 72.0, 74.0, 28.0, 28.0, 30.1, 36.7, 58.6, 77.6,118.9, 98.6,118.7, 72.3, 75.8, 58.0,  1.0/)
+
+
+INTEGER, PARAMETER :: N_SAPRCII = 150        ! Number of map species
+
+CHARACTER(LEN=17), PARAMETER, DIMENSION(N_SAPRCII) :: CSPMH_NAM_SAPRCII=(/&   ! speciated species name
+'isoprene         ','myrcene          ','sabinene         ','limonene         ','carene_3         ','ocimene_t_b      ',&
+'pinene_b         ','pinene_a         ','A_2met_styrene   ','cymene_p         ','cymene_o         ','phellandrene_a   ',&
+'thujene_a        ','terpinene_a      ','terpinene_g      ','terpinolene      ','phellandrene_b   ','camphene         ',&
+'bornene          ','fenchene_a       ','ocimene_al       ','ocimene_c_b      ','tricyclene       ','estragole        ',&
+'camphor          ','fenchone         ','piperitone       ','thujone_a        ','thujone_b        ','cineole_1_8      ',&
+'borneol          ','linalool         ','terpineol_4      ','terpineol_a      ','linalool_OXD_c   ','linalool_OXD_t   ',&
+'ionone_b         ','bornyl_ACT       ','farnescene_a     ','caryophyllene_b  ','acoradiene       ','aromadendrene    ',&
+'bergamotene_a    ','bergamotene_b    ','bisabolene_a     ','bisabolene_b     ','bourbonene_b     ','cadinene_d       ',&
+'cadinene_g       ','cedrene_a        ','copaene_a        ','cubebene_a       ','cubebene_b       ','elemene_b        ',&
+'farnescene_b     ','germacrene_B     ','germacrene_D     ','gurjunene_b      ','humulene_a       ','humulene_g       ',&
+'isolongifolene   ','longifolene      ','longipinene      ','muurolene_a      ','muurolene_g      ','selinene_b       ',&
+'selinene_d       ','nerolidol_c      ','nerolidol_t      ','cedrol           ','MBO_2m3e2ol      ','methanol         ',&
+'acetone          ','methane          ','ammonia          ','nitrous_OXD      ','nitric_OXD       ','acetaldehyde     ',&
+'ethanol          ','formic_acid      ','formaldehyde     ','acetic_acid      ','MBO_3m2e1ol      ','MBO_3m3e1ol      ',&
+'benzaldehyde     ','butanone_2       ','decanal          ','dodecene_1       ','geranyl_acetone  ','heptanal         ',&
+'heptane          ','hexane           ','met_benzoate     ','met_heptenone    ','neryl_acetone    ','nonanal          ',&
+'nonenal          ','octanal          ','octanol          ','octenol_1e3ol    ','oxopentanal      ','pentane          ',&
+'phenyl_CCO       ','pyruvic_acid     ','terpinyl_ACT_a   ','tetradecene_1    ','toluene          ','carbon_monoxide  ',&
+'butene           ','ethane           ','ethene           ','hydrogen_cyanide ','propane          ','propene          ',&
+'carbon_2s        ','carbonyl_s       ','diallyl_2s       ','A_2met_2s        ','A_2met_s         ','met_chloride     ',&
+'met_bromide      ','met_iodide       ','hydrogen_s       ','met_mercaptan    ','met_propenyl_2s  ','PPPP_2s          ',&
+'A_2met_nonatriene','met_salicylate   ','indole           ','jasmone          ','met_jasmonate    ','A_3met_3DCTT     ',&
+'hexanal          ','hexanol_1        ','hexenal_c3       ','hexenal_t2       ','hexenol_c3       ','hexenyl_ACT_c3   ',&
+'homosalate       ','Ehsalate         ','pentanal         ','heptanone        ','anisole          ','verbenene        ',&
+'benzyl-acetate   ','myrtenal         ','benzyl-alcohol   ','meta-cymenene    ','ipsenol          ','Napthalene       '/)
+
+INTEGER, PARAMETER, DIMENSION(N_SAPRCII) :: NSPMH_MAP_SAPRCII=(/&   ! speciated species name
+  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,&
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,&
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,&
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,&
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,&
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,&
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,&
+113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,&
+129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,&
+145,146,147,148,149,150/)
+
+CHARACTER(LEN=8), PARAMETER, DIMENSION(N_SAPRCII) :: CMECH_NAM_SAPRCII=(/&   ! mechanism species
+'ISOPRENE','TRP1g   ','TRP1g   ','TRP1g   ','TRP1g   ','TRP1g   ','TRP1g   ','TRP1g   ',&
+'OLE2g   ','ARO2g   ','ARO2g   ','TRP1g   ','TRP1g   ','TRP1g   ','TRP1g   ','TRP1g   ',&
+'TRP1g   ','TRP1g   ','TRP1g   ','TRP1g   ','TRP1g   ','TRP1g   ','ALK5g   ','TRP1g   ',&
+'TRP1g   ','ALK5g   ','TRP1g   ','ALK5g   ','ALK5g   ','ALK5g   ','ALK5g   ','TRP1g   ',&
+'TRP1g   ','TRP1g   ','TRP1g   ','TRP1g   ','SSQTg   ','ALK5g   ','AHUMULg ','BCARLg  ',&
+'SSQTg   ','SSQTg   ','SSQTg   ','SSQTg   ','AHUMULg ','SSQTg   ','SSQTg   ','SSQTg   ',&
+'SSQTg   ','SSQTg   ','SSQTg   ','SSQTg   ','SSQTg   ','SSQTg   ','AHUMULg ','AHUMULg ',&
+'SSQTg   ','SSQTg   ','AHUMULg ','AHUMULg ','SSQTg   ','SSQTg   ','SSQTg   ','SSQTg   ',&
+'SSQTg   ','SSQTg   ','SSQTg   ','SSQTg   ','SSQTg   ','ALK5g   ','ISOPRENE','MEOHg   ',&
+'ACETg   ','CH4g    ','NH3g    ','NONRg   ','NOg     ','CCHOg   ','ALK3g   ','HCOOHg  ',&
+'HCHOg   ','CCO_OHg ','ISOPRENE','ISOPRENE','BALDg   ','MEKg    ','RCHOg   ','OLE1g   ',&
+'SSQTg   ','RCHOg   ','ALK5g   ','ALK4g   ','ARO1g   ','OLE2g   ','OLE2g   ','RCHOg   ',&
+'OLE1g   ','RCHOg   ','ALK5g   ','OLE1g   ','RCHOg   ','ALK4g   ','ARO1g   ','RCO_OHg ',&
+'TRP1g   ','OLE1g   ','ARO1g   ','COg     ','OLE1g   ','ALK1g   ','ETHENEg ','NONRg   ',&
+'ALK2g   ','OLE1g   ','NONRg   ','NONRg   ','OLE1g   ','ALK5g   ','ALK4g   ','NONRg   ',&
+'NONRg   ','NONRg   ','NONRg   ','ALK5g   ','OLE1g   ','OLE1g   ','TRP1g   ','ARO1g   ',&
+'ARO2g   ','TRP1g   ','SSQTg   ','AHUMULg ','RCHOg   ','ALK5g   ','OLE2g   ','OLE2g   ',&
+'OLE2g   ','OLE2g   ','SSQTg   ','SSQTg   ','RCHOg   ','OLE2g   ','BALD    ','ARO2g   ',&
+'BALDg   ','TRP1g   ','BALDg   ','ARO2g   ','TRP1g   ','ARO2g   '/)
+
+INTEGER, PARAMETER, DIMENSION(N_SAPRCII) :: NMECH_MAP_SAPRCII=(/&   ! mechanism species mapped
+ 1, 2, 2, 2, 2, 2, 2, 2,29,27,27, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,25, 2, 2,25, 2,25,25,25,25, 2,&
+ 2, 2, 2, 2, 5,25, 4, 3, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 5, 5, 4, 4, 5, 5, 5, 5,&
+ 5, 5, 5, 5, 5,25, 1, 6, 7, 8,11,31, 9,12,23,13,14,15, 1, 1,16,17,30,28, 5,30,25,24,26,29,29,30,&
+28,30,25,28,30,24,26,18, 2,28,26,19,28,21,20,31,22,28,31,31,28,25,24,31,31,31,31,25,28,28, 2,26,&
+27, 2, 5, 4,30,25,29,29,29,29, 5, 5,30,29,16,27,16, 2,16,27, 2,27/)
+
+                            ! to SPC_SAPRCII.EXT
+REAL, PARAMETER, DIMENSION(N_SAPRCII) :: XCONV_FAC_SAPRCII=(/&   ! conversion factor
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,&
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,&
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,&
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,&
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1./)
+
+!****************************************************************************************************************
+!****************************************************************************************************************
+
+INTEGER, PARAMETER :: N_RADM2_SPC = 21    ! Number of mechanism species
+
+CHARACTER(LEN=4), PARAMETER, DIMENSION(N_RADM2_SPC) :: CMECH_SPC_RADM2=(/&  ! Mechanism species name
+'ISO ','CH4 ','ETH ','HC3 ','HC5 ','HC8 ','OL2 ','OLI ','OLT ','ALD ',&
+'KET ','TOL ','HCHO','ORA1','ORA2','CO  ','SO2 ','NO  ','HNO3','NO2 ',&
+'NR  '/)
+
+REAL, PARAMETER, DIMENSION(N_RADM2_SPC) ::  XMECH_MWT_RADM2=(/&  ! Mechanism species mol. wt.
+  68.,  16.,  30.,  44.,  72., 114.,  28.,  56.,  42.,  44.,  72.,  92.,  30.,  46.,  60.,  28.,&
+  64.,  30.,  63.,  46.,   1./)
+
+INTEGER,PARAMETER :: N_RADM2 = 177        ! Number of map species
+
+CHARACTER(LEN=17), PARAMETER, DIMENSION(N_RADM2) :: CSPMH_NAM_RADM2=(/&   ! speciated species name
+'isoprene         ','myrcene          ','A_myrcene        ','sabinene         ','limonene         ','A_limonene       ',&
+'carene_3         ','ocimene_t_b      ','ocimene_t_b      ','pinene_b         ','pinene_a         ','A_2met_styrene   ',&
+'cymene_p         ','cymene_o         ','phellandrene_a   ','thujene_a        ','terpinene_a      ','terpinene_g      ',&
+'terpinolene      ','phellandrene_b   ','phellandrene_b   ','camphene         ','bornene          ','fenchene_a       ',&
+'ocimene_al       ','ocimene_c_b      ','ocimene_c_b      ','tricyclene       ','estragole        ','camphor          ',&
+'fenchone         ','piperitone       ','thujone_a        ','thujone_b        ','cineole_1_8      ','borneol          ',&
+'linalool         ','linalool         ','terpineol_4      ','terpineol_a      ','linalool_OXD_c   ','linalool_OXD_t   ',&
+'ionone_b         ','bornyl_ACT       ','farnescene_a     ','farnescene_a     ','caryophyllene_b  ','caryophyllene_b  ',&
+'acoradiene       ','acoradiene       ','aromadendrene    ','bergamotene_a    ','bergamotene_b    ','bergamotene_b    ',&
+'bisabolene_a     ','bisabolene_b     ','bisabolene_b     ','bourbonene_b     ','cadinene_d       ','cadinene_g       ',&
+'cadinene_g       ','cedrene_a        ','copaene_a        ','cubebene_a       ','cubebene_b       ','elemene_b        ',&
+'farnescene_b     ','farnescene_b     ','germacrene_B     ','germacrene_D     ','germacrene_D     ','gurjunene_b      ',&
+'humulene_a       ','humulene_g       ','isolongifolene   ','longifolene      ','longipinene      ','muurolene_a      ',&
+'muurolene_g      ','muurolene_g      ','selinene_b       ','selinene_d       ','nerolidol_c      ','nerolidol_c      ',&
+'nerolidol_t      ','nerolidol_t      ','cedrol           ','MBO_2m3e2ol      ','methanol         ','acetone          ',&
+'methane          ','ammonia          ','nitrous_OXD      ','nitric_OXD       ','acetaldehyde     ','ethanol          ',&
+'formic_acid      ','formaldehyde     ','acetic_acid      ','MBO_3m2e1ol      ','MBO_3m3e1ol      ','benzaldehyde     ',&
+'butanone_2       ','decanal          ','dodecene_1       ','geranyl_acetone  ','heptanal         ','heptane          ',&
+'hexane           ','met_benzoate     ','met_heptenone    ','neryl_acetone    ','nonanal          ','nonenal          ',&
+'nonenal          ','octanal          ','octanol          ','octenol_1e3ol    ','oxopentanal      ','pentane          ',&
+'phenyl_CCO       ','pyruvic_acid     ','terpinyl_ACT_a   ','tetradecene_1    ','toluene          ','carbon_monoxide  ',&
+'butene           ','ethane           ','ethene           ','hydrogen_cyanide ','propane          ','propene          ',&
+'carbon_2s        ','carbonyl_s       ','diallyl_2s       ','diallyl_2s       ','A_2met_2s        ','A_2met_2s        ',&
+'A_2met_s         ','A_2met_s         ','met_chloride     ','met_bromide      ','met_iodide       ','hydrogen_s       ',&
+'met_mercaptan    ','met_mercaptan    ','met_propenyl_2s  ','met_propenyl_2s  ','PPPP_2s          ','PPPP_2s          ',&
+'A_2met_nonatriene','A_2met_nonatriene','met_salicylate   ','indole           ','indole           ','jasmone          ',&
+'met_jasmonate    ','A_3met_3DCTT     ','A_3met_3DCTT     ','hexanal          ','hexanol_1        ','hexenal_c3       ',&
+'hexenal_t2       ','hexenol_c3       ','hexenyl_ACT_c3   ','homosalate       ','Ehsalate         ','pentanal         ',&
+'heptanone        ','anisole          ','verbenene        ','benzyl-acetate   ','myrtenal         ','benzyl-alcohol   ',&
+'meta-cymenene    ','ipsenol          ','Napthalene       '/)
+
+INTEGER, PARAMETER, DIMENSION(N_RADM2) :: NSPMH_MAP_RADM2=(/&   ! speciated species name
+  1,  2,  2,  3,  4,  4,  5,  6,  6,  7,  8,  9, 10, 11, 12, 13,&
+ 14, 15, 16, 17, 17, 18, 19, 20, 21, 22, 22, 23, 24, 25, 26, 27,&
+ 28, 29, 30, 31, 32, 32, 33, 34, 35, 36, 37, 38, 39, 39, 40, 40,&
+ 41, 41, 42, 43, 44, 44, 45, 46, 46, 47, 48, 49, 49, 50, 51, 52,&
+ 53, 54, 55, 55, 56, 57, 57, 58, 59, 60, 61, 62, 63, 64, 65, 65,&
+ 66, 67, 68, 68, 69, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,&
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,&
+ 96, 97, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,&
+111,112,113,114,115,116,117,117,118,118,119,119,120,121,122,123,&
+124,124,125,125,126,126,127,127,128,129,129,130,131,132,132,133,&
+134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,&
+150/)
+
+                            ! mapped to SPC_SPCAT.EXT
+CHARACTER(LEN=4), PARAMETER, DIMENSION(N_RADM2) :: CMECH_NAM_RADM2=(/&   ! mechanism species
+'ISO ','OLT ','OLI ','OLT ','OLT ','OLI ','OLI ','OLT ','OLI ','OLT ','OLI ','TOL ','TOL ','TOL ','OLI ','OLI ',&
+'OLI ','OLI ','OLI ','OLT ','OLI ','OLT ','OLI ','OLT ','OLI ','OLT ','OLI ','NR  ','OLT ','HC8 ','NR  ','OLT ',&
+'NR  ','NR  ','HC8 ','NR  ','OLT ','OLI ','OLI ','OLI ','OLT ','OLT ','OLI ','NR  ','OLT ','OLI ','OLT ','OLI ',&
+'OLT ','OLI ','OLT ','OLI ','OLT ','OLI ','OLI ','OLT ','OLI ','OLT ','OLI ','OLT ','OLI ','OLI ','OLI ','OLI ',&
+'OLT ','OLT ','OLT ','OLI ','OLI ','OLT ','OLI ','OLI ','OLI ','OLI ','OLI ','OLT ','OLI ','OLI ','OLT ','OLI ',&
+'OLT ','OLI ','OLT ','OLI ','OLT ','OLI ','NR  ','ISO ','HC3 ','KET ','CH4 ','NR  ','NO2 ','NO  ','ALD ','HC3 ',&
+'ORA1','HCHO','ORA2','ISO ','ISO ','NR  ','KET ','ALD ','OLT ','OLI ','ALD ','HC5 ','HC5 ','HC8 ','OLI ','OLI ',&
+'ALD ','ALD ','HC8 ','ALD ','HC8 ','OLT ','ALD ','HC5 ','NR  ','ORA2','OLI ','OLT ','TOL ','CO  ','OLT ','ETH ',&
+'OL2 ','NR  ','HC3 ','OLT ','NR  ','NR  ','OLI ','SO2 ','ETH ','SO2 ','ETH ','SO2 ','NR  ','NR  ','NR  ','SO2 ',&
+'CH4 ','SO2 ','OLI ','SO2 ','OLI ','SO2 ','OLT ','OLI ','HC8 ','HC8 ','HNO3','OLI ','OLI ','OLT ','OLI ','ALD ',&
+'HC5 ','OLI ','OLI ','OLT ','OLI ','OLI ','OLI ','ALD ','OLI ','NR  ','TOL ','NR  ','OLT ','NR  ','TOL ','OLT ',&
+'HC8 '/)
+
+INTEGER, PARAMETER, DIMENSION(N_RADM2) :: NMECH_MAP_RADM2=(/&   ! mechanism species mapped
+ 1, 9, 8, 9, 9, 8, 8, 9, 8, 9, 8,12,12,12, 8, 8, 8, 8, 8, 9, 8, 9, 8, 9, 8, 9, 8,21, 9, 6,21, 9,&
+21,21, 6,21, 9, 8, 8, 8, 9, 9, 8,21, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 8, 9, 8, 9, 8, 9, 8, 8, 8, 8,&
+ 9, 9, 9, 8, 8, 9, 8, 8, 8, 8, 8, 9, 8, 8, 9, 8, 9, 8, 9, 8, 9, 8,21, 1, 4,11, 2,21,20,18,10, 4,&
+14,13,15, 1, 1,21,11,10, 9, 8,10, 5, 5, 6, 8, 8,10,10, 6,10, 6, 9,10, 5,21,15, 8, 9,12,16, 9, 3,&
+ 7,21, 4, 9,21,21, 8,17, 3,17, 3,17,21,21,21,17, 2,17, 8,17, 8,17, 9, 8, 6, 6,19, 8, 8, 9, 8,10,&
+ 5, 8, 8, 9, 8, 8, 8,10, 8,21,12,21, 9,21,12, 9, 6/)
+
+                            ! to SPC_RADM2.EXT
+REAL, PARAMETER, DIMENSION(N_RADM2) :: XCONV_FAC_RADM2=(/&   ! conversion factor
+   1.,  0.5,  0.5,   1.,  0.5,  0.5,   1.,  0.5,  0.5,   1.,   1.,   1.,   1.,   1.,   1.,   1.,&
+   1.,   1.,   1.,  0.5,  0.5,   1.,   1.,   1.,   1.,  0.5,  0.5,   1.,   1.,0.388,   1.,   1.,&
+   1.,   1.,0.755,   1.,  0.5,  0.5,   1.,   1.,   1.,   1.,   1.,   1.,  0.5,  0.5,  0.5,  0.5,&
+  0.5,  0.5,   1.,   1.,  0.5,  0.5,   1.,  0.5,  0.5,   1.,   1.,  0.5,  0.5,   1.,   1.,   1.,&
+   1.,   1.,  0.5,  0.5,   1.,  0.5,  0.5,   1.,   1.,   1.,   1.,   1.,   1.,   1.,  0.5,  0.5,&
+   1.,   1.,  0.5,  0.5,  0.5,  0.5,   1.,   1.,0.402,0.253,   1.,   1.,   1.,   1.,   1.,1.198,&
+   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,1.226,1.049,   1.,   1.,   1.,&
+   1.,   1.,   1.,   1.,1.119,   1.,   1.,0.847,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,&
+   1.,   1.,0.519,   1.,   1.,   1.,   1.,   2.,   1.,   2.,   1.,   1.,   1.,   1.,   1.,   1.,&
+   1.,   1.,   1.,   2.,   1.,   2.,  0.5,  0.5,   1.,1.238,   1.,   1.,   1.,  0.5,  0.5,   1.,&
+1.697,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,&
+   1./)
+
+!****************************************************************************************************************
+!****************************************************************************************************************
+
+   INTEGER, PARAMETER :: N_RACM_SPC = 23     ! Number of mechanism species
+
+CHARACTER(LEN=4), PARAMETER, DIMENSION(N_RACM_SPC) :: CMECH_SPC_RACM=(/&  ! Mechanism species name
+'ISO ','CH4 ','ETH ','HC3 ','HC5 ','HC8 ','OL2 ','OLI ','OLT ','ALD ','KET ','TOL ','HCHO','ORA1','ORA2','API ',&
+'LIM ','CO  ','SO2 ','NO  ','HNO3','NO2 ','NR  '/)
+
+REAL, PARAMETER, DIMENSION(N_RACM_SPC) :: XMECH_MWT_RACM=(/&  ! Mechanism species mol. wt.
+  68.,  16.,  30.,  44.,  72., 114.,  28.,  68.,  42.,  44.,  72.,  92.,  30.,  46.,  60., 136.,&
+ 136.,  28.,  64.,  30.,  63.,  46.,   1./)
+
+INTEGER, PARAMETER :: N_RACM = 159        ! Number of map species
+
+CHARACTER(LEN=17), PARAMETER, DIMENSION(N_RACM) :: CSPMH_NAM_RACM=(/&   ! speciated species name
+'isoprene         ','myrcene          ','sabinene         ','limonene         ','carene_3         ','ocimene_t_b      ',&
+'pinene_b         ','pinene_a         ','A_2met_styrene   ','cymene_p         ','cymene_o         ','phellandrene_a   ',&
+'thujene_a        ','terpinene_a      ','terpinene_g      ','terpinolene      ','phellandrene_b   ','camphene         ',&
+'bornene          ','fenchene_a       ','ocimene_al       ','ocimene_c_b      ','tricyclene       ','estragole        ',&
+'camphor          ','fenchone         ','piperitone       ','thujone_a        ','thujone_b        ','cineole_1_8      ',&
+'borneol          ','linalool         ','terpineol_4      ','terpineol_a      ','linalool_OXD_c   ','linalool_OXD_t   ',&
+'ionone_b         ','bornyl_ACT       ','farnescene_a     ','caryophyllene_b  ','acoradiene       ','aromadendrene    ',&
+'bergamotene_a    ','bergamotene_b    ','bisabolene_a     ','bisabolene_b     ','bourbonene_b     ','cadinene_d       ',&
+'cadinene_g       ','cedrene_a        ','copaene_a        ','cubebene_a       ','cubebene_b       ','elemene_b        ',&
+'farnescene_b     ','germacrene_B     ','germacrene_D     ','gurjunene_b      ','humulene_a       ','humulene_g       ',&
+'isolongifolene   ','longifolene      ','longipinene      ','muurolene_a      ','muurolene_g      ','selinene_b       ',&
+'selinene_d       ','nerolidol_c      ','nerolidol_t      ','cedrol           ','MBO_2m3e2ol      ','methanol         ',&
+'acetone          ','methane          ','ammonia          ','nitrous_OXD      ','nitric_OXD       ','acetaldehyde     ',&
+'ethanol          ','formic_acid      ','formaldehyde     ','acetic_acid      ','MBO_3m2e1ol      ','MBO_3m3e1ol      ',&
+'benzaldehyde     ','butanone_2       ','decanal          ','dodecene_1       ','geranyl_acetone  ','heptanal         ',&
+'heptane          ','hexane           ','met_benzoate     ','met_heptenone    ','neryl_acetone    ','nonanal          ',&
+'nonenal          ','nonenal          ','octanal          ','octanol          ','octenol_1e3ol    ','oxopentanal      ',&
+'pentane          ','phenyl_CCO       ','pyruvic_acid     ','terpinyl_ACT_a   ','tetradecene_1    ','toluene          ',&
+'carbon_monoxide  ','butene           ','ethane           ','ethene           ','hydrogen_cyanide ','propane          ',&
+'propene          ','carbon_2s        ','carbonyl_s       ','diallyl_2s       ','diallyl_2s       ','A_2met_2s        ',&
+'A_2met_2s        ','A_2met_s         ','A_2met_s         ','met_chloride     ','met_bromide      ','met_iodide       ',&
+'hydrogen_s       ','met_mercaptan    ','met_mercaptan    ','met_propenyl_2s  ','met_propenyl_2s  ','PPPP_2s          ',&
+'PPPP_2s          ','A_2met_nonatriene','met_salicylate   ','indole           ','indole           ','jasmone          ',&
+'met_jasmonate    ','A_3met_3DCTT     ','A_3met_3DCTT     ','hexanal          ','hexanol_1        ','hexenal_c3       ',&
+'hexenal_t2       ','hexenol_c3       ','hexenyl_ACT_c3   ','homosalate       ','Ehsalate         ','pentanal         ',&
+'heptanone        ','anisole          ','verbenene        ','benzyl-acetate   ','myrtenal         ','benzyl-alcohol   ',&
+'meta-cymenene    ','ipsenol          ','Napthalene       '/)
+
+
+INTEGER, PARAMETER, DIMENSION(N_RACM) :: NSPMH_MAP_RACM=(/&   ! speciated species name
+  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,&
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,&
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,&
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,&
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,&
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,&
+ 97, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,&
+112,113,114,115,116,117,117,118,118,119,119,120,121,122,123,124,&
+124,125,125,126,126,127,128,129,129,130,131,132,132,133,134,135,&
+136,137,138,139,140,141,142,143,144,145,146,147,148,149,150/)
+
+                            ! mapped to SPC_SPCAT.EXT
+CHARACTER(LEN=4), PARAMETER, DIMENSION(N_RACM) :: CMECH_NAM_RACM=(/&   ! mechanism species
+'ISO ','LIM ','API ','LIM ','API ','LIM ','API ','API ','LIM ','LIM ','LIM ','LIM ','API ','LIM ','LIM ','LIM ',&
+'LIM ','API ','API ','API ','LIM ','LIM ','NR  ','LIM ','HC8 ','NR  ','API ','NR  ','NR  ','HC8 ','NR  ','LIM ',&
+'API ','API ','LIM ','LIM ','LIM ','NR  ','LIM ','LIM ','LIM ','API ','LIM ','LIM ','LIM ','LIM ','API ','LIM ',&
+'LIM ','API ','API ','API ','API ','LIM ','LIM ','LIM ','LIM ','API ','LIM ','LIM ','API ','API ','API ','LIM ',&
+'LIM ','LIM ','LIM ','LIM ','LIM ','NR  ','ISO ','HC3 ','KET ','CH4 ','NR  ','NO2 ','NO  ','ALD ','HC3 ','ORA1',&
+'HCHO','ORA2','ISO ','ISO ','NR  ','KET ','ALD ','OLT ','LIM ','ALD ','HC5 ','HC5 ','HC8 ','OLI ','OLI ','ALD ',&
+'HC8 ','ALD ','ALD ','HC8 ','OLT ','ALD ','HC5 ','NR  ','ORA2','API ','OLT ','TOL ','CO  ','OLT ','ETH ','ETE ',&
+'NR  ','HC3 ','OLT ','NR  ','NR  ','OLI ','SO2 ','ETH ','SO2 ','ETH ','SO2 ','NR  ','NR  ','NR  ','SO2 ','CH4 ',&
+'SO2 ','OLI ','SO2 ','OLI ','SO2 ','LIM ','HC8 ','HC8 ','HNO3','LIM ','LIM ','OLI ','OLT ','ALD ','HC5 ','OLI ',&
+'OLI ','OLT ','OLI ','LIM ','LIM ','ALD ','OLI ','NR  ','LIM ','NR  ','LIM ','NR  ','LIM ','LIM ','HC8 '/)
+
+INTEGER, PARAMETER, DIMENSION(N_RACM) :: NMECH_MAP_RACM=(/&   ! mechanism species mapped
+ 1,17,16,17,16,17,16,16,17,17,17,17,16,17,17,17,17,16,16,16,17,17,23,17, 6,23,16,23,23, 6,23,17,&
+16,16,17,17,17,23,17,17,17,16,17,17,17,17,16,17,17,16,16,16,16,17,17,17,17,16,17,17,16,16,16,17,&
+17,17,17,17,17,23, 1, 4,11, 2,23,22,20,10, 4,14,13,15, 1, 1,23,11,10, 9,17,10, 5, 5, 6, 8, 8,10,&
+ 6,10,10, 6, 9,10, 5,23,15,16, 9,12,18, 9, 3, 7,23, 4, 9,23,23, 8,19, 3,19, 3,19,23,23,23,19, 2,&
+19, 8,19, 8,19,17, 6, 6,21,17,17, 8, 9,10, 5, 8, 8, 9, 8,17,17,10, 8,23,17,23,17,23,17,17, 6/)
+
+                            ! to SPC_RACM.EXT
+REAL, PARAMETER, DIMENSION(N_RACM) :: XCONV_FAC_RACM=(/&   ! conversion factor
+   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,&
+   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1., 0.38,   1.,   1.,   1.,   1.,0.738,   1.,   1.,&
+   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,&
+   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,&
+   1.,   1.,   1.,   1.,   1.,   1.,   1., 0.49, 0.33,   1.,   1.,   1.,   1.,   1., 1.37,   1.,&
+   1.,   1.,   1.,   1.,   1., 1.61,   1.,   1.,   1.,   1.,1.236,1.058,   1.,   1.,   1.,   1.,&
+   1.,   1.,   1.,1.092,   1.,   1.,0.854,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,&
+   1., 0.57,   1.,   1.,   1.,   1.,   2.,   1.,   2.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,&
+   1.,   1.,   2.,   1.,   2.,   1.,   1.,1.201,   1.,   1.,   1.,  0.5,  0.5,   1., 1.71,   1.,&
+   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1./)
+
+
+!****************************************************************************************************************
+!****************************************************************************************************************
+
+INTEGER, PARAMETER :: N_CBMZ_SPC = 23     ! Number of mechanism species
+
+CHARACTER(LEN=5), PARAMETER, DIMENSION(N_CBMZ_SPC) :: CMECH_SPC_CBMZ=(/&  ! Mechanism species name
+'ISOP ','NO   ','NO2  ','CO   ','CH3OH','ANOL ','ALD2 ','HCHO ','HCOOH','RCOOH','CH4  ','C2H6 ','PAR  ','ETH  ','OLET ','OLEI ',&
+'CRES ','AONE ','TOL  ','XYL  ','DMS  ','NH3  ','NR   '/)
+
+REAL, PARAMETER, DIMENSION(N_CBMZ_SPC) :: XMECH_MWT_CBMZ=(/&  ! Mechanism species mol. wt.
+ 68.12, 30.01, 44.01, 28.01, 32.04, 46.07, 44.05, 30.03, 46.03, 60.05, 16.04, 30.07, 13.00, 28.05, 27.00, 26.00,&
+108.14, 58.08, 92.14,106.17, 62.14, 17.03,  1.00/)
+
+INTEGER, PARAMETER :: N_CBMZ = 185        ! Number of map species
+
+CHARACTER(LEN=17), PARAMETER, DIMENSION(N_CBMZ) :: CSPMH_NAM_CBMZ=(/&   ! speciated species name
+'isoprene         ','myrcene          ','sabinene         ','limonene         ','carene_3         ','ocimene_t_b      ',&
+'pinene_b         ','pinene_a         ','A_2met_styrene   ','cymene_p         ','cymene_o         ','phellandrene_a   ',&
+'thujene_a        ','terpinene_a      ','terpinene_g      ','terpinolene      ','phellandrene_b   ','camphene         ',&
+'bornene          ','fenchene_a       ','ocimene_al       ','ocimene_c_b      ','tricyclene       ','estragole        ',&
+'camphor          ','fenchone         ','piperitone       ','thujone_a        ','thujone_b        ','cineole_1_8      ',&
+'borneol          ','linalool         ','terpineol_4      ','terpineol_a      ','linalool_OXD_c   ','linalool_OXD_t   ',&
+'ionone_b         ','bornyl_ACT       ','farnescene_a     ','caryophyllene_b  ','acoradiene       ','aromadendrene    ',&
+'bergamotene_a    ','bergamotene_b    ','bisabolene_a     ','bisabolene_b     ','bourbonene_b     ','cadinene_d       ',&
+'cadinene_g       ','cedrene_a        ','copaene_a        ','cubebene_a       ','cubebene_b       ','elemene_b        ',&
+'farnescene_b     ','germacrene_B     ','germacrene_D     ','gurjunene_b      ','humulene_a       ','humulene_g       ',&
+'isolongifolene   ','longifolene      ','longipinene      ','muurolene_a      ','muurolene_g      ','selinene_b       ',&
+'selinene_d       ','nerolidol_c      ','nerolidol_t      ','cedrol           ','MBO_2m3e2ol      ','MBO_2m3e2ol      ',&
+'methanol         ','acetone          ','methane          ','ammonia          ','nitrous_OXD      ','nitric_OXD       ',&
+'acetaldehyde     ','ethanol          ','formic_acid      ','formaldehyde     ','acetic_acid      ','MBO_3m2e1ol      ',&
+'MBO_3m2e1ol      ','MBO_3m3e1ol      ','MBO_3m3e1ol      ','benzaldehyde     ','butanone_2       ','butanone_2       ',&
+'decanal          ','decanal          ','dodecene_1       ','dodecene_1       ','geranyl_acetone  ','heptanal         ',&
+'heptanal         ','heptane          ','hexane           ','met_benzoate     ','met_heptenone    ','met_heptenone    ',&
+'met_heptenone    ','neryl_acetone    ','neryl_acetone    ','neryl_acetone    ','nonanal          ','nonanal          ',&
+'nonenal          ','nonenal          ','nonenal          ','octanal          ','octanal          ','octanol          ',&
+'octenol_1e3ol    ','octenol_1e3ol    ','oxopentanal      ','oxopentanal      ','pentane          ','phenyl_CCO       ',&
+'phenyl_CCO       ','pyruvic_acid     ','pyruvic_acid     ','terpinyl_ACT_a   ','tetradecene_1    ','tetradecene_1    ',&
+'toluene          ','carbon_monoxide  ','butene           ','butene           ','ethane           ','ethene           ',&
+'hydrogen_cyanide ','propane          ','propene          ','propene          ','carbon_2s        ','carbonyl_s       ',&
+'diallyl_2s       ','diallyl_2s       ','diallyl_2s       ','A_2met_2s        ','A_2met_s         ','met_chloride     ',&
+'met_bromide      ','met_iodide       ','hydrogen_s       ','met_mercaptan    ','met_propenyl_2s  ','met_propenyl_2s  ',&
+'PPPP_2s          ','PPPP_2s          ','PPPP_2s          ','A_2met_nonatriene','met_salicylate   ','indole           ',&
+'jasmone          ','met_jasmonate    ','A_3met_3DCTT     ','hexanal          ','hexanal          ','hexanol_1        ',&
+'hexenal_c3       ','hexenal_c3       ','hexenal_c3       ','hexenal_t2       ','hexenal_t2       ','hexenal_t2       ',&
+'hexenol_c3       ','hexenol_c3       ','hexenyl_ACT_c3   ','hexenyl_ACT_c3   ','hexenyl_ACT_c3   ','homosalate       ',&
+'Ehsalate         ','pentanal         ','heptanone        ','anisole          ','verbenene        ','benzyl-acetate   ',&
+'myrtenal         ','benzyl-alcohol   ','meta-cymenene    ','ipsenol          ','Napthalene       '/)
+
+INTEGER, PARAMETER, DIMENSION(N_CBMZ) :: NSPMH_MAP_CBMZ=(/&   ! speciated species name
+  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,&
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,&
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,&
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,&
+ 65, 66, 67, 68, 69, 70, 71, 71, 72, 73, 74, 75, 76, 77, 78, 79,&
+ 80, 81, 82, 83, 83, 84, 84, 85, 86, 86, 87, 87, 88, 88, 89, 90,&
+ 90, 91, 92, 93, 94, 94, 94, 95, 95, 95, 96, 96, 97, 97, 97, 98,&
+ 98, 99,100,100,101,101,102,103,103,104,104,105,106,106,107,108,&
+109,109,110,111,112,113,114,114,115,116,117,117,117,118,119,120,&
+121,122,123,124,125,125,126,126,126,127,128,129,130,131,132,133,&
+133,134,135,135,135,136,136,136,137,137,138,138,138,139,140,141,&
+142,143,144,145,146,147,148,149,150/)
+
+                            ! mapped to SPC_SPCAT.EXT
+CHARACTER(LEN=5), PARAMETER, DIMENSION(N_CBMZ) :: CMECH_NAM_CBMZ=(/&   ! mechanism species
+'ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ',&
+'ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ',&
+'ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ',&
+'ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ',&
+'ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','ISOP ','OLET ','PAR  ','CH3OH','AONE ','CH4  ','NH3  ','NR   ','NO   ','ALD2 ','ANOL ',&
+'HCOOH','HCHO ','RCOOH','ALD2 ','PAR  ','HCHO ','PAR  ','TOL  ','AONE ','PAR  ','ALD2 ','PAR  ','OLET ','PAR  ','ISOP ','ALD2 ',&
+'PAR  ','PAR  ','PAR  ','TOL  ','AONE ','PAR  ','OLET ','AONE ','PAR  ','OLEI ','ALD2 ','PAR  ','ALD2 ','PAR  ','OLEI ','ALD2 ',&
+'PAR  ','PAR  ','PAR  ','OLET ','PAR  ','ALD2 ','PAR  ','ALD2 ','TOL  ','HCOOH','AONE ','ISOP ','PAR  ','OLET ','TOL  ','CO   ',&
+'OLET ','PAR  ','C2H6 ','ETH  ','NR   ','PAR  ','OLET ','PAR  ','NR   ','NR   ','DMS  ','PAR  ','OLET ','DMS  ','DMS  ','NR   ',&
+'NR   ','NR   ','NR   ','PAR  ','DMS  ','OLEI ','DMS  ','PAR  ','OLEI ','ISOP ','TOL  ','TOL  ','ISOP ','ISOP ','ISOP ','ALD2 ',&
+'PAR  ','PAR  ','ALD2 ','PAR  ','OLEI ','ALD2 ','PAR  ','OLEI ','PAR  ','OLEI ','AONE ','PAR  ','OLEI ','ISOP ','ISOP ','ALD2 ',&
+'AONE ','TOL  ','ISOP ','TOL  ','ISOP ','TOL  ','ISOP ','ISOP ','TOL  '/)
+
+INTEGER, PARAMETER, DIMENSION(N_CBMZ) :: NMECH_MAP_CBMZ=(/&   ! mechanism species mapped
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,&
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,&
+ 1, 1, 1, 1, 1, 1,15,13, 5,18,11,22,23, 2, 7, 6, 9, 8,10, 7,13, 8,13,19,18,13, 7,13,15,13, 1, 7,&
+13,13,13,19,18,13,15,18,13,16, 7,13, 7,13,16, 7,13,13,13,15,13, 7,13, 7,19, 9,18, 1,13,15,19, 4,&
+15,13,12,14,23,13,15,13,23,23,21,13,15,21,21,23,23,23,23,13,21,16,21,13,16, 1,19,19, 1, 1, 1, 7,&
+13,13, 7,13,16, 7,13,16,13,16,18,13,16, 1, 1, 7,18,19, 1,19, 1,19, 1, 1,19/)
+
+REAL, PARAMETER, DIMENSION(N_CBMZ) :: XCONV_FAC_CBMZ=(/&   ! conversion factor
+  1.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,&
+  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,  2.,&
+  2.,  2.,  2.,  2.,  3.,  2.,  3.,  3.,  3.,  3.,  3.,  3.,  3.,  3.,  3.,  3.,&
+  3.,  3.,  3.,  3.,  3.,  3.,  3.,  3.,  3.,  3.,  3.,  3.,  3.,  3.,  3.,  3.,&
+  3.,  3.,  3.,  3.,  3.,  3.,  1.,  3.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,&
+  1.,  1.,  1.,  1.,  3.,  1.,  4.,  1.,  1.,  1.,  1.,  8.,  1., 10.,  3.,  1.,&
+  5.,  7.,  6.,  1.,  1.,  3.,  1.,  1.,  8.,  2.,  1.,  7.,  1.,  6.,  1.,  1.,&
+  6.,  8.,  6.,  1.,  3.,  1.,  5.,  1.,  1.,  1.,  1.,  2., 12.,  1.,  1.,  1.,&
+  1.,  2.,  1.,  1.,  1.,  3.,  1.,  1.,  1.,  1.,  1.,  2.,  2.,  1.,  1.,  1.,&
+  1.,  1.,  1.,  1.,  1.,  1.,  1.,  2.,  1.,  2.,  1.,  1.,  2.,  3.,  3.,  1.,&
+  4.,  6.,  1.,  3.,  1.,  1.,  6.,  1.,  5.,  1.,  1.,  3.,  1.,  1.,  1.,  1.,&
+  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1./)
+
+!****************************************************************************************************************
+!****************************************************************************************************************
+
+INTEGER, PARAMETER :: N_SAPRC99_SPC=28
+
+CHARACTER(LEN=8), DIMENSION(N_SAPRC99_SPC) :: CMECH_SPC_SAPRC99=(/&  ! Mechanism species name
+'ISOPRENE','TRP1    ','MEOH    ','ACET    ','CH4     ','NO      ','NO2     ','NH3     ','CCHO    ','HCOOH   ',&
+'HCHO    ','CCO_OH  ','BALD    ','MEK     ','RCO_OH  ','CO      ','ETHENE  ','ALK1    ','ALK2    ','ALK3    ',&
+'ALK4    ','ALK5    ','ARO1    ','ARO2    ','OLE1    ','OLE2    ','RCHO    ','NONR    '/)
+
+
+REAL, DIMENSION(N_SAPRC99_SPC) :: XMECH_MWT_SAPRC99=(/&  ! Mechanism species molecular weight
+ 68.0,136.0, 32.0, 58.0, 16.0, 30.0,44.01, 17.0, 44.0, 46.0, 30.0, 60.0,106.0, 72.0, 74.0, 28.0,&
+ 28.0, 30.1, 36.7, 58.6, 77.6,118.9, 98.6,118.7, 72.3, 75.8, 58.0,  1.0/)
+
+
+INTEGER, PARAMETER :: N_SAPRC99=150
+
+CHARACTER(LEN=16), DIMENSION(N_SAPRC99) :: CSPMH_NAM_SAPRC99=(/&   ! speciated species name
+'isoprene        ','myrcene         ','sabinene        ','limonene        ','carene_3        ','ocimene_t_b     ',&
+'pinene_b        ','pinene_a        ','2met_styrene    ','cymene_p        ','cymene_o        ','phellandrene_a  ',&
+'thujene_a       ','terpinene_a     ','terpinene_g     ','terpinolene     ','phellandrene_b  ','camphene        ',&
+'bornene         ','fenchene_a      ','ocimene_al      ','ocimene_c_b     ','tricyclene      ','estragole       ',&
+'camphor         ','fenchone        ','piperitone      ','thujone_a       ','thujone_b       ','cineole_1_8     ',&
+'borneol         ','linalool        ','terpineol_4     ','terpineol_a     ','linalool_OXD_c  ','linalool_OXD_t  ',&
+'ionone_b        ','bornyl_ACT      ','farnescene_a    ','caryophyllene_b ','acoradiene      ','aromadendrene   ',&
+'bergamotene_a   ','bergamotene_b   ','bisabolene_a    ','bisabolene_b    ','bourbonene_b    ','cadinene_d      ',&
+'cadinene_g      ','cedrene_a       ','copaene_a       ','cubebene_a      ','cubebene_b      ','elemene_b       ',&
+'farnescene_b    ','germacrene_B    ','germacrene_D    ','gurjunene_b     ','humulene_a      ','humulene_g      ',&
+'isolongifolene  ','longifolene     ','longipinene     ','muurolene_a     ','muurolene_g     ','selinene_b      ',&
+'selinene_d      ','nerolidol_c     ','nerolidol_t     ','cedrol          ','MBO_2m3e2ol     ','methanol        ',&
+'acetone         ','methane         ','ammonia         ','nitrous_OXD     ','nitric_OXD      ','acetaldehyde    ',&
+'ethanol         ','formic_acid     ','formaldehyde    ','acetic_acid     ','MBO_3m2e1ol     ','MBO_3m3e1ol     ',&
+'benzaldehyde    ','butanone_2      ','decanal         ','dodecene_1      ','geranyl_acetone ','heptanal        ',&
+'heptane         ','hexane          ','met_benzoate    ','met_heptenone   ','neryl_acetone   ','nonanal         ',&
+'nonenal         ','octanal         ','octanol         ','octenol_1e3ol   ','oxopentanal     ','pentane         ',&
+'phenyl_CCO      ','pyruvic_acid    ','terpinyl_ACT_a  ','tetradecene_1   ','toluene         ','carbon_monoxide ',&
+'butene          ','ethane          ','ethene          ','hydrogen_cyanide','propane         ','propene         ',&
+'carbon_2s       ','carbonyl_s      ','diallyl_2s      ','2met_2s         ','2met_s          ','met_chloride    ',&
+'met_bromide     ','met_iodide      ','hydrogen_s      ','met_mercaptan   ','met_propenyl_2s ','PPPP_2s         ',&
+'2met_nonatriene ','met_salicylate  ','indole          ','jasmone         ','met_jasmonate   ','3met_3DCTT      ',&
+'hexanal         ','hexanol_1       ','hexenal_c3      ','hexenal_t2      ','hexenol_c3      ','hexenyl_ACT_c3  ',&
+'homosalate      ','Ehsalate        ','pentanal        ','heptanone       ','anisole         ','verbenene       ',&
+'benzyl-acetate  ','myrtenal        ','benzyl-alcohol  ','meta-cymenene   ','ipsenol         ','Napthalene      '/)
+
+INTEGER, DIMENSION(N_SAPRC99) :: NSPMH_MAP_SAPRC99=(/&   ! speciated species name
+  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,&
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,&
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,&
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,&
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,&
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,&
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,&
+113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,&
+129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,&
+145,146,147,148,149,150/)
+
+CHARACTER(LEN=8), DIMENSION(N_SAPRC99) :: CMECH_NAM_SAPRC99=(/&   ! mechanism species
+'ISOPRENE','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','OLE2    ','ARO2    ',&
+'ARO2    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ',&
+'TRP1    ','TRP1    ','ALK5    ','TRP1    ','TRP1    ','ALK5    ','TRP1    ','ALK5    ','ALK5    ','ALK5    ',&
+'ALK5    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','ALK5    ','TRP1    ','TRP1    ',&
+'TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ',&
+'TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ',&
+'TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','ALK5    ',&
+'ISOPRENE','MEOH    ','ACET    ','CH4     ','NH3     ','NONR    ','NO      ','CCHO    ','ALK3    ','HCOOH   ',&
+'HCHO    ','CCO_OH  ','ISOPRENE','ISOPRENE','BALD    ','MEK     ','RCHO    ','OLE1    ','TRP1    ','RCHO    ',&
+'ALK5    ','ALK4    ','ARO1    ','OLE2    ','OLE2    ','RCHO    ','OLE1    ','RCHO    ','ALK5    ','OLE1    ',&
+'RCHO    ','ALK4    ','ARO1    ','RCO_OH  ','TRP1    ','OLE1    ','ARO1    ','CO      ','OLE1    ','ALK1    ',&
+'ETHENE  ','NONR    ','ALK2    ','OLE1    ','NONR    ','NONR    ','OLE1    ','ALK5    ','ALK4    ','NONR    ',&
+'NONR    ','NONR    ','NONR    ','ALK5    ','OLE1    ','OLE1    ','TRP1    ','ARO1    ','ARO2    ','TRP1    ',&
+'TRP1    ','TRP1    ','RCHO    ','ALK5    ','OLE2    ','OLE2    ','OLE2    ','OLE2    ','TRP1    ','TRP1    ',&
+'RCHO    ','OLE2    ','BALD    ','ARO2    ','ARO1    ','TRP1    ','ARO1    ','ARO2    ','TRP1    ','ARO2    '/)
+
+INTEGER, DIMENSION(N_SAPRC99) :: NMECH_MAP_SAPRC99=(/&   ! mechanism species mapped
+ 1, 2, 2, 2, 2, 2, 2, 2,26,24,24, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,22, 2, 2,22, 2,22,22,22,22, 2,&
+ 2, 2, 2, 2, 2,22, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,&
+ 2, 2, 2, 2, 2,22, 1, 3, 4, 5, 8,28, 6, 9,20,10,11,12, 1, 1,13,14,27,25, 2,27,22,21,23,26,26,27,&
+25,27,22,25,27,21,23,15, 2,25,23,16,25,18,17,28,19,25,28,28,25,22,21,28,28,28,28,22,25,25, 2,23,&
+24, 2, 2, 2,27,22,26,26,26,26, 2, 2,27,26,13,24,23, 2,23,24, 2,24/)
+
+REAL, DIMENSION(N_SAPRC99) :: XCONV_FAC_SAPRC99=(/&   ! conversion factor
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,&
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,&
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,&
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,&
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1./)
+
+
+!****************************************************************************************************************
+!****************************************************************************************************************
+
+INTEGER, PARAMETER :: N_SAPRC99_Q_SPC=27
+
+CHARACTER(LEN=8), DIMENSION(N_SAPRC99_Q_SPC) :: CMECH_SPC_SAPRC99_Q=(/&  ! Mechanism species name
+'ISOPRENE','TRP1    ','OLE2    ','ARO2    ','ALK5    ','XC      ','OLE1    ','MEOH    ','ACET    ','CH4     ','NH3     ',&
+'NO      ','CCHO    ','ALK3    ','HCOOH   ','HCHO    ','CCO_OH  ','BALD    ','MEK     ','RCHO    ','ALK4    ','ARO1    ',&
+'BACL    ','CO      ','ALK1    ','ETHENE  ','ALK2    '/)
+
+
+REAL, DIMENSION(N_SAPRC99_Q_SPC) :: XMECH_MWT_SAPRC99_Q=(/&  ! Mechanism species molecular weight
+ 68.0,136.0, 75.8,118.7,118.9, 12.0, 72.3, 32.0, 58.0, 16.0, 17.0, 30.0, 44.0, 58.6, 46.0, 30.0,&
+ 75.0,106.0, 72.0, 58.0, 77.6, 98.6, 86.0, 28.0, 30.1, 92.0, 36.7/)
+
+
+INTEGER, PARAMETER :: N_SAPRC99_Q=145
+
+CHARACTER(LEN=15), DIMENSION(N_SAPRC99_Q) :: CSPMH_NAM_SAPRC99_Q=(/&   ! speciated species name
+'isoprene       ','myrcene        ','sabinene       ','limonene       ','carene_3       ','ocimene_t_b    ',&
+'pinene_b       ','pinene_a       ','2met_styrene   ','cymene_p       ','cymene_o       ','phellandrene_a ',&
+'thujene_a      ','terpinene_a    ','terpinene_g    ','terpinolene    ','phellandrene_b ','camphene       ',&
+'bornene        ','fenchene_a     ','ocimene_al     ','ocimene_c_b    ','tricyclene     ','estragole      ',&
+'camphor        ','fenchone       ','piperitone     ','thujone_a      ','thujone_b      ','cineole_1_8    ',&
+'borneol        ','linalool       ','terpineol_4    ','terpineol_a    ','linalool_OXD_c ','linalool_OXD_t ',&
+'ionone_b       ','bornyl_ACT     ','farnescene_a   ','caryophyllene_b','acoradiene     ','aromadendrene  ',&
+'bergamotene_a  ','bergamotene_b  ','bisabolene_a   ','bisabolene_b   ','bourbonene_b   ','cadinene_d     ',&
+'cadinene_g     ','cedrene_a      ','copaene_a      ','cubebene_a     ','cubebene_b     ','elemene_b      ',&
+'farnescene_b   ','germacrene_B   ','germacrene_D   ','gurjunene_b    ','humulene_a     ','humulene_g     ',&
+'isolongifolene ','longifolene    ','longipinene    ','muurolene_a    ','muurolene_g    ','selinene_b     ',&
+'selinene_d     ','nerolidol_c    ','nerolidol_t    ','cedrol         ','MBO_2m3e2ol    ','methanol       ',&
+'acetone        ','methane        ','ammonia        ','nitric_OXD     ','acetaldehyde   ','ethanol        ',&
+'formic_acid    ','formaldehyde   ','acetic_acid    ','MBO_3m2e1ol    ','MBO_3m3e1ol    ','benzaldehyde   ',&
+'butanone_2     ','decanal        ','dodecene_1     ','geranyl_acetone','heptanal       ','heptane        ',&
+'hexane         ','met_benzoate   ','met_heptenone  ','neryl_acetone  ','nonanal        ','nonenal        ',&
+'octanal        ','octanol        ','octenol_1e3ol  ','oxopentanal    ','pentane        ','phenyl_CCO     ',&
+'pyruvic_acid   ','terpinyl_ACT_a ','tetradecene_1  ','toluene        ','carbon_monoxide','butene         ',&
+'ethane         ','ethene         ','propane        ','propene        ','diallyl_2s     ','2met_2s        ',&
+'2met_s         ','met_chloride   ','met_bromide    ','met_iodide     ','met_mercaptan  ','met_propenyl_2s',&
+'PPPP_2s        ','2met_nonatriene','met_salicylate ','indole         ','jasmone        ','met_jasmonate  ',&
+'3met_3DCTT     ','hexanal        ','hexanol_1      ','hexenal_c3     ','hexenal_t2     ','hexenol_c3     ',&
+'hexenyl_ACT_c3 ','homosalate     ','Ehsalate       ','pentanal       ','heptanone      ','anisole        ',&
+'verbenene      ','benzyl-acetate ','myrtenal       ','benzyl-alcohol ','meta-cymenene  ','ipsenol        ',&
+'Napthalene     '/)
+
+INTEGER, DIMENSION(N_SAPRC99_Q) :: NSPMH_MAP_SAPRC99_Q=(/&   ! speciated species name
+  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,&
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,&
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,&
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,&
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81,&
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,&
+ 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,113,114,&
+117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,&
+134,135,136,137,138,134,135,136,137,138,139,140,141,142,143,144,&
+145/)
+
+CHARACTER(LEN=8), DIMENSION(N_SAPRC99_Q) :: CMECH_NAM_SAPRC99_Q=(/&   ! mechanism species
+'ISOPRENE','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','OLE2    ','ARO2    ',&
+'ARO2    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ',&
+'TRP1    ','TRP1    ','ALK5    ','TRP1    ','TRP1    ','ALK5    ','TRP1    ','ALK5    ','ALK5    ','ALK5    ',&
+'ALK5    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','TRP1    ','ALK5    ','XC      ','XC      ',&
+'XC      ','XC      ','XC      ','XC      ','XC      ','XC      ','XC      ','XC      ','XC      ','XC      ',&
+'XC      ','XC      ','XC      ','XC      ','XC      ','XC      ','XC      ','XC      ','XC      ','XC      ',&
+'XC      ','XC      ','XC      ','XC      ','XC      ','XC      ','XC      ','XC      ','XC      ','ALK5    ',&
+'OLE1    ','MEOH    ','ACET    ','CH4     ','NH3     ','NO      ','CCHO    ','ALK3    ','HCOOH   ','HCHO    ',&
+'CCO_OH  ','OLE2    ','OLE1    ','BALD    ','MEK     ','RCHO    ','OLE1    ','TRP1    ','RCHO    ','ALK5    ',&
+'ALK4    ','ARO1    ','OLE2    ','OLE2    ','RCHO    ','OLE1    ','RCHO    ','ALK5    ','OLE1    ','RCHO    ',&
+'ALK4    ','ARO1    ','BACL    ','TRP1    ','OLE1    ','ARO1    ','CO      ','OLE1    ','ALK1    ','ETHENE  ',&
+'ALK2    ','OLE1    ','OLE1    ','ALK3    ','ALK4    ','ALK2    ','ALK2    ','ALK2    ','ALK2    ','OLE1    ',&
+'OLE1    ','TRP1    ','ARO1    ','ARO2    ','TRP1    ','TRP1    ','XC      ','RCHO    ','ALK5    ','OLE2    ',&
+'OLE2    ','OLE2    ','OLE2    ','TRP1    ','TRP1    ','RCHO    ','OLE2    ','BALD    ','ARO2    ','ARO1    ',&
+'TRP1    ','ARO1    ','ARO2    ','TRP1    ','ARO2    '/)
+
+INTEGER, DIMENSION(N_SAPRC99_Q) :: NMECH_MAP_SAPRC99_Q=(/&   ! mechanism species mapped
+ 1, 2, 2, 2, 2, 2, 2, 2, 3, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 2, 2, 5, 2, 5, 5, 5, 5, 2,&
+ 2, 2, 2, 2, 2, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,&
+ 6, 6, 6, 6, 6, 5, 7, 8, 9,10,11,12,13,14,15,16,17, 3, 7,18,19,20, 7, 2,20, 5,21,22, 3, 3,20, 7,&
+20, 5, 7,20,21,22,23, 2, 7,22,24, 7,25,26,27, 7, 7,14,21,27,27,27,27, 7, 7, 2,22, 4, 2, 2, 6,20,&
+ 5, 3, 3, 3, 3, 2, 2,27,26,13,24,23, 2,23,24, 2,24/)
+
+REAL, DIMENSION(N_SAPRC99_Q) :: XCONV_FAC_SAPRC99_Q=(/&   ! conversion factor
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,&
+ 1., 1., 1., 1., 1., 1.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,&
+15.,15.,15.,15.,15., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,&
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,16., 1.,&
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1./)
+
+!****************************************************************************************************************
+!****************************************************************************************************************
+
+INTEGER, PARAMETER :: N_SAPRC99_X_SPC=27
+
+CHARACTER(LEN=4), DIMENSION(N_SAPRC99_X_SPC) :: CMECH_SPC_SAPRC99_X=(/&  ! Mechanism species name
+'ISOP','TERP','OLE2','ARO2','ALK5','XC  ','OLE1','MEOH','ACET','CH4 ','NH3 ','NO  ','CCHO','ALK3','HC2H','HCHO',&
+'CO2H','BALD','MEK ','RCHO','ALK4','ARO1','BACL','CO  ','ALK1','ETHE','ALK2'/)
+
+
+REAL, DIMENSION(N_SAPRC99_X_SPC) :: XMECH_MWT_SAPRC99_X=(/&  ! Mechanism species molecular weight
+ 68.0,136.0, 75.8,118.7,118.9, 12.0, 72.3, 32.0, 58.0, 16.0, 17.0, 30.0, 44.0, 58.6, 46.0, 30.0,&
+ 75.0,106.0, 72.0, 58.0, 77.6, 98.6, 86.0, 28.0, 30.1, 92.0, 36.7/)
+
+
+INTEGER, PARAMETER :: N_SAPRC99_X=145
+
+CHARACTER(LEN=15), DIMENSION(N_SAPRC99_X) :: CSPMH_NAM_SAPRC99_X=(/&   ! speciated species name
+'isoprene       ','myrcene        ','sabinene       ','limonene       ','carene_3       ','ocimene_t_b    ',&
+'pinene_b       ','pinene_a       ','2met_styrene   ','cymene_p       ','cymene_o       ','phellandrene_a ',&
+'thujene_a      ','terpinene_a    ','terpinene_g    ','terpinolene    ','phellandrene_b ','camphene       ',&
+'bornene        ','fenchene_a     ','ocimene_al     ','ocimene_c_b    ','tricyclene     ','estragole      ',&
+'camphor        ','fenchone       ','piperitone     ','thujone_a      ','thujone_b      ','cineole_1_8    ',&
+'borneol        ','linalool       ','terpineol_4    ','terpineol_a    ','linalool_OXD_c ','linalool_OXD_t ',&
+'ionone_b       ','bornyl_ACT     ','farnescene_a   ','caryophyllene_b','acoradiene     ','aromadendrene  ',&
+'bergamotene_a  ','bergamotene_b  ','bisabolene_a   ','bisabolene_b   ','bourbonene_b   ','cadinene_d     ',&
+'cadinene_g     ','cedrene_a      ','copaene_a      ','cubebene_a     ','cubebene_b     ','elemene_b      ',&
+'farnescene_b   ','germacrene_B   ','germacrene_D   ','gurjunene_b    ','humulene_a     ','humulene_g     ',&
+'isolongifolene ','longifolene    ','longipinene    ','muurolene_a    ','muurolene_g    ','selinene_b     ',&
+'selinene_d     ','nerolidol_c    ','nerolidol_t    ','cedrol         ','MBO_2m3e2ol    ','methanol       ',&
+'acetone        ','methane        ','ammonia        ','nitric_OXD     ','acetaldehyde   ','ethanol        ',&
+'formic_acid    ','formaldehyde   ','acetic_acid    ','MBO_3m2e1ol    ','MBO_3m3e1ol    ','benzaldehyde   ',&
+'butanone_2     ','decanal        ','dodecene_1     ','geranyl_acetone','heptanal       ','heptane        ',&
+'hexane         ','met_benzoate   ','met_heptenone  ','neryl_acetone  ','nonanal        ','nonenal        ',&
+'octanal        ','octanol        ','octenol_1e3ol  ','oxopentanal    ','pentane        ','phenyl_CCO     ',&
+'pyruvic_acid   ','terpinyl_ACT_a ','tetradecene_1  ','toluene        ','carbon_monoxide','butene         ',&
+'ethane         ','ethene         ','propane        ','propene        ','diallyl_2s     ','2met_2s        ',&
+'2met_s         ','met_chloride   ','met_bromide    ','met_iodide     ','met_mercaptan  ','met_propenyl_2s',&
+'PPPP_2s        ','2met_nonatriene','met_salicylate ','indole         ','jasmone        ','met_jasmonate  ',&
+'3met_3DCTT     ','hexanal        ','hexanol_1      ','hexenal_c3     ','hexenal_t2     ','hexenol_c3     ',&
+'hexenyl_ACT_c3 ','homosalate     ','Ehsalate       ','pentanal       ','heptanone      ','anisole        ',&
+'verbenene      ','benzyl-acetate ','myrtenal       ','benzyl-alcohol ','meta-cymenene  ','ipsenol        ',&
+'Napthalene     '/)
+
+
+INTEGER, DIMENSION(N_SAPRC99_X) :: NSPMH_MAP_SAPRC99_X=(/&   ! speciated species name
+  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,&
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,&
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,&
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,&
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81,&
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,&
+ 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,113,114,&
+117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,&
+134,135,136,137,138,134,135,136,137,138,139,140,141,142,143,144,&
+145/)
+
+
+CHARACTER(LEN=4), DIMENSION(N_SAPRC99_X) :: CMECH_NAM_SAPRC99_X=(/&   ! mechanism species
+'ISOP','TERP','TERP','TERP','TERP','TERP','TERP','TERP','OLE2','ARO2','ARO2','TERP','TERP','TERP','TERP','TERP',&
+'TERP','TERP','TERP','TERP','TERP','TERP','ALK5','TERP','TERP','ALK5','TERP','ALK5','ALK5','ALK5','ALK5','TERP',&
+'TERP','TERP','TERP','TERP','TERP','ALK5','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ',&
+'XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ','XC  ',&
+'XC  ','XC  ','XC  ','XC  ','XC  ','ALK5','OLE1','MEOH','ACET','CH4 ','NH3 ','NO  ','CCHO','ALK3','HC2H','HCHO',&
+'CO2H','OLE2','OLE1','BALD','MEK ','RCHO','OLE1','TERP','RCHO','ALK5','ALK4','ARO1','OLE2','OLE2','RCHO','OLE1',&
+'RCHO','ALK5','OLE1','RCHO','ALK4','ARO1','BACL','TERP','OLE1','ARO1','CO  ','OLE1','ALK1','ETHE','ALK2','OLE1',&
+'OLE1','ALK3','ALK4','ALK2','ALK2','ALK2','ALK2','OLE1','OLE1','TERP','ARO1','ARO2','TERP','TERP','XC  ','RCHO',&
+'ALK5','OLE2','OLE2','OLE2','OLE2','TERP','TERP','RCHO','OLE2','BALD','ARO2','ARO1','TERP','ARO1','ARO2','TERP',&
+'ARO2'/)
+
+INTEGER, DIMENSION(N_SAPRC99_X) :: NMECH_MAP_SAPRC99_X=(/&   ! mechanism species mapped
+ 1, 2, 2, 2, 2, 2, 2, 2, 3, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 2, 2, 5, 2, 5, 5, 5, 5, 2,&
+ 2, 2, 2, 2, 2, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,&
+ 6, 6, 6, 6, 6, 5, 7, 8, 9,10,11,12,13,14,15,16,17, 3, 7,18,19,20, 7, 2,20, 5,21,22, 3, 3,20, 7,&
+20, 5, 7,20,21,22,23, 2, 7,22,24, 7,25,26,27, 7, 7,14,21,27,27,27,27, 7, 7, 2,22, 4, 2, 2, 6,20,&
+ 5, 3, 3, 3, 3, 2, 2,27,26,13,24,23, 2,23,24, 2,24/)
+
+REAL, DIMENSION(N_SAPRC99_X) :: XCONV_FAC_SAPRC99_X=(/&   ! conversion factor
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,&
+ 1., 1., 1., 1., 1., 1.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,15.,&
+15.,15.,15.,15.,15., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,&
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,16., 1.,&
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1./)
+
+!****************************************************************************************************************
+!****************************************************************************************************************
+
+INTEGER, PARAMETER :: N_SOAX_SPC=8
+
+CHARACTER(LEN=4), DIMENSION(N_SOAX_SPC) :: CMECH_SPC_SOAX=(/&  ! Mechanism species name
+'ISP ','TRP ','XYLA','CG5 ','SQT ','TOLA','CG6 ','CG4 '/)
+
+REAL, DIMENSION(N_SOAX_SPC) :: XMECH_MWT_SOAX=(/&  ! Mechanism species molecular weight
+ 68.,136.,106.,180.,204., 92., 80.,130./)
+
+ 
+INTEGER, PARAMETER :: N_SOAX=110
+
+CHARACTER(LEN=15), DIMENSION(N_SOAX) :: CSPMH_NAM_SOAX=(/&   ! speciated species name
+'isoprene       ','myrcene        ','sabinene       ','limonene       ','carene_3       ','ocimene_t_b    ',&
+'pinene_b       ','pinene_a       ','2met_styrene   ','cymene_p       ','cymene_o       ','phellandrene_a ',&
+'thujene_a      ','terpinene_a    ','terpinene_g    ','terpinolene    ','phellandrene_b ','camphene       ',&
+'bornene        ','fenchene_a     ','ocimene_al     ','ocimene_c_b    ','estragole      ','camphor        ',&
+'fenchone       ','piperitone     ','thujone_a      ','thujone_b      ','cineole_1_8    ','borneol        ',&
+'linalool       ','terpineol_4    ','terpineol_a    ','linalool_OXD_c ','linalool_OXD_t ','ionone_b       ',&
+'bornyl_ACT     ','farnescene_a   ','caryophyllene_b','acoradiene     ','aromadendrene  ','bergamotene_a  ',&
+'bergamotene_b  ','bisabolene_a   ','bisabolene_b   ','bourbonene_b   ','cadinene_d     ','cadinene_g     ',&
+'cedrene_a      ','copaene_a      ','cubebene_a     ','cubebene_b     ','elemene_b      ','farnescene_b   ',&
+'germacrene_B   ','germacrene_D   ','gurjunene_b    ','humulene_a     ','humulene_g     ','isolongifolene ',&
+'longifolene    ','longipinene    ','muurolene_a    ','muurolene_g    ','selinene_b     ','selinene_d     ',&
+'nerolidol_c    ','nerolidol_t    ','cedrol         ','benzaldehyde   ','decanal        ','geranyl_acetone',&
+'heptanal       ','met_benzoate   ','met_heptenone  ','neryl_acetone  ','nonanal        ','nonenal        ',&
+'octanal        ','octanol        ','octenol_1e3ol  ','oxopentanal    ','phenyl_CCO     ','pyruvic_acid   ',&
+'terpinyl_ACT_a ','toluene        ','2met_nonatriene','met_salicylate ','indole         ','jasmone        ',&
+'met_jasmonate  ','3met_3DCTT     ','hexanal        ','hexanol_1      ','hexenal_c3     ','hexenal_t2     ',&
+'hexenol_c3     ','hexenyl_ACT_c3 ','homosalate     ','Ehsalate       ','pentanal       ','heptanone      ',&
+'anisole        ','verbenene      ','benzyl-acetate ','myrtenal       ','benzyl-alcohol ','meta-cymenene  ',&
+'ipsenol        ','Napthalene     '/)
+
+INTEGER, DIMENSION(N_SOAX) :: NSPMH_MAP_SOAX=(/&   ! speciated species name
+  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,&
+ 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,&
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,&
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,&
+ 66, 67, 68, 69, 70, 85, 87, 89, 90, 93, 94, 95, 96, 97, 98, 99,&
+100,101,103,104,105,107,127,128,129,130,131,132,133,134,135,136,&
+137,138,139,140,141,142,143,144,145,146,147,148,149,150/)
+
+CHARACTER(LEN=16), DIMENSION(N_SOAX) :: CMECH_NAM_SOAX=(/&   ! mechanism species
+'ISP ','TRP ','TRP ','TRP ','TRP ','TRP ','TRP ','TRP ','XYLA','XYLA','XYLA','TRP ','TRP ','TRP ','TRP ','TRP ',&
+'TRP ','TRP ','TRP ','TRP ','TRP ','TRP ','TRP ','CG5 ','CG5 ','TRP ','CG5 ','CG5 ','CG5 ','CG5 ','TRP ','TRP ',&
+'TRP ','TRP ','TRP ','TRP ','CG5 ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ',&
+'SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ','SQT ',&
+'SQT ','SQT ','SQT ','SQT ','CG5 ','TOLA','CG5 ','TRP ','CG6 ','TOLA','CG6 ','CG5 ','CG6 ','CG6 ','CG6 ','CG6 ',&
+'CG6 ','CG4 ','TOLA','CG4 ','TRP ','TOLA','TRP ','TOLA','TOLA','TRP ','TRP ','SQT ','CG4 ','CG4 ','CG4 ','CG4 ',&
+'CG4 ','CG6 ','SQT ','SQT ','CG4 ','CG6 ','TOLA','TRP ','TOLA','TRP ','TOLA','XYLA','TRP ','XYLA'/)
+
+INTEGER, DIMENSION(N_SOAX) :: NMECH_MAP_SOAX=(/&   ! mechanism species mapped
+ 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 2, 4, 4, 4, 4, 2, 2,&
+ 2, 2, 2, 2, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,&
+ 5, 5, 5, 5, 4, 6, 4, 2, 7, 6, 7, 4, 7, 7, 7, 7, 7, 8, 6, 8, 2, 6, 2, 6, 6, 2, 2, 5, 8, 8, 8, 8,&
+ 8, 7, 5, 5, 8, 7, 6, 2, 6, 2, 6, 3, 2, 3/)
+
+REAL, DIMENSION(N_SOAX) :: XCONV_FAC_SOAX=(/&   ! conversion factor
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,&
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,0.85,0.85, 1.0,0.85,0.85,0.86,0.86, 1.0, 1.0,&
+ 1.0, 1.0, 1.0, 1.0,1.09, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,&
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,&
+ 1.0, 1.0, 1.0, 1.0,1.24, 1.0,0.87, 1.0,0.63, 1.0,0.70,1.08,0.79,0.78,0.71,0.72,&
+0.71,0.77, 1.0,0.68, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,0.77,0.79,0.76,0.76,&
+0.77,0.79, 1.0, 1.0,0.77,0.70, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0/)
+
+!****************************************************************************************************************
+!****************************************************************************************************************
+
+INTEGER,PARAMETER :: N_SPCA_SPC = 150                   ! Number of speciated species
+
+CHARACTER(LEN=17), DIMENSION(N_SPCA_SPC) :: CSPCA_SPC=(/&   ! speciated species name
+'isoprene         ','myrcene          ','sabinene         ','limonene         ','carene_3         ','ocimene_t_b      ',&
+'pinene_b         ','pinene_a         ','A_2met_styrene   ','cymene_p         ','cymene_o         ','phellandrene_a   ',&
+'thujene_a        ','terpinene_a      ','terpinene_g      ','terpinolene      ','phellandrene_b   ','camphene         ',&
+'bornene          ','fenchene_a       ','ocimene_al       ','ocimene_c_b      ','tricyclene       ','estragole        ',&
+'camphor          ','fenchone         ','piperitone       ','thujone_a        ','thujone_b        ','cineole_1_8      ',&
+'borneol          ','linalool         ','terpineol_4      ','terpineol_a      ','linalool_OXD_c   ','linalool_OXD_t   ',&
+'ionone_b         ','bornyl_ACT       ','farnescene_a     ','caryophyllene_b  ','acoradiene       ','aromadendrene    ',&
+'bergamotene_a    ','bergamotene_b    ','bisabolene_a     ','bisabolene_b     ','bourbonene_b     ','cadinene_d       ',&
+'cadinene_g       ','cedrene_a        ','copaene_a        ','cubebene_a       ','cubebene_b       ','elemene_b        ',&
+'farnescene_b     ','germacrene_B     ','germacrene_D     ','gurjunene_b      ','humulene_a       ','humulene_g       ',&
+'isolongifolene   ','longifolene      ','longipinene      ','muurolene_a      ','muurolene_g      ','selinene_b       ',&
+'selinene_d       ','nerolidol_c      ','nerolidol_t      ','cedrol           ','MBO_2m3e2ol      ','methanol         ',&
+'acetone          ','methane          ','ammonia          ','nitrous_OXD      ','nitric_OXD       ','acetaldehyde     ',&
+'ethanol          ','formic_acid      ','formaldehyde     ','acetic_acid      ','MBO_3m2e1ol      ','MBO_3m3e1ol      ',&
+'benzaldehyde     ','butanone_2       ','decanal          ','dodecene_1       ','geranyl_acetone  ','heptanal         ',&
+'heptane          ','hexane           ','met_benzoate     ','met_heptenone    ','neryl_acetone    ','nonanal          ',&
+'nonenal          ','octanal          ','octanol          ','octenol_1e3ol    ','oxopentanal      ','pentane          ',&
+'phenyl_CCO       ','pyruvic_acid     ','terpinyl_ACT_a   ','tetradecene_1    ','toluene          ','carbon_monoxide  ',&
+'butene           ','ethane           ','ethene           ','hydrogen_cyanide ','propane          ','propene          ',&
+'carbon_2s        ','carbonyl_s       ','diallyl_2s       ','A_2met_2s        ','A_2met_s         ','met_chloride     ',&
+'met_bromide      ','met_iodide       ','hydrogen_s       ','met_mercaptan    ','met_propenyl_2s  ','PPPP_2s          ',&
+'A_2met_nonatriene','met_salicylate   ','indole           ','jasmone          ','met_jasmonate    ','A_3met_3DCTT     ',&
+'hexanal          ','hexanol_1        ','hexenal_c3       ','hexenal_t2       ','hexenol_c3       ','hexenyl_ACT_c3   ',&
+'homosalate       ','Ehsalate         ','pentanal         ','heptanone        ','anisole          ','verbenene        ',&
+'benzyl-acetate   ','myrtenal         ','benzyl-alcohol   ','meta-cymenene    ','ipsenol          ','Napthalene       '/)
+
+REAL, DIMENSION(N_SPCA_SPC) :: XSPCA_MWT=(/&                ! Mechanism species molecular weight
+ 68.12,136.23,136.23,136.23,136.23,136.23,136.23,136.23,132.20,134.22,134.22,136.23,136.23,136.23,136.23,136.23,&
+136.23,136.23,136.23,136.23,136.23,136.23,136.23,148.20,152.23,152.23,152.23,152.23,152.23,154.25,154.25,154.25,&
+154.25,154.25,170.25,170.25,192.30,196.29,204.35,204.35,204.35,204.35,204.35,204.35,204.35,204.35,204.35,204.35,&
+204.35,204.35,204.35,204.35,204.35,204.35,204.35,204.35,204.35,204.35,204.35,204.35,204.35,204.35,204.35,204.35,&
+204.35,204.35,204.35,222.37,222.37,222.37, 86.13, 32.04, 58.08, 16.04, 17.03, 44.01, 30.01, 44.05, 46.07, 46.03,&
+ 30.03, 60.05, 86.13, 86.13,106.12, 72.11,156.27,168.32,194.31,114.19,100.20, 86.18,136.15,126.20,194.31,142.24,&
+140.22,128.21,130.23,128.21,100.12, 72.15,120.15, 88.06,196.29,196.37, 92.14, 28.01, 56.11, 30.07, 28.05, 27.03,&
+ 44.10, 42.08, 76.14, 60.08,146.28, 94.20, 62.14, 50.49, 94.94,141.94, 34.08, 48.11,120.24,148.29,150.26,152.15,&
+117.15,164.24,224.30,218.38,100.16,102.17, 98.14, 98.14,100.16,142.20,  131.,  131.,  133.,   94.,   85.,   10.,&
+   85.,   32.,   85.,   10.,   32.,  129./)
+
+!****************************************************************************************************************
+!****************************************************************************************************************
+      
+INTEGER,PARAMETER :: N_SMAP_SPC = 150   ! Number of map species
+
+CHARACTER(LEN=17), DIMENSION(N_SMAP_SPC) :: CSPCA_NAM=(/&  ! speciated species name
+'isoprene         ','myrcene          ','sabinene         ','limonene         ','carene_3         ','ocimene_t_b      ',&
+'pinene_b         ','pinene_a         ','A_2met_styrene   ','cymene_p         ','cymene_o         ','phellandrene_a   ',&
+'thujene_a        ','terpinene_a      ','terpinene_g      ','terpinolene      ','phellandrene_b   ','camphene         ',&
+'bornene          ','fenchene_a       ','ocimene_al       ','ocimene_c_b      ','tricyclene       ','estragole        ',&
+'camphor          ','fenchone         ','piperitone       ','thujone_a        ','thujone_b        ','cineole_1_8      ',&
+'borneol          ','linalool         ','terpineol_4      ','terpineol_a      ','linalool_OXD_c   ','linalool_OXD_t   ',&
+'ionone_b         ','bornyl_ACT       ','farnescene_a     ','caryophyllene_b  ','acoradiene       ','aromadendrene    ',&
+'bergamotene_a    ','bergamotene_b    ','bisabolene_a     ','bisabolene_b     ','bourbonene_b     ','cadinene_d       ',&
+'cadinene_g       ','cedrene_a        ','copaene_a        ','cubebene_a       ','cubebene_b       ','elemene_b        ',&
+'farnescene_b     ','germacrene_B     ','germacrene_D     ','gurjunene_b      ','humulene_a       ','humulene_g       ',&
+'isolongifolene   ','longifolene      ','longipinene      ','muurolene_a      ','muurolene_g      ','selinene_b       ',&
+'selinene_d       ','nerolidol_c      ','nerolidol_t      ','cedrol           ','MBO_2m3e2ol      ','methanol         ',&
+'acetone          ','methane          ','ammonia          ','nitrous_OXD      ','nitric_OXD       ','acetaldehyde     ',&
+'ethanol          ','formic_acid      ','formaldehyde     ','acetic_acid      ','MBO_3m2e1ol      ','MBO_3m3e1ol      ',&
+'benzaldehyde     ','butanone_2       ','decanal          ','dodecene_1       ','geranyl_acetone  ','heptanal         ',&
+'heptane          ','hexane           ','met_benzoate     ','met_heptenone    ','neryl_acetone    ','nonanal          ',&
+'nonenal          ','octanal          ','octanol          ','octenol_1e3ol    ','oxopentanal      ','pentane          ',&
+'phenyl_CCO       ','pyruvic_acid     ','terpinyl_ACT_a   ','tetradecene_1    ','toluene          ','carbon_monoxide  ',&
+'butene           ','ethane           ','ethene           ','hydrogen_cyanide ','propane          ','propene          ',&
+'carbon_2s        ','carbonyl_s       ','diallyl_2s       ','A_2met_2s        ','A_2met_s         ','met_chloride     ',&
+'met_bromide      ','met_iodide       ','hydrogen_s       ','met_mercaptan    ','met_propenyl_2s  ','PPPP_2s          ',&
+'A_2met_nonatriene','met_salicylate   ','indole           ','jasmone          ','met_jasmonate    ','3met_3DCTT       ',&
+'hexanal          ','hexanol_1        ','hexenal_c3       ','hexenal_t2       ','hexenol_c3       ','hexenyl_ACT_c3   ',&
+'homosalate       ','Ehsalate         ','pentanal         ','heptanone        ','anisole          ','verbenene        ',&
+'benzyl-acetate   ','myrtenal         ','benzyl-alcohol   ','meta-cymenene    ','ipsenol          ','Napthalene       '/)
+
+INTEGER, DIMENSION(N_SMAP_SPC) :: NSPCA_MAP=(/&             ! speciated species name
+  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,&
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,&
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,&
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,&
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,&
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,&
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,&
+113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,&
+129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,&
+145,146,147,148,149,150/)
+                                                      
+CHARACTER(LEN=6), DIMENSION(N_SMAP_SPC) :: CMG20_NAM=(/&   ! MEGAN species
+'ISOP  ','MYRC  ','SABI  ','LIMO  ','3CAR  ','OCIM  ','BPIN  ','APIN  ','OMTP  ','OMTP  ',&
+'OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ',&
+'OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ',&
+'OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','OMTP  ','FARN  ','BCAR  ',&
+'OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ',&
+'OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ',&
+'OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ','OSQT  ',&
+'MBO   ','MEOH  ','ACTO  ','OTHER ','NO    ','NO    ','NO    ','BIDIR ','BIDIR ','BIDIR ',&
+'BIDIR ','BIDIR ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ',&
+'OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ',&
+'OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','STRESS','CO    ','OTHER ','OTHER ',&
+'STRESS','STRESS','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ',&
+'OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','OTHER ','STRESS','STRESS','STRESS','STRESS',&
+'STRESS','STRESS','STRESS','STRESS','STRESS','STRESS','STRESS','STRESS','OTHER ','OTHER ',&
+'OTHER ','OTHER ','OTHER ','OMTP  ','OTHER ','OMTP  ','OTHER ','OMTP  ','OMTP  ','OTHER '/)
+
+INTEGER, DIMENSION(N_SMAP_SPC) :: NMG20_MAP=(/&            ! MEGAN species mapped to
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,&
+ 9, 9, 9, 9, 9, 9,10,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,&
+12,12,12,12,12,12,13,14,15,20,17,17,17,18,18,18,18,18,20,20,20,20,20,20,20,20,20,20,20,20,20,20,&
+20,20,20,20,20,20,20,20,20,20,19,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,&
+19,19,19,19,19,19,19,19,19,19,20,20,20,20,20, 9,20, 9,20, 9, 9,20/)
+
+END MODULE MODD_MGN2MECH
diff --git a/src/MNH/mode_gamma_etc.F90 b/src/LIB/MEGAN/mode_gamma_etc.F90
similarity index 100%
rename from src/MNH/mode_gamma_etc.F90
rename to src/LIB/MEGAN/mode_gamma_etc.F90
diff --git a/src/MNH/mode_megan.F90 b/src/LIB/MEGAN/mode_megan.F90
similarity index 100%
rename from src/MNH/mode_megan.F90
rename to src/LIB/MEGAN/mode_megan.F90
diff --git a/src/LIB/MEGAN/mode_soilnox.F90 b/src/LIB/MEGAN/mode_soilnox.F90
new file mode 100644
index 0000000000000000000000000000000000000000..226c006ed14dab07e4bf37eb1b082fbad8af78a9
--- /dev/null
+++ b/src/LIB/MEGAN/mode_soilnox.F90
@@ -0,0 +1,255 @@
+!=======================================================================
+!     MODULE SOILNOX_FX
+!
+!     This module contain functions to assist soil NOx calculation.
+!     
+!
+!     CONTAINS: 1)FERTLZ_ADJ
+!               2)VEG_ADJ
+!               3)GROWSEASON
+!
+!     Note:
+!
+!     Requirement:
+!
+!
+!     Imported from SMOKE-BEIS v3.14 and modified
+!          by Tan 07/21/11 for MEGAN v2.10
+!
+!     Function PRECADJ is moved to MET2MGN
+!              PULSETYPE is moved to MET2MGN
+!              PRECIPFAC is moved to MET2MGN
+!
+!     History:
+!
+!=======================================================================
+
+MODULE MODE_SOILNOX
+
+USE MODI_JULIAN
+
+IMPLICIT NONE
+
+!...  Program I/O parameters
+
+!...  External parameters
+
+CONTAINS
+
+!=======================================================================
+!=======================================================================
+FUNCTION FERTLZ_ADJ(KDATE, PLAT) RESULT(PFERTLZ_ADJ)
+
+!***********************************************************************
+!  DESCRIPTION:
+!    This internal function computes a fertilizer adjustment factor
+!    for the given date in yyyyddd format. If it is not growing 
+!    season, the adjustment factor is 0; otherwise, it ranges from
+!    0.0 to 1.0.
+!
+!  CALL:
+!    GROWSEASON
+!
+!  HISTORY:
+!    07/21/11 : Imported from SMOKE-BEIS v3.14 and modified  (Tan)
+!***********************************************************************
+
+IMPLICIT NONE
+      
+!.... Function arguments
+INTEGER, INTENT(IN) :: KDATE
+REAL, DIMENSION(:), INTENT(IN) :: PLAT
+REAL, DIMENSION(SIZE(PLAT)) :: PFERTLZ_ADJ
+
+!.... Local variables
+INTEGER, DIMENSION(SIZE(PLAT)) :: IDAY, ILEN
+
+!-----------------------------------------------------------------------------
+
+CALL GROWSEASON(KDATE, PLAT, IDAY, ILEN)
+
+IF (ANY(IDAY(:)<0).OR.ANY(IDAY(:)>366)) THEN
+  WRITE(*,*) "MODE_SOILNOX: FERTLZ_ADJ: Invalid date specified"
+  STOP
+ENDIF
+
+WHERE ( IDAY(:)==0 )
+  PFERTLZ_ADJ(:) = 0.
+ELSE WHERE( IDAY(:)>=1 .AND. IDAY(:)<30 )
+  ! first month of growing season
+  PFERTLZ_ADJ(:) = 1.
+ELSE WHERE( IDAY(:)>=30 .AND. IDAY(:)<=366 )
+  ! later month of growing season
+  PFERTLZ_ADJ(:) = 1. + (30.-FLOAT(IDAY(:)))/(FLOAT(ILEN(:)))
+END WHERE
+
+END FUNCTION FERTLZ_ADJ
+!=======================================================================
+!=======================================================================
+
+
+!=======================================================================
+!=======================================================================
+FUNCTION VEG_ADJ(PLAI) RESULT(PVEG_ADJ)
+
+!***********************************************************************
+!  DESCRIPTION
+!    This internal function computes a vegetation adjustment factor
+!    based on LAIv.  See Yienger and Levy 1995
+!    VEG_ADJ = (EXP(-0.24*LAIv)+EXP(-0.0525*LAIv))*0.5 
+!
+!  CALL
+!    NONE
+!
+!  HISTORY:
+!***********************************************************************
+
+IMPLICIT NONE
+
+!...  Function arguments
+REAL, DIMENSION(:), INTENT(IN) :: PLAI
+!
+REAL, DIMENSION(SIZE(PLAI)) :: PVEG_ADJ
+!
+!-----------------------------------------------------------------------------
+
+PVEG_ADJ = (EXP(-0.24*PLAI)+EXP(-0.0525*PLAI))*0.5 
+
+!******************  FORMAT  STATEMENTS   ******************************
+
+END FUNCTION VEG_ADJ
+!=======================================================================
+!=======================================================================
+      
+
+!=======================================================================
+!=======================================================================
+SUBROUTINE GROWSEASON(KDATE, PLAT, KDAY, KLEN)
+
+!***********************************************************************
+!  DESCRIPTION
+!    This internal function computes the day of the growing season
+!    corresponding to the given date in yyyyddd format.
+!
+!  CALL
+!    JULIAN
+!
+!  HISTORY:
+!    07/21/11 : Imported from SMOKE-BEIS v3.14 and modified  (Tan)
+!               Variation of growing season depends on latitude
+!               (Guenther)
+!***********************************************************************
+
+IMPLICIT NONE
+
+!.......  Function arguments
+INTEGER, INTENT(IN) :: KDATE
+REAL, DIMENSION(:), INTENT(IN) :: PLAT
+!
+INTEGER, DIMENSION(:), INTENT(OUT) :: KDAY
+INTEGER, DIMENSION(:), INTENT(OUT) :: KLEN
+
+!.......  Local parameters
+INTEGER   :: ISEASON_START
+INTEGER   :: ISEASON_END
+
+!.......  Local variables
+INTEGER, DIMENSION(SIZE(PLAT)) :: ISJULIAN_START, ISJULIAN_END
+INTEGER :: ISJULIAN_START0, ISJULIAN_START1, ISJULIAN_START2
+INTEGER :: ISJULIAN_END1, ISJULIAN_END2
+INTEGER :: IYEAR, IDAY, IDAY_ADD
+!
+!-----------------------------------------------------------------------------
+
+IYEAR = INT(KDATE/1000.)
+IDAY = KDATE - IYEAR*1000.
+
+IF( IDAY.LT.1 .OR. IDAY.GT.366 ) THEN
+  WRITE(*,*) "MODE_SOILNOX: GROWSEASON: Invalid date specified"
+  STOP 
+ENDIF
+    
+ISJULIAN_START1 = G2J(IYEAR, 0101)
+ISJULIAN_END1   = G2J(IYEAR, 0531)
+ISJULIAN_START2 = G2J(IYEAR, 1101)
+ISJULIAN_END2   = G2J(IYEAR, 1231)
+
+IF ( IDAY.GE.1101 .AND. IDAY.LE.1231 ) THEN
+  ISJULIAN_START0 = ISJULIAN_START2
+  IDAY_ADD = 0
+ELSE IF ( IDAY.GE.0101 .AND. IDAY.LE.0531 ) THEN
+  ISJULIAN_START0 = ISJULIAN_START1
+  IDAY_ADD = 61
+ELSE
+  ISJULIAN_START0 = IDAY
+  IDAY_ADD = -1
+ENDIF
+
+WHERE ( PLAT(:).LT.-60. .OR. PLAT(:).GT.65. )
+
+  ! antarctic start = 0 end = 0, no growing
+  KDAY(:) = 0
+  KLEN(:) = 0
+
+ELSE WHERE ( PLAT(:).LE.23. .AND. PLAT(:).GE.-23. ) 
+
+  ! tropical regions, year round
+  KDAY(:) = IDAY - ISJULIAN_START1 + 1
+  KLEN(:) = ISJULIAN_END2 - ISJULIAN_START1 + 1
+
+ELSE WHERE ( PLAT(:).LT.-23. )
+
+! southern hemisphere
+    KDAY(:) = IDAY - ISJULIAN_START0 + 1 + IDAY_ADD
+    KLEN(:) = 30 + 31 + ISJULIAN_END1 - ISJULIAN_START1 + 1
+
+ELSE WHERE ( PLAT.GT.23. )
+
+  ! northern hemisphere temperate
+  ! start= (lat-23)*4.5            189
+  ! end = 365 -((lat-23)*3.3)      226
+
+  ISJULIAN_START(:) = INT( (PLAT(:)-23.0)*4.5 )
+  ISJULIAN_END  (:) = ISJULIAN_END2 - INT( (PLAT(:)-23.0)*3.3 )
+
+  WHERE ( IDAY.GE.ISJULIAN_START(:) .AND. IDAY.LE.ISJULIAN_END(:) )
+    KDAY(:) = IDAY - ISJULIAN_START(:) + 1
+  ELSE WHERE
+    KDAY(:) = 0
+  END WHERE
+  KLEN(:) = ISJULIAN_END(:) - ISJULIAN_START(:) + 1
+
+END WHERE
+
+!******************  FORMAT  STATEMENTS   ******************************
+
+END SUBROUTINE GROWSEASON
+!=======================================================================
+!=======================================================================
+
+
+!=======================================================================
+!=======================================================================
+FUNCTION G2J(KYYYY, KMMDD) RESULT(KG2J)
+
+IMPLICIT NONE
+
+!.......  Function arguments
+INTEGER, INTENT(IN) :: KYYYY
+INTEGER, INTENT(IN) :: KMMDD
+
+INTEGER :: KG2J
+
+!.......  Local parameters
+INTEGER :: IMM
+INTEGER :: IDD
+
+IMM  = INT(KMMDD/100.)
+IDD  = KMMDD - IMM*100
+KG2J = JULIAN(KYYYY, IMM, IDD)
+
+END FUNCTION G2J
+
+!=======================================================================
+!=======================================================================
+END MODULE MODE_SOILNOX
diff --git a/src/LIB/MEGAN/soilnox.F90 b/src/LIB/MEGAN/soilnox.F90
new file mode 100644
index 0000000000000000000000000000000000000000..0435a01a2abbfc76b6a444a38a6f7c24aa944d0d
--- /dev/null
+++ b/src/LIB/MEGAN/soilnox.F90
@@ -0,0 +1,172 @@
+SUBROUTINE SOILNOX(KDATE, KTIME, OSOIL, KSLTYP, PRECADJ, &
+                   PLAT, PTA, PSOILM, PSOILT, PLAIC, PCFNO, PCFNOG )
+
+!***********************************************************************
+!  DESCRIPTION:
+!  
+!     Uses new NO algorithm NO = Normalized*Tadj*Padj*Fadj*Cadj
+!     to estimate NO emissions 
+!     Information needed to estimate NO emissions
+!     Julian Day          (integer)    JDATE
+!     Surface Temperature (MCIP field) TA    (K)
+!     Soil Moisture       (MCIP field) SOILM (M**3/M**3) (LSOIL)
+!          (ratio of volume of water per volume of soil)
+!     Soil Temperature    (MCIP field) SOILT (K)         (LSOIL)
+!     Soil Type           (MCIP field) ISLTYP            (LSOIL)
+!
+!     saturation values for soil types (constants)       (LSOIL)
+!     FOR PX Version, the Temperature adjustment factor accounts for wet and dry soils
+!                and  the precipitation adjustment factor accounts for saturated soils
+!     FOR the non-PX version, the basic algorithm remains with a temperature adjustment factor (dry soil)
+!                     and no adjustment for saturated soils
+!
+!
+!     The following arrays are updated after each call to SOILNOX
+!     PULTYPE   type of NO emission pulse 
+!     PULSEDATE julian date for the beginning of an NO pulse 
+!     PULSETIME        time for the beginning of an NO pulse
+!  
+!     The calculation are based on the following paper by J.J. Yienger and H. Levy II
+!     J.J. Yienger and H. Levy II, Journal of Geophysical Research, vol 100,11447-11464,1995
+!
+!     The Temperature Adjustment Factor is based on section 4.2 for wet and dry soils with
+!       the following modification (PX version):
+!       Instead of classifying soils as either 'wet' or 'dry', the wet and dry adjustment is 
+!       calculated at each grid cell.  A linear interpolation between the wet and dry adjustment
+!       factor is made using the relative amount of soil moisture in the top layer (1cm)
+!       as the interpolating factor.  The relative amount of soil moisture is determined by
+!       taking the MCIP soil moisture field and dividing by the saturation value defined for each
+!       soil type in the PX version of MCIP
+!       the soil temperature is used in PX version
+!
+!     The Precipation Adjustment factor is based on section 4.1 with the following modifications.
+!       The rainrate is computed from the MCIP directly using a 24 hr daily total. 
+!       THe types of Pulses as described in YL95 were used to estimate the NO emission
+!       rate.  
+!
+!    Also see the following paper for more information:
+!    Proceedings of the Air and Waste Management Association/U.S. Environmental Protection
+!    Agency EMission Inventory Conference, Raleigh October 26-28, 1999 Raleigh NC
+!    by Tom Pierce and Lucille Bender       
+!
+!    REFERENCES
+!
+!    JACQUEMIN B. AND NOILHAN J. (1990), BOUND.-LAYER METEOROL., 52, 93-134.
+!    J.J. Yienger and H. Levy II, Journal of Geophysical Research, vol 100,11447-11464,1995
+!    T. Pierce and L. Bender, Examining the Temporal Variability of Ammonia and Nitric Oxide Emissions from Agricultural Processes
+!       Proceedings of the Air and Waste Management Association/U.S. Environmental Protection
+!        Agency EMission Inventory Conference, Raleigh October 26-28, 1999 Raleigh NC
+!
+!  PRECONDITIONS REQUIRED:
+!     Normalized NO emissions, Surface Temperature, Soil Moisture, Soil type,
+!     NO emission pulse type, soil moisture from previous time step, julian date
+!     of NO emission pulse start, time of NO emission pulse start,
+!     soil type, SOIL TYPES, Land use data
+!
+!  SUBROUTINES AND FUNCTIONS CALLED (directly or indirectly):
+!     FERTILIZER_ADJ computes fertlizer adjustment factor
+!     VEG_ADJ        computes vegatation adjustment factor
+!     GROWSEASON     computes day of growing season
+!     
+!  REVISION  HISTORY:
+!    10/01 : Prototype by GAP
+!    10/03 : modified transition to non growing season for jul-oct of the year
+!    08/04 : Converted to SMOKE code style by C. Seppanen
+!    07/21/11 : Imported form SMOKE-BEIS v3.14 for MEGAN v2.10
+! 
+!***********************************************************************
+
+USE MODE_SOILNOX
+
+USE MODD_MEGAN
+
+IMPLICIT NONE
+
+!.........  ARGUMENTS and their descriptions
+INTEGER, INTENT(IN) :: KDATE   !  current simulation date (YYYYDDD)
+INTEGER, INTENT(IN) :: KTIME   !  current simulation time (HHMMSS)
+LOGICAL, INTENT(IN) :: OSOIL              ! true: using PX version of MCIP
+!
+INTEGER, DIMENSION(:), INTENT(IN) :: KSLTYP      !  soil type
+!
+REAL, INTENT(IN) :: PRECADJ     !  precip adjustment
+!
+REAL, DIMENSION(:), INTENT(IN)    :: PLAT        !  Latitude
+REAL, DIMENSION(:), INTENT(IN)    :: PTA         !  air temperature (K)
+REAL, DIMENSION(:), INTENT(IN)    :: PSOILM      !  soil moisture (m3/m3)
+REAL, DIMENSION(:), INTENT(IN)    :: PSOILT      !  soil temperature (K)
+REAL, DIMENSION(:), INTENT(IN)    :: PLAIC       !  soil temperature (K)
+REAL, DIMENSION(:), INTENT(INOUT) :: PCFNO       !  NO correction factor
+REAL, DIMENSION(:), INTENT(INOUT) :: PCFNOG      !  NO correction factor for grass
+
+!.......  Local ARRAYS
+! Saturation values for 11 soil types from pxpbl.F  (MCIP PX version)
+!       PLEIM-XIU LAND-SURFACE AND PBL MODEL (PX-LSM)
+! See JACQUEMIN B. AND NOILHAN J. (1990), BOUND.-LAYER METEOROL., 52, 93-134.
+
+!.........  SCRATCH LOCAL VARIABLES and their descriptions:
+REAL, DIMENSION(SIZE(PLAT)) :: ZCF           ! NO correction factor
+REAL :: ZTAIR         ! surface temperature
+REAL :: ZTSOI         ! soil temperature
+REAL :: ZCFNOWET, ZCFNODRY, ZRATIO
+
+INTEGER :: JJ, JL      ! counters
+INTEGER :: ISOILCAT      ! soil category
+
+!HARACTER(256)  MESG         ! message buffer
+
+!HARACTER(16) :: PROGNAME = 'SOILNOX'   !  program name
+
+!***********************************************************************
+
+!.....  Loop through cells
+DO JJ = 1,SIZE(PTA)
+
+  ZTAIR = MIN(PTA(JJ),303.)        ! unit in degree K
+
+  IF ( ZTAIR>268.8690 ) THEN  
+    PCFNOG(JJ) = EXP( 0.04686 * ZTAIR - 14.30579 ) ! grass (from BEIS2)
+  ELSE
+    PCFNOG(JJ) = 0.0
+  END IF
+
+!.......  CFNO
+  IF( .NOT.OSOIL ) THEN
+    ZTSOI = 0.72 * ZTAIR + 82.28
+  ELSE
+    ZTSOI = PSOILT(JJ)
+  ENDIF
+
+  ZTSOI = MIN(MAX(ZTSOI,273.16),303.16)
+  ZCFNODRY = (1./3.) * (1./30.) * (ZTSOI-273.16)  ! see YL 1995 Equa 9a p. 11452
+  IF ( ZTSOI<=283.16 ) THEN         ! linear cold case
+    ZCFNOWET = (ZTSOI-273.16)*EXP(-0.103*30.0)*0.28 ! see YL 1995 Equ 7b
+  ELSE                             ! exponential case
+    ZCFNOWET = EXP(0.103 * (ZTSOI-273.16)) * EXP(-0.103 * 30.0)
+  END IF
+
+  IF( .NOT.OSOIL ) THEN
+
+    ZCF(JJ) = 0.5 * ZCFNOWET + 0.5 * ZCFNODRY
+
+  ELSE
+
+    ! soil
+    ISOILCAT = KSLTYP(JJ)
+    IF( ISOILCAT>0 .AND. ISOILCAT<=NMAXSTYPES ) THEN
+      ZRATIO = PSOILM(JJ) / XSATURATION(ISOILCAT)
+      ZCF(JJ) = ZRATIO * ZCFNOWET + (1.-ZRATIO) * ZCFNODRY
+    ELSE
+      ZCF(JJ) = 0.
+    END IF
+    
+  END IF  ! Endif LSOIL
+
+ENDDO
+
+PCFNO(:) = ZCF(:) * FERTLZ_ADJ(KDATE,PLAT) * VEG_ADJ(PLAIC) * PRECADJ
+
+!******************  FORMAT  STATEMENTS   ******************************
+
+END SUBROUTINE SOILNOX
+
diff --git a/src/LIB/MEGAN/solarangle.F90 b/src/LIB/MEGAN/solarangle.F90
new file mode 100644
index 0000000000000000000000000000000000000000..60ac5815a77412f157755f1eecc136f637afc73b
--- /dev/null
+++ b/src/LIB/MEGAN/solarangle.F90
@@ -0,0 +1,56 @@
+!-----------------------------------------------------------------------
+!   SUBROUTINE: SOLARANGLE
+!
+!   DESCRIPTION: TO CALCULATE THE SOLAR ZENITH ANGLE.  THIS WILL GIVE
+!                SIN(BETA), NOT THE BETA.
+!
+!   CALL: NONE
+!
+!   REQUIRE: NONE
+!
+!   INPUT:
+!            1) DAY OF YEAR
+!            2) LATITUDE
+!            3) HOUR
+!
+!   OUTPUT: CALCBETA (SOLAR ZENITH ANGLE)
+!
+!   CREATED BY TAN 11/15/06  (BASED ON XXXX'S PROGRAM)
+!
+!-----------------------------------------------------------------------
+SUBROUTINE SOLARANGLE(KDAY, PSHOUR, PLAT, PSINBETA)
+
+USE MODD_MEGAN
+
+IMPLICIT NONE
+
+! INPUT
+INTEGER, DIMENSION(:), INTENT(IN) :: KDAY     ! DOY OR JULIAN DAY
+REAL, DIMENSION(:), INTENT(IN) :: PSHOUR      ! SOLAR HOUR
+REAL, DIMENSION(:), INTENT(IN) :: PLAT        ! LATITUDE
+! OUTPUT
+REAL, DIMENSION(:), INTENT(OUT) :: PSINBETA
+! LOCAL
+!REAL    :: ZBETA                 ! SOLAR ELEVATION ANGLE
+REAL    :: ZSINDELTA, ZCOSDELTA, ZA, ZB
+! CONSTANTS
+INTEGER :: JJ
+
+! CALCULATION
+DO JJ = 1,SIZE(KDAY)
+
+  ZSINDELTA = -SIN(0.40907) * COS( 6.28*(KDAY(JJ)+10.)/365. )
+  ZCOSDELTA = (1.-ZSINDELTA**2)**0.5
+
+  ZA = SIN( PLAT(JJ) / XRPI180 ) * ZSINDELTA
+  ZB = COS( PLAT(JJ) / XRPI180 ) * ZCOSDELTA
+
+  PSINBETA(JJ) = ZA + ZB * COS( 2 * XPI * (PSHOUR(JJ)-12.)/24. )  ! THIS WILL BE TRANSFERED
+                                           ! TO GAMMA_P FUNCTION
+  !ZBETA = ASIN(PSINBETA(JJ)) * XRPI180    ! THIS IS NOT USED.
+
+ENDDO
+
+END SUBROUTINE SOLARANGLE
+!-----------------------------------------------------------------------
+
diff --git a/src/MNH/ice4_fast_rs.f90 b/src/MNH/ice4_fast_rs.f90
index 11dbd67f50ac67a9fc97f9d7f145ba85541a6e4c..d44b1bcc74d9c632b038c8a3937c3c3d4fbc1efa 100644
--- a/src/MNH/ice4_fast_rs.f90
+++ b/src/MNH/ice4_fast_rs.f90
@@ -173,7 +173,7 @@ ELSE
                            *(XESTT-PRS_TEND(:, IFREEZ1))/(XRV*PT(:))           )
     PRS_TEND(:, IFREEZ1)=PRS_TEND(:, IFREEZ1)* PRST(:) * ( X0DEPS*       PLBDAS(:)**XEX0DEPS +     &
          X1DEPS*PCJ(:)*PLBDAS(:) **(XBS+XEX1DEPS)* &
-         (1+(XFVELOS/(2*PLBDAS(:)))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS))/ &
+         (1+0.5*(XFVELOS/PLBDAS(:))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS))/ &
          ( PRHODREF(:)*(XLMTT-XCL*(XTT-PT(:))) )
     PRS_TEND(:, IFREEZ2)=(PRHODREF(:)*(XLMTT+(XCI-XCL)*(XTT-PT(:)))   ) / &
                           ( PRHODREF(:)*(XLMTT-XCL*(XTT-PT(:))) )
@@ -503,7 +503,7 @@ ELSE
     PRSMLTG(:)  = XFSCVMG*MAX( 0.0,( -PRSMLTG(:) *             &
          PRST(:)*PRHODREF(:) *    &
          ( X0DEPS       *PLBDAS(:)**XEX0DEPS +     &
-         X1DEPS*PCJ(:)*(1+(XFVELOS/(2*PLBDAS(:))**XALPHAS))**(XNUS+XEX1DEPS/XALPHAS)*((PLBDAS(:))**(XBS+XEX1DEPS))) -   &
+         X1DEPS*PCJ(:)*(1+0.5*(XFVELOS/PLBDAS(:))**XALPHAS)**(XNUS+XEX1DEPS/XALPHAS)*PLBDAS(:)**(XBS+XEX1DEPS)) -   &
          ( PRS_TEND(:, IRCRIMS) + PRS_TEND(:, IRRACCS)) *       &
          ( PRHODREF(:)*XCL*(XTT-PT(:))) ) /    &
          ( PRHODREF(:)*XLMTT ) )
diff --git a/src/MNH/ice4_sedimentation_split.f90 b/src/MNH/ice4_sedimentation_split.f90
index f9369a8783af23ad117f46ab51489a44afad0436..90729a15c2f966083bdb5e81bbd3cf80032e7760 100644
--- a/src/MNH/ice4_sedimentation_split.f90
+++ b/src/MNH/ice4_sedimentation_split.f90
@@ -7,8 +7,7 @@ MODULE MODI_ICE4_SEDIMENTATION_SPLIT
 INTERFACE
 SUBROUTINE ICE4_SEDIMENTATION_SPLIT(KIB, KIE, KIT, KJB, KJE, KJT, KKB, KKE, KKTB, KKTE, KKT, KKL, &
                                    &PTSTEP, KRR, OSEDIC, ODEPOSC, PVDEPOSC, PDZZ,                 &
-                                   &PRHODREF, PPABST, PTHT, PRHODJ,                               &
-				   & PLBDAS,                                                      &
+                                   &PRHODREF, PPABST, PTHT, PT, PRHODJ,                           &
                                    &PRCS, PRCT, PRRS, PRRT, PRIS, PRIT, PRSS, PRST, PRGS, PRGT,   &
                                    &PINPRC, PINDEP, PINPRR, PINPRI, PINPRS, PINPRG,               &
                                    &PSEA, PTOWN,                                                  &
@@ -25,8 +24,8 @@ REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PDZZ    ! Layer thiknes
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PRHODREF! Reference density
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PPABST  ! absolute pressure at t
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PTHT    ! Theta at time t
+REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PT      ! Theta at time t
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PRHODJ  ! Dry density * Jacobian
-REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PLBDAS  ! lambda parameter for snow
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(INOUT)           :: PRCS    ! Cloud water m.r. source
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PRCT    ! Cloud water m.r. at t
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(INOUT)           :: PRRS    ! Rain water m.r. source
@@ -54,8 +53,7 @@ END INTERFACE
 END MODULE MODI_ICE4_SEDIMENTATION_SPLIT
 SUBROUTINE ICE4_SEDIMENTATION_SPLIT(KIB, KIE, KIT, KJB, KJE, KJT, KKB, KKE, KKTB, KKTE, KKT, KKL, &
                                    &PTSTEP, KRR, OSEDIC, ODEPOSC, PVDEPOSC, PDZZ,                 &
-                                   &PRHODREF, PPABST, PTHT, PRHODJ,                               &
-				   & PLBDAS,                                                      &
+                                   &PRHODREF, PPABST, PTHT, PT, PRHODJ,                           &
                                    &PRCS, PRCT, PRRS, PRRT, PRIS, PRIT, PRSS, PRST, PRGS, PRGT,   &
                                    &PINPRC, PINDEP, PINPRR, PINPRI, PINPRS, PINPRG,               &
                                    &PSEA, PTOWN,                                                  &
@@ -105,8 +103,8 @@ REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PDZZ    ! Layer thiknes
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PRHODREF! Reference density
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PPABST  ! absolute pressure at t
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PTHT    ! Theta at time t
+REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PT      ! Theta at time t
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PRHODJ  ! Dry density * Jacobian
-REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PLBDAS  ! lambda parameter for snow
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(INOUT)           :: PRCS    ! Cloud water m.r. source
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PRCT    ! Cloud water m.r. at t
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(INOUT)           :: PRRS    ! Rain water m.r. source
@@ -242,9 +240,8 @@ ZW(:,:,KKTB:KKTE) =1./(PRHODREF(:,:,KKTB:KKTE)* PDZZ(:,:,KKTB:KKTE))
 IF (GSEDIC) THEN
     CALL INTERNAL_SEDIM_SPLI(KIB,KIE,KIT,KJB,KJE,KJT, KKB, KKTB, KKTE, KKT, KKL, KRR, &
                           &XSPLIT_MAXCFL, &
-                          &PRHODREF, ZW, PDZZ, PPABST, PTHT, PTSTEP, &
+                          &PRHODREF, ZW, PDZZ, PPABST, PTHT, PT, PTSTEP, &
                           &2, &
-			  &PLBDAS, &
                           &ZRCT, PRCS, PINPRC, ZPRCS, &
                           &ZRAY, ZLBC, ZFSEDC, ZCONC3D, PFPR=PFPR)
 ENDIF
@@ -269,9 +266,8 @@ END IF
 !
   CALL INTERNAL_SEDIM_SPLI(KIB,KIE,KIT,KJB,KJE,KJT, KKB, KKTB, KKTE, KKT, KKL, KRR, &
                           &XSPLIT_MAXCFL, &
-                          &PRHODREF, ZW, PDZZ, PPABST, PTHT, PTSTEP, &
+                          &PRHODREF, ZW, PDZZ, PPABST, PTHT, PT, PTSTEP, &
                           &3, &
-			  &PLBDAS, &
                           &ZRRT, PRRS, PINPRR, ZPRRS, &
                           &PFPR=PFPR)
 !
@@ -279,9 +275,8 @@ END IF
 !
   CALL INTERNAL_SEDIM_SPLI(KIB,KIE,KIT,KJB,KJE,KJT, KKB, KKTB, KKTE, KKT, KKL, KRR, &
                           &XSPLIT_MAXCFL, &
-                          &PRHODREF, ZW, PDZZ, PPABST, PTHT, PTSTEP, &
+                          &PRHODREF, ZW, PDZZ, PPABST, PTHT, PT, PTSTEP, &
                           &4, &
-			  &PLBDAS, &
                           &ZRIT, PRIS, PINPRI, ZPRIS, &
                           PFPR=PFPR)
 !
@@ -289,9 +284,8 @@ END IF
 !
   CALL INTERNAL_SEDIM_SPLI(KIB,KIE,KIT,KJB,KJE,KJT, KKB, KKTB, KKTE, KKT, KKL, KRR, &
                         &XSPLIT_MAXCFL, &
-                        &PRHODREF, ZW, PDZZ, PPABST, PTHT, PTSTEP, &
+                        &PRHODREF, ZW, PDZZ, PPABST, PTHT, PT, PTSTEP, &
                         &5, &
-                        &PLBDAS, &
                         &ZRST, PRSS, PINPRS, ZPRSS, &
                         PFPR=PFPR)
 !
@@ -299,9 +293,8 @@ END IF
 !
   CALL INTERNAL_SEDIM_SPLI(KIB,KIE,KIT,KJB,KJE,KJT, KKB, KKTB, KKTE, KKT, KKL, KRR, &
                         &XSPLIT_MAXCFL, &
-                        &PRHODREF, ZW, PDZZ, PPABST, PTHT, PTSTEP, &
+                        &PRHODREF, ZW, PDZZ, PPABST, PTHT, PT, PTSTEP, &
                         &6, &
-                        &PLBDAS, &
                         &ZRGT, PRGS, PINPRG, ZPRGS, &
                         PFPR=PFPR)
 !
@@ -310,9 +303,8 @@ END IF
 IF (IRR==7) THEN
     CALL INTERNAL_SEDIM_SPLI(KIB,KIE,KIT,KJB,KJE,KJT, KKB, KKTB, KKTE, KKT, KKL, KRR, &
                           &XSPLIT_MAXCFL, &
-                          &PRHODREF, ZW, PDZZ, PPABST, PTHT, PTSTEP, &
+                          &PRHODREF, ZW, PDZZ, PPABST, PTHT, PT, PTSTEP, &
                           &7, &
-			  &PLBDAS, &
                           &ZRHT, PRHS, PINPRH, ZPRHS, &
                           PFPR=PFPR)
 ENDIF
@@ -324,18 +316,19 @@ CONTAINS
 !-------------------------------------------------------------------------------
 !
 !
-SUBROUTINE INTERNAL_SEDIM_SPLI(KIB,KIE,KIT,KJB,KJE,KJT,KKB,KKTB,KKTE,KKT,KKL,KRR, &
-                              &PMAXCFL,PRHODREF,POORHODZ,PDZZ,PPABST,PTHT,PTSTEP, &
-                              &KSPE,PLBDAS,PRXT,PRXS,PINPRX,PPRXS,                &
+SUBROUTINE INTERNAL_SEDIM_SPLI(KIB,KIE,KIT,KJB,KJE,KJT,KKB,KKTB,KKTE,KKT,KKL,KRR,    &
+                              &PMAXCFL,PRHODREF,POORHODZ,PDZZ,PPABST,PTHT,PT,PTSTEP, &
+                              &KSPE,PRXT,PRXS,PINPRX,PPRXS,                          &
                               &PRAY,PLBC,PFSEDC,PCONC3D,PFPR)
 !
 !*      0. DECLARATIONS
 !          ------------
 !
 USE MODD_CST,            ONLY: XCPD,XP00,XRD
-USE MODD_RAIN_ICE_DESCR, ONLY: XCC,XCEXVT,XDC,XLBEXC,XRTMIN,XALPHAS,XNUS,XBS,XFVELOS
+USE MODD_RAIN_ICE_DESCR, ONLY: XCC,XCEXVT,XDC,XLBEXC,XRTMIN,XALPHAS,XNUS,XBS,XFVELOS, &
+                               XLBDAS_MAX,XLBDAS_MIN,XLBEXS,XLBS
 USE MODD_RAIN_ICE_PARAM, ONLY: XEXCSEDI,XEXSEDG,XEXSEDH,XEXSEDR,XEXSEDS,XFSEDG,XFSEDH,XFSEDI,XFSEDR,XFSEDS
-                               
+USE MODD_PARAM_ICE,      ONLY: LSNOW_T                               
 !
 IMPLICIT NONE
 !
@@ -348,6 +341,7 @@ REAL, DIMENSION(KIT,KJT,KKTB:KKTE), INTENT(IN)        :: POORHODZ ! One Over (Rh
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PDZZ ! layer thikness (m)
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PPABST
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PTHT
+REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PT
 REAL,                         INTENT(IN)              :: PTSTEP  ! total timestep
 INTEGER,                      INTENT(IN)              :: KSPE ! 1 for rc, 2 for rr...
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(INOUT)           :: PRXT ! mr of specy X
@@ -356,7 +350,6 @@ REAL, DIMENSION(KIT,KJT),     INTENT(OUT)             :: PINPRX ! instant precip
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PPRXS ! external tendencie
 REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN), OPTIONAL    :: PRAY, PLBC, PFSEDC, PCONC3D
 REAL, DIMENSION(KIT,KJT,KKT,KRR), INTENT(INOUT), OPTIONAL :: PFPR    ! upper-air precipitation fluxes
-    REAL, DIMENSION(KIT,KJT,KKT), INTENT(IN)              :: PLBDAS ! lambda parameter for snow ! Modif Wurtz
 !
 !*       0.2  declaration of local variables
 !
@@ -367,6 +360,7 @@ INTEGER, DIMENSION(KIT*KJT*KKT) :: I1,I2,I3 ! Used to replace the COUNT
 LOGICAL                         :: GPRESENT_PFPR
 REAL                            :: ZINVTSTEP
 REAL                            :: ZZWLBDC, ZRAY, ZZT, ZZWLBDA, ZZCC
+REAL                            :: ZLBDA
 REAL                            :: ZFSED, ZEXSED
 REAL, DIMENSION(KIT, KJT)       :: ZMRCHANGE
 REAL, DIMENSION(KIT, KJT)       :: ZMAX_TSTEP ! Maximum CFL in column
@@ -454,13 +448,18 @@ DO WHILE (ANY(ZREMAINT>0.))
         JJ=I2(JL)
         JK=I3(JL)
         IF(PRXT(JI,JJ,JK)> XRTMIN(KSPE)) THEN
-
-        ZWSED(JI, JJ, JK) = XFSEDS *  &
-                              & PRXT(JI,JJ,JK)* &
-                              & PRHODREF(JI,JJ,JK)**(1-XCEXVT) * &
-                              & (1 + (XFVELOS/PLBDAS(JI, JJ, JK))**XALPHAS)** (-XNUS+XEXSEDS/XALPHAS) * &
-			      & PLBDAS(JI, JJ, JK) ** (XBS+XEXSEDS)
- ! GAMMAGEN_LH_EXTENDED
+           IF (LSNOW_T .AND. PT(JI,JJ,JK)>263.15) THEN
+              ZLBDA = MAX(MIN(XLBDAS_MAX, 10**(14.554-0.0423*PT(JI,JJ,JK))),XLBDAS_MIN)
+           ELSE IF (LSNOW_T) THEN
+              ZLBDA = MAX(MIN(XLBDAS_MAX, 10**(6.226 -0.0106*PT(JI,JJ,JK))),XLBDAS_MIN)
+           ELSE
+              ZLBDA=MAX(MIN(XLBDAS_MAX, XLBS * ( PRHODREF(JI,JJ,JK) * PRXT(JI,JJ,JK) )**XLBEXS),XLBDAS_MIN)
+           END IF
+           ZWSED(JI, JJ, JK) = XFSEDS *  &
+                & PRXT(JI,JJ,JK)* &
+                & PRHODREF(JI,JJ,JK)**(1-XCEXVT) * &
+                & (1 + (XFVELOS/ZLBDA)**XALPHAS)** (-XNUS+XEXSEDS/XALPHAS) * &
+                & ZLBDA ** (XBS+XEXSEDS)
 
         ENDIF
       ENDDO
diff --git a/src/MNH/ice4_slow.f90 b/src/MNH/ice4_slow.f90
index e08dd1e77adff5823c7c2cb6404cfc1162d39af4..b9325050f16faa13ba945c3624755d55b89672bc 100644
--- a/src/MNH/ice4_slow.f90
+++ b/src/MNH/ice4_slow.f90
@@ -173,11 +173,13 @@ IF(LDSOFT) THEN
   ENDDO
 ELSE
   PRVDEPS(:) = 0.
-  WHERE(ZMASK(:)==1.)
-    PRVDEPS(:) = ( PRST(:)*PSSI(:)/PAI(:)) *                               &
-         ( X0DEPS*PLBDAS(:)**XEX0DEPS + (X1DEPS*PCJ(:)*(1+(PLBDAS(:)/(2*XFVELOS)**XALPHAS))**(-XNUS+XEX1DEPS) &
-         *(PLBDAS(:))**(XBS+XEX1DEPS)))
-  END WHERE
+  DO JL=1, KSIZE
+     IF (ZMASK(JL)==1.) THEN
+        PRVDEPS(JL) = ( PRST(JL)*PSSI(JL)/PAI(JL) ) * &
+             ( X0DEPS*PLBDAS(JL)**XEX0DEPS + X1DEPS*PCJ(JL) * (1+0.5*(XFVELOS/PLBDAS(JL))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS) &
+             *(PLBDAS(JL))**(XBS+XEX1DEPS) )
+     END IF
+  END DO
 ENDIF
 DO JL=1, KSIZE
   PA_RS(JL) = PA_RS(JL) + PRVDEPS(JL)
diff --git a/src/MNH/ice4_tendencies.f90 b/src/MNH/ice4_tendencies.f90
index ec33e100cfc60bec6ad576d781283372e52c165f..2832464bf64ed83229d3779531ef93c206db078d 100644
--- a/src/MNH/ice4_tendencies.f90
+++ b/src/MNH/ice4_tendencies.f90
@@ -411,7 +411,9 @@ ELSE
            ZLBDAS(:) = MAX(MIN(XLBDAS_MAX, 10**(6.226-0.0106*ZT(:))),XLBDAS_MIN)*XTRANS_MP_GAMMAS
         END WHERE
      ELSE
-        ZLBDAS(:)  = MAX(MIN(XLBDAS_MAX,XLBS*(PRHODREF(:)*ZRST(:))**XLBEXS),XLBDAS_MIN)
+        WHERE (ZRST(:).GE.XRTMIN(5))
+           ZLBDAS(:)  = MAX(MIN(XLBDAS_MAX,XLBS*(PRHODREF(:)*ZRST(:))**XLBEXS),XLBDAS_MIN)
+        END WHERE
      END IF
      CALL ICE4_RSRIMCG_OLD(KSIZE, ODSOFT, PCOMPUTE==1., &
                           &PRHODREF, &
@@ -487,7 +489,9 @@ IF(KSIZE>0) THEN
         ZLBDAS(:) = MAX(MIN(XLBDAS_MAX, 10**(6.226-0.0106*ZT(:))),XLBDAS_MIN)*XTRANS_MP_GAMMAS
      END WHERE
   ELSE
-     ZLBDAS(:)  = MAX(MIN(XLBDAS_MAX,XLBS*(PRHODREF(:)*ZRST(:))**XLBEXS),XLBDAS_MIN)
+     WHERE (ZRST(:).GE.XRTMIN(5))
+        ZLBDAS(:)  = MAX(MIN(XLBDAS_MAX,XLBS*(PRHODREF(:)*ZRST(:))**XLBEXS),XLBDAS_MIN)
+     END WHERE
   END IF
   ZLBDAG(:)=0.
   WHERE(ZRGT(:)>0.)
diff --git a/src/MNH/ini_rain_ice.f90 b/src/MNH/ini_rain_ice.f90
index 1096296681e7f5e3eb2fe060598d534feca76d0e..9f984f940bf7f14e574995b1659cbfe3086887ec 100644
--- a/src/MNH/ini_rain_ice.f90
+++ b/src/MNH/ini_rain_ice.f90
@@ -507,7 +507,7 @@ XEXCSEDI =-0.9324*3.0
 WRITE (KLUOUT,FMT=*)' PRISTINE ICE SEDIMENTATION for columns XFSEDI =',XFSEDI
 !
 !
-IF (LSNOW_T) THEN
+!IF (LSNOW_T) THEN
 !HOUZE/HAIC
    !XEXSEDS = -XDS !(2*XBS+XDS)
    !XFSEDS  = XCS*MOMG(XALPHAS,XNUS,XBS+XDS)/(MOMG(XALPHAS,XNUS,XBS))    &
@@ -516,11 +516,11 @@ IF (LSNOW_T) THEN
    XEXSEDS = -XDS-XBS
    XFSEDS  = XCS*MOMG(XALPHAS,XNUS,XBS+XDS)/(MOMG(XALPHAS,XNUS,XBS))    &
             *(ZRHO00)**XCEXVT
-ELSE
-   XEXSEDS = (XBS+XDS-XCXS)/(XBS-XCXS)
-   XFSEDS  = XCS*XAS*XCCS*MOMG(XALPHAS,XNUS,XBS+XDS)*                         &
-            (XAS*XCCS*MOMG(XALPHAS,XNUS,XBS))**(-XEXSEDS)*(ZRHO00)**XCEXVT
-END IF
+!ELSE
+!   XEXSEDS = (XBS+XDS-XCXS)/(XBS-XCXS)
+!   XFSEDS  = XCS*XAS*XCCS*MOMG(XALPHAS,XNUS,XBS+XDS)*                         &
+!            (XAS*XCCS*MOMG(XALPHAS,XNUS,XBS))**(-XEXSEDS)*(ZRHO00)**XCEXVT
+!END IF
 !
 XEXSEDG = (XBG+XDG-XCXG)/(XBG-XCXG)
 XFSEDG  = XCG*XAG*XCCG*MOMG(XALPHAG,XNUG,XBG+XDG)*                         &
diff --git a/src/MNH/lima_cold_slow_processes.f90 b/src/MNH/lima_cold_slow_processes.f90
index a74b94686bd4113686802ef74b2d3efa9d0133c1..29c1aecbe47c04efb136d3175a07def0a5d552e9 100644
--- a/src/MNH/lima_cold_slow_processes.f90
+++ b/src/MNH/lima_cold_slow_processes.f90
@@ -393,7 +393,7 @@ IF( IMICRO >= 1 ) THEN
       WHERE ( (ZRST(:)>XRTMIN(5)) .AND. (ZRSS(:)>ZRTMIN(5)) )
          ZZW(:) = ( ZRST(:)*ZSSI(:)/(ZAI(:)) ) *                                            &
               ( X0DEPS*ZLBDAS(:)**XEX0DEPS +                                                &
-              (X1DEPS*ZCJ(:)*(1+(XFVELOS/(2.*ZLBDAS))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS) * &
+              (X1DEPS*ZCJ(:)*(1+0.5*(XFVELOS/ZLBDAS(:))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS) * &
               (ZLBDAS(:))**(XEX1DEPS+XBS)))
 
          ZZW(:) =    MIN( ZRVS(:),ZZW(:)      )*(0.5+SIGN(0.5,ZZW(:))) &
diff --git a/src/MNH/lima_conversion_melting_snow.f90 b/src/MNH/lima_conversion_melting_snow.f90
index 307db0255eed1136811b4b159c846dcbfa692c6a..d1aa60aa4bce5b2f8b976da30a763c994472b5f6 100644
--- a/src/MNH/lima_conversion_melting_snow.f90
+++ b/src/MNH/lima_conversion_melting_snow.f90
@@ -107,10 +107,10 @@ WHERE( (PRST(:)>XRTMIN(5)) .AND. (PT(:)>XTT) .AND. LDCOMPUTE(:) )
 !
 ! compute RSMLT
 !
-   ZW(:)  = XFSCVMG*MAX( 0.0,( -ZW(:) * PRHODREF(:) * PRST(:) *          &
+   ZW(:)  = XFSCVMG*MAX( 0.0,( -ZW(:) * PRST(:) *                        &
                                ( X0DEPS*PLBDS(:)**XEX0DEPS +             &
                                  X1DEPS*PCJ(:)*PLBDS(:)**(XEX1DEPS+XBS)* &
-                                   (1+(XFVELOS/(2.*PLBDS(:)))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS)) ))
+                                   (1+0.5*(XFVELOS/PLBDS(:))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS)) ))
 ! On ne tient pas compte de la collection de pluie et gouttelettes par la neige si T>0 !!!! 
 ! Note that no heat is exchanged because the graupeln produced are still icy!!!
    P_RS_CMEL(:) = - ZW(:)
diff --git a/src/MNH/lima_ice_snow_deposition.f90 b/src/MNH/lima_ice_snow_deposition.f90
deleted file mode 100644
index 4968a192d96274ad12ef8a4e3376e72ac36f1a6c..0000000000000000000000000000000000000000
--- a/src/MNH/lima_ice_snow_deposition.f90
+++ /dev/null
@@ -1,233 +0,0 @@
-!MNH_LIC Copyright 2013-2018 CNRS, Meteo-France and Universite Paul Sabatier
-!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
-!MNH_LIC for details. version 1.
-!      #####################
-       MODULE MODI_LIMA_ICE_SNOW_DEPOSITION
-!      #####################
-!
-INTERFACE
-      SUBROUTINE LIMA_ICE_SNOW_DEPOSITION (PTSTEP, LDCOMPUTE,                 &
-                                           PRHODREF, PSSI, PAI, PCJ, PLSFACT, &
-                                           PRIT, PRST, PCIT, PLBDI, PLBDS,    &
-                                           P_RI_CNVI, P_CI_CNVI,              &
-                                           P_TH_DEPS, P_RS_DEPS,              &
-                                           P_RI_CNVS, P_CI_CNVS,              &
-                                           PA_TH, PA_RV, PA_RI, PA_CI, PA_RS  )
-!
-REAL,                 INTENT(IN)    :: PTSTEP
-LOGICAL, DIMENSION(:),INTENT(IN)    :: LDCOMPUTE
-!
-REAL, DIMENSION(:),   INTENT(IN)    :: PRHODREF! Reference density
-REAL, DIMENSION(:),   INTENT(IN)    :: PSSI  ! abs. pressure at time t
-REAL, DIMENSION(:),   INTENT(IN)    :: PAI  ! abs. pressure at time t
-REAL, DIMENSION(:),   INTENT(IN)    :: PCJ  ! abs. pressure at time t
-REAL, DIMENSION(:),   INTENT(IN)    :: PLSFACT  ! abs. pressure at time t
-!
-REAL, DIMENSION(:),   INTENT(IN)    :: PRIT    ! Cloud ice m.r. at t 
-REAL, DIMENSION(:),   INTENT(IN)    :: PRST    ! Snow/aggregate m.r. at t 
-!
-REAL, DIMENSION(:),   INTENT(IN)    :: PCIT    ! Ice crystal C. at t
-!
-REAL, DIMENSION(:),   INTENT(IN)    :: PLBDI    ! Graupel m.r. at t 
-REAL, DIMENSION(:),   INTENT(IN)    :: PLBDS    ! Graupel m.r. at t 
-!
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_RI_CNVI
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_CI_CNVI
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_TH_DEPS
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_RS_DEPS
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_RI_CNVS
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_CI_CNVS
-!
-REAL, DIMENSION(:),   INTENT(INOUT) :: PA_TH
-REAL, DIMENSION(:),   INTENT(INOUT) :: PA_RV
-REAL, DIMENSION(:),   INTENT(INOUT) :: PA_RI
-REAL, DIMENSION(:),   INTENT(INOUT) :: PA_CI
-REAL, DIMENSION(:),   INTENT(INOUT) :: PA_RS
-!
-END SUBROUTINE LIMA_ICE_SNOW_DEPOSITION
-END INTERFACE
-END MODULE MODI_LIMA_ICE_SNOW_DEPOSITION
-!
-!     ##########################################################################
-SUBROUTINE LIMA_ICE_SNOW_DEPOSITION (PTSTEP, LDCOMPUTE,                        &
-                                     PRHODREF,  PSSI, PAI, PCJ, PLSFACT,       &
-                                     PRIT, PRST, PCIT, PLBDI, PLBDS,           &
-                                     P_RI_CNVI, P_CI_CNVI,                     &
-                                     P_TH_DEPS, P_RS_DEPS,                     &
-                                     P_RI_CNVS, P_CI_CNVS,                     &
-                                     PA_TH, PA_RV, PA_RI, PA_CI, PA_RS         )
-!     ##########################################################################
-!
-!!    PURPOSE
-!!    -------
-!!      The purpose of this routine is to compute the microphysical sources
-!!    for slow cold processes :
-!!      - conversion of snow to ice
-!!      - deposition of vapor on snow
-!!      - conversion of ice to snow (Harrington 1995)
-!!
-!!
-!!    AUTHOR
-!!    ------
-!!      J.-M. Cohard     * Laboratoire d'Aerologie*
-!!      J.-P. Pinty      * Laboratoire d'Aerologie*
-!!      S.    Berthet    * Laboratoire d'Aerologie*
-!!      B.    ViƩ        * CNRM *
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original             15/03/2018
-!  J. Wurtz       03/2022: new snow characteristics
-!!
-!-------------------------------------------------------------------------------
-!
-!*       0.    DECLARATIONS
-!              ------------
-!
-USE MODD_PARAM_LIMA,      ONLY : XRTMIN, XCTMIN, XALPHAI, XALPHAS, XNUI, XNUS
-USE MODD_PARAM_LIMA_COLD, ONLY : XCXS, XNS, XBS, &
-                                 XLBDAS_MAX, XDSCNVI_LIM, XLBDASCNVI_MAX,     &
-                                 XC0DEPSI, XC1DEPSI, XR0DEPSI, XR1DEPSI,      &
-                                 XSCFAC, X1DEPS, X0DEPS, XEX1DEPS, XEX0DEPS,  &
-                                 XDICNVS_LIM, XLBDAICNVS_LIM,                 &
-                                 XC0DEPIS, XC1DEPIS, XR0DEPIS, XR1DEPIS,      &
-                                 XCOLEXIS, XAGGS_CLARGE1, XAGGS_CLARGE2,      &
-                                 XAGGS_RLARGE1, XAGGS_RLARGE2, XFVELOS
-
-!
-IMPLICIT NONE
-!
-!*       0.1   Declarations of dummy arguments :
-!
-REAL,                 INTENT(IN)    :: PTSTEP
-LOGICAL, DIMENSION(:),INTENT(IN)    :: LDCOMPUTE
-!
-REAL, DIMENSION(:),   INTENT(IN)    :: PRHODREF! Reference density
-REAL, DIMENSION(:),   INTENT(IN)    :: PSSI  ! abs. pressure at time t
-REAL, DIMENSION(:),   INTENT(IN)    :: PAI  ! abs. pressure at time t
-REAL, DIMENSION(:),   INTENT(IN)    :: PCJ  ! abs. pressure at time t
-REAL, DIMENSION(:),   INTENT(IN)    :: PLSFACT  ! abs. pressure at time t
-!
-REAL, DIMENSION(:),   INTENT(IN)    :: PRIT    ! Cloud ice m.r. at t 
-REAL, DIMENSION(:),   INTENT(IN)    :: PRST    ! Snow/aggregate m.r. at t 
-!
-REAL, DIMENSION(:),   INTENT(IN)    :: PCIT    ! Ice crystal C. at t
-!
-REAL, DIMENSION(:),   INTENT(IN)    :: PLBDI    ! Graupel m.r. at t 
-REAL, DIMENSION(:),   INTENT(IN)    :: PLBDS    ! Graupel m.r. at t 
-!
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_RI_CNVI
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_CI_CNVI
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_TH_DEPS
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_RS_DEPS
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_RI_CNVS
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_CI_CNVS
-!
-REAL, DIMENSION(:),   INTENT(INOUT) :: PA_TH
-REAL, DIMENSION(:),   INTENT(INOUT) :: PA_RV
-REAL, DIMENSION(:),   INTENT(INOUT) :: PA_RI
-REAL, DIMENSION(:),   INTENT(INOUT) :: PA_CI
-REAL, DIMENSION(:),   INTENT(INOUT) :: PA_RS
-!
-!*       0.2   Declarations of local variables :
-!
-LOGICAL, DIMENSION(SIZE(PRHODREF)) :: GMICRO ! Computations only where necessary
-REAL,    DIMENSION(SIZE(PRHODREF)) :: ZZW, ZZW2, ZZX ! Work array
-!
-!
-!-------------------------------------------------------------------------------
-!
-P_RI_CNVI(:) = 0.
-P_CI_CNVI(:) = 0.
-P_TH_DEPS(:) = 0.
-P_RS_DEPS(:) = 0.
-P_RI_CNVS(:) = 0.
-P_CI_CNVS(:) = 0.
-!
-! Physical limitations
-!
-!
-! Looking for regions where computations are necessary
-!
-GMICRO(:) = .FALSE.
-GMICRO(:) = LDCOMPUTE(:) .AND. &
-     (PRIT(:)>XRTMIN(4)      .OR.  &
-      PRST(:)>XRTMIN(5))
-!
-!
-WHERE( GMICRO )
-!
-!*       2.1    Conversion of snow to r_i: RSCNVI
-!        ----------------------------------------
-!
-!
-   ZZW2(:) = 0.0
-   ZZW(:) = 0.0
-   WHERE ( PLBDS(:)<XLBDASCNVI_MAX .AND. (PRST(:)>XRTMIN(5)) &
-                                   .AND. (PSSI(:)<0.0)       )
-      ZZW(:) = (PLBDS(:)*XDSCNVI_LIM)**(XALPHAS)
-      ZZX(:) = ( -PSSI(:)/PAI(:) ) * (XNS*PRST(:)*PLBDS(:)**XBS) * (ZZW(:)**XNUS) * EXP(-ZZW(:))
-!
-      ZZW(:) = ( XR0DEPSI+XR1DEPSI*PCJ(:) )*ZZX(:)
-!
-      ZZW2(:) = ZZW(:)*( XC0DEPSI+XC1DEPSI*PCJ(:) )/( XR0DEPSI+XR1DEPSI*PCJ(:) )
-   END WHERE
-!
-   P_RI_CNVI(:) = ZZW(:)
-   P_CI_CNVI(:) = ZZW2(:)
-!
-   PA_RI(:) = PA_RI(:) + P_RI_CNVI(:)
-   PA_CI(:) = PA_CI(:) + P_CI_CNVI(:)
-   PA_RS(:) = PA_RS(:) - P_RI_CNVI(:)
-!
-!
-!*       2.2    Deposition of water vapor on r_s: RVDEPS
-!        -----------------------------------------------
-!
-!
-   ZZW(:) = 0.0
-   WHERE ( (PRST(:)>XRTMIN(5)) )
-      ZZW(:) =( PRST(:)*PSSI(:)/PAI(:) ) *                               &
-           ( X0DEPS*PLBDS(:)**XEX0DEPS +                &
-           ( X1DEPS*PCJ(:)*(PLBDS(:))**(XBS+XEX1DEPS) * &
-                    (1+(XFVELOS/(2.*PLBDS(:)))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS)))
-      ZZW(:) =    ZZW(:)*(0.5+SIGN(0.5,ZZW(:))) - ABS(ZZW(:))*(0.5-SIGN(0.5,ZZW(:)))
-   END WHERE
-!
-   P_RS_DEPS(:) = ZZW(:)
-   P_TH_DEPS(:) = P_RS_DEPS(:) * PLSFACT(:)
-!
-   PA_TH(:) = PA_TH(:) + P_TH_DEPS(:)
-   PA_RV(:) = PA_RV(:) - P_RS_DEPS(:) 
-   PA_RS(:) = PA_RS(:) + P_RS_DEPS(:) 
-!
-!
-!*       2.3    Conversion of pristine ice to r_s: RICNVS
-!        ------------------------------------------------
-!
-!
-   ZZW(:) = 0.0
-   ZZW2(:) = 0.0
-   WHERE ( (PLBDI(:)<XLBDAICNVS_LIM) .AND. (PCIT(:)>XCTMIN(4)) &
-                                     .AND. (PSSI(:)>0.0)       )
-      ZZW(:) = (PLBDI(:)*XDICNVS_LIM)**(XALPHAI)
-      ZZX(:) = ( PSSI(:)/PAI(:) )*PCIT(:) * (ZZW(:)**XNUI) *EXP(-ZZW(:))
-!
-      ZZW(:) = ( XR0DEPIS + XR1DEPIS*PCJ(:) )*ZZX(:)                             
-!
-      ZZW2(:) = ZZW(:) * (XC0DEPIS+XC1DEPIS*PCJ(:)) / (XR0DEPIS+XR1DEPIS*PCJ(:))
-   END WHERE
-!
-P_RI_CNVS(:) = - ZZW(:)
-P_CI_CNVS(:) = - ZZW2(:)
-!
-PA_RI(:) = PA_RI(:) + P_RI_CNVS(:)
-PA_CI(:) = PA_CI(:) + P_CI_CNVS(:)
-PA_RS(:) = PA_RS(:) - P_RI_CNVS(:)
-!
-!
-END WHERE
-!
-!
-END SUBROUTINE LIMA_ICE_SNOW_DEPOSITION
diff --git a/src/MNH/lima_mixed_fast_processes.f90 b/src/MNH/lima_mixed_fast_processes.f90
index 94b622ef3ed710bb825964bb9aeadab84b7025a8..056386015b61db1bb4f7b0292e01bebeacae45cf 100644
--- a/src/MNH/lima_mixed_fast_processes.f90
+++ b/src/MNH/lima_mixed_fast_processes.f90
@@ -923,8 +923,8 @@ WHERE( (PRST1D(:)>XRTMIN(5)) .AND. (PRSS1D(:)>XRTMIN(5)/PTSTEP) .AND. (PZT(:)>XT
 ! compute RSMLT
 !
   ZZW(:)  = MIN( PRSS1D(:), XFSCVMG*MAX( 0.0,( -ZZW(:) *             &
-                          PRHODREF(:) * PRST1D(:)*( X0DEPS*            PLBDAS(:)**XEX0DEPS +     &
-                          X1DEPS*PCJ(:)*(1+(XFVELOS/(2.*PLBDAS(:)))**XALPHAS) &
+                          PRST1D(:)*( X0DEPS*            PLBDAS(:)**XEX0DEPS +     &
+                          X1DEPS*PCJ(:)*(1+0.5*(XFVELOS/PLBDAS(:))**XALPHAS) &
                           **(-XNUS+XEX1DEPS/XALPHAS)*(PLBDAS(:))**(XEX1DEPS+XBS))-    &
                                     ( ZZW1(:,1)+ZZW1(:,4) ) *       &
                              ( PRHODREF(:)*XCL*(XTT-PZT(:))) ) /    &
diff --git a/src/MNH/lima_raindrop_shattering_freezing.f90 b/src/MNH/lima_raindrop_shattering_freezing.f90
index 0bd4f18e5b18bd822b216ede6546b9ace5c917ba..dc7c14066214dfb589ad8428291dbc1c9262706d 100644
--- a/src/MNH/lima_raindrop_shattering_freezing.f90
+++ b/src/MNH/lima_raindrop_shattering_freezing.f90
@@ -8,11 +8,11 @@
 !      #############################################
 !
 INTERFACE
-   SUBROUTINE LIMA_RAINDROP_SHATTERING_FREEZING (LDCOMPUTE,              &
-                                                 PRHODREF,               &
-                                                 PRRT, PCRT, PRIT, PCIT, &
-                                                 PLBDR,                  &
-                                                 P_RI_RDSF, P_CI_RDSF    )
+   SUBROUTINE LIMA_RAINDROP_SHATTERING_FREEZING (LDCOMPUTE,                    &
+                                                 PRHODREF,                     &
+                                                 PRRT, PCRT, PRIT, PCIT, PRGT, &
+                                                 PLBDR,                        &
+                                                 P_RI_RDSF, P_CI_RDSF          )
 !
 LOGICAL, DIMENSION(:),INTENT(IN)    :: LDCOMPUTE
 !
@@ -22,6 +22,7 @@ REAL, DIMENSION(:),   INTENT(IN)    :: PRRT
 REAL, DIMENSION(:),   INTENT(IN)    :: PCRT
 REAL, DIMENSION(:),   INTENT(IN)    :: PRIT
 REAL, DIMENSION(:),   INTENT(IN)    :: PCIT
+REAL, DIMENSION(:),   INTENT(IN)    :: PRGT
 REAL, DIMENSION(:),   INTENT(IN)    :: PLBDR 
 !
 REAL, DIMENSION(:),   INTENT(OUT)   :: P_RI_RDSF
@@ -32,11 +33,11 @@ END INTERFACE
 END MODULE MODI_LIMA_RAINDROP_SHATTERING_FREEZING
 !
 !     #######################################################################
-      SUBROUTINE LIMA_RAINDROP_SHATTERING_FREEZING (LDCOMPUTE,              &
-                                                    PRHODREF,               &
-                                                    PRRT, PCRT, PRIT, PCIT, &
-                                                    PLBDR,                  &
-                                                    P_RI_RDSF, P_CI_RDSF    )
+      SUBROUTINE LIMA_RAINDROP_SHATTERING_FREEZING (LDCOMPUTE,                    &
+                                                    PRHODREF,                     &
+                                                    PRRT, PCRT, PRIT, PCIT, PRGT, &
+                                                    PLBDR,                        &
+                                                    P_RI_RDSF, P_CI_RDSF          )
 !     #######################################################################
 !
 !!    PURPOSE
@@ -75,6 +76,7 @@ REAL, DIMENSION(:),   INTENT(IN)    :: PRRT
 REAL, DIMENSION(:),   INTENT(IN)    :: PCRT
 REAL, DIMENSION(:),   INTENT(IN)    :: PRIT
 REAL, DIMENSION(:),   INTENT(IN)    :: PCIT
+REAL, DIMENSION(:),   INTENT(IN)    :: PRGT
 REAL, DIMENSION(:),   INTENT(IN)    :: PLBDR 
 !
 REAL, DIMENSION(:),   INTENT(OUT)   :: P_RI_RDSF
@@ -97,7 +99,8 @@ P_RI_RDSF(:)=0.
 P_CI_RDSF(:)=0.
 !
 GRDSF(:) = LRDSF .AND. LDCOMPUTE .AND. (PRIT(:)>XRTMIN(4)) .AND. (PRRT(:)>XRTMIN(3)) &
-                                 .AND. (PCIT(:)>XCTMIN(4)) .AND. (PCRT(:)>XCTMIN(3))
+                                 .AND. (PCIT(:)>XCTMIN(4)) .AND. (PCRT(:)>XCTMIN(3)) &
+                                 .AND. (PRGT(:)>XRTMIN(6))
 
 IRDSF    = COUNT( GRDSF(:) )
 !
diff --git a/src/MNH/lima_sedimentation.f90 b/src/MNH/lima_sedimentation.f90
index 8d48b776d8a46279ab4b6fd8268068faf0411f5e..cd90504a16afa3c292a32916c8014c6c856d3918 100644
--- a/src/MNH/lima_sedimentation.f90
+++ b/src/MNH/lima_sedimentation.f90
@@ -195,7 +195,7 @@ DO JN = 1 ,  NSPLITSED(KID)
          END WHERE
          ZLBDA(:) = ZLBDA(:)*XTRANS_MP_GAMMAS
          ZZW(:) = XFSEDR(KID) * ZRHODREF(:)**(1.-XCEXVT)*ZRS(:)* &
-              (1 + (XFVELOS/ZLBDA(:))**XALPHAS)**(-XNUS+XEXSEDS/XALPHAS) * ZLBDA(:)**(XBS+XEXSEDS)
+              (1 + (XFVELOS/ZLBDA(:))**XALPHAS)**(-XNUS-(XD(KID)+XBS)/XALPHAS) * ZLBDA(:)**(-XD(KID))
       ELSE
          IF (KMOMENTS==1) ZLBDA(:) = XLB(KID) * ( ZRHODREF(:) * ZRS(:) )**XLBEX(KID)
          IF (KMOMENTS==2) ZLBDA(:) = ( XLB(KID)*ZCS(:) / ZRS(:) )**XLBEX(KID)
diff --git a/src/MNH/lima_snow_deposition.f90 b/src/MNH/lima_snow_deposition.f90
index fd28d8c6d889fa51b7ae00afe61a9e709772ebb9..5a6ec35cae5f6ad959acebd6acd776277c2d067a 100644
--- a/src/MNH/lima_snow_deposition.f90
+++ b/src/MNH/lima_snow_deposition.f90
@@ -125,10 +125,10 @@ IF (NMOM_I.EQ.1) THEN
 !
       ZZW(:) = 0.0
       WHERE ( (PRST(:)>XRTMIN(5)) )
-         ZZW(:) = PRHODREF(:) * PRST(:) * PSSI(:) / PAI(:) * &
+         ZZW(:) = PRST(:) * PSSI(:) / PAI(:) * &
               ( X0DEPS*PLBDS(:)**XEX0DEPS +                  &
                 X1DEPS*PLBDS(:)**(XEX1DEPS+XBS)*PCJ(:) *     &
-                     (1+(XFVELOS/(2.*PLBDS))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS) )
+                     (1+0.5*(XFVELOS/PLBDS(:))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS) )
          ZZW(:) =    ZZW(:)*(0.5+SIGN(0.5,ZZW(:))) - ABS(ZZW(:))*(0.5-SIGN(0.5,ZZW(:)))
       END WHERE
       P_RS_DEPS(:) = ZZW(:)
@@ -165,7 +165,7 @@ ELSE
          ZZW(:) = ( PRST(:)*PSSI(:)/(PAI(:)) ) *           &
               ( X0DEPS*PLBDS(:)**XEX0DEPS +                &
               ( X1DEPS*PCJ(:)*(PLBDS(:))**(XBS+XEX1DEPS) * &
-                   (1+(XFVELOS/(2.*PLBDS))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS)) )
+                   (1+0.5*(XFVELOS/PLBDS(:))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS)) )
          ZZW(:) =    ZZW(:)*(0.5+SIGN(0.5,ZZW(:))) - ABS(ZZW(:))*(0.5-SIGN(0.5,ZZW(:)))
       END WHERE
 !
diff --git a/src/MNH/lima_tendencies.f90 b/src/MNH/lima_tendencies.f90
index 70ced659193c877601dcd35f54ec0a7ff76f7508..0d46f5d36f39ed61125aa1e90eb02f9dc3fbe68c 100644
--- a/src/MNH/lima_tendencies.f90
+++ b/src/MNH/lima_tendencies.f90
@@ -882,7 +882,7 @@ IF (LWARM .AND. LRAIN .AND. LCOLD .AND. LSNOW .AND. LRDSF) THEN
    !
    CALL LIMA_RAINDROP_SHATTERING_FREEZING (LDCOMPUTE,                                      & ! depends on PF, IF
                                            PRHODREF,                                       &
-                                           PRRT/ZPF1D, PCRT/ZPF1D, PRIT/ZIF1D, PCIT/ZIF1D, &
+                                           PRRT/ZPF1D, PCRT/ZPF1D, PRIT/ZIF1D, PCIT/ZIF1D, PRGT/ZPF1D, &
                                            ZLBDR,                                          &
                                            P_RI_RDSF, P_CI_RDSF                            )
    P_RI_RDSF(:) = P_RI_RDSF(:) * ZIF1D(:)
diff --git a/src/MNH/rain_ice_red.f90 b/src/MNH/rain_ice_red.f90
index 6f87ff075f52affb633e8300884452fcfc8eb09c..32b08c2d26ec8b7618006ee0bf57bee0e63bce81 100644
--- a/src/MNH/rain_ice_red.f90
+++ b/src/MNH/rain_ice_red.f90
@@ -590,7 +590,9 @@ DO JK = 1, KKT
                END IF
             END IF
          ELSE
-            ZLBDAS(JI,JJ,JK)  = MAX(MIN(XLBDAS_MAX,XLBS*(PRHODREF(JI,JK,JL)*PRST(JI,JK,JL))**XLBEXS),XLBDAS_MIN)
+            IF (PRST(JI,JJ,JK).GT.XRTMIN(5)) THEN
+               ZLBDAS(JI,JJ,JK)  = MAX(MIN(XLBDAS_MAX,XLBS*(PRHODREF(JI,JJ,JK)*PRST(JI,JJ,JK))**XLBEXS),XLBDAS_MIN)
+            END IF
          END IF
       END DO
    END DO
@@ -648,8 +650,7 @@ IF(.NOT. LSEDIM_AFTER) THEN
     IF(KRR==7) THEN
       CALL ICE4_SEDIMENTATION_SPLIT(IIB, IIE, KIT, IJB, IJE, KJT, IKB, IKE, IKTB, IKTE, KKT, KKL, &
                                    &PTSTEP, KRR, OSEDIC, LDEPOSC, XVDEPOSC, PDZZ, &
-                                   &PRHODREF, PPABST, PTHT, PRHODJ, &
-				   &ZLBDAS, &
+                                   &PRHODREF, PPABST, PTHT, ZT, PRHODJ, &
                                    &PRCS, PRCT, PRRS, PRRT, PRIS, PRIT, PRSS, PRST, PRGS, PRGT,&
                                    &PINPRC, PINDEP, PINPRR, ZINPRI, PINPRS, PINPRG, &
                                    &PSEA=PSEA, PTOWN=PTOWN, &
@@ -657,8 +658,7 @@ IF(.NOT. LSEDIM_AFTER) THEN
     ELSE
       CALL ICE4_SEDIMENTATION_SPLIT(IIB, IIE, KIT, IJB, IJE, KJT, IKB, IKE, IKTB, IKTE, KKT, KKL, &
                                    &PTSTEP, KRR, OSEDIC, LDEPOSC, XVDEPOSC, PDZZ, &
-                                   &PRHODREF, PPABST, PTHT, PRHODJ, &
-				   &ZLBDAS, &
+                                   &PRHODREF, PPABST, PTHT, ZT, PRHODJ, &
                                    &PRCS, PRCT, PRRS, PRRT, PRIS, PRIT, PRSS, PRST, PRGS, PRGT,&
                                    &PINPRC, PINDEP, PINPRR, ZINPRI, PINPRS, PINPRG, &
                                    &PSEA=PSEA, PTOWN=PTOWN, &