Files
GEOS-Chem-adjoint-v35-note/code/CMN_SIZE
2018-08-28 00:43:47 -04:00

688 lines
24 KiB
Plaintext

! $Id: CMN_SIZE,v 1.2 2012/03/01 22:00:25 daven Exp $
!=======================================================================
! CMN_SIZE: size parameters for GEOS-CHEM arrays (bmy, 3/16/01, 4/3/07)
!
! NOTES:
! (1 ) Now set LLTROP = 20 for GEOS-3 (bmy, 4/12/01)
! (2 ) Eliminated obsolete commented-out code (bmy, 4/20/01)
! (3 ) Now set MAXFAM = 12 for more P-L families (bmy, 6/28/01)
! (4 ) Comment out {IJL}GCMPAR -- these are obosolete (bmy, 9/24/01)
! (5 ) Also set LLPAR = 30 for GEOS-3, will regrid online (bmy, 9/24/01)
! (6 ) Removed obsolete code from 9/01 (bmy, 10/23/01)
! (7 ) Removed NAIR, LAIREMS, these are now defined
! in "aircraft_nox_mod.f" (bmy, 2/14/02)
! (8 ) Eliminated commented-out code from 2/14/02. Also added NAER
! and NRH parameters for aerosols. (rvm, bmy, 2/27/02)
! (9 ) Removed IM, JM, IMX, JMX to avoid namespace pollution. This
! is needed to get the new TPCORE to work. Also changed RCS
! ID tag comment character from "C" to "!" to allow freeform
! compilation. (bmy, 6/25/02)
! (10) Removed obsolete code from 6/02 (bmy, 8/26/02)
! (11) Added NUMDEP_SULF in a common block for sulfate dry deposition.
! Also set MAXDEP=31 and NNPAR=31 for coupled fullchem/sulfate
! simulations. (rjp, bdf, bmy, 11/15/02)
! (12) Removed I0, J0; these are now superseded by "grid_mod.f"
! (bmy, 2/11/03)
! (13) Added parameters for GEOS-4 (bmy, 6/18/03)
! (14) Now defines both 55 level and 30 level GEOS-4 grids. Also
! define LLTROP=19 for GEOS-4 grids. Also remove obsolete
! GEOS-2 grid declarations. (bmy, 10/31/03)
! (15) LLTROP should be 17 for GEOS-4...based on the ND55 diagnostic
! when computed for 2003 met fields (bmy, 2/18/04)
! (16) Increase NNPAR from 31 to 39 for carbon & dust tracers. Also
! declare NDSTBIN as # of dust bins. (rvm, tdf, bmy, 4/1/04)
! (17) Increase NNPAR to 41 for seasalt tracers (rjp, bec, bmy, 4/20/04)
! (18) Increase NNPAR to 50 for SOA tracers (rjp, bmy, 7/15/04)
! (19) Now use NESTED_CH and NESTED_NA cpp switches to define
! parameters for 1x1 nested grids. Also add parameters for
! the 1 x 1.25 global grid. (bmy, 12/1/04)
! (20) Now add parameters for GCAP and GEOS-5 grids. Remove references
! to obsolete LGEOSCO and FULLCHEM Cpp switches (bmy, 6/24/05)
! (21) Now add I1x1 and J1x1 parameters for data on the 1x1 GEOS
! grid. (bmy, 10/24/05)
! (22) Increase NNPAR to 52 (bmy, 12/6/05)
! (23) Increase NNPAR to 54 (dkh, bmy, 5/22/06)
! (24) Remove support for GEOS-1 and GEOS-STRAT met fields (bmy, 8/4/06)
! (25) Added variable tropopause case (bmy, phs, bdf, 8/21/06)
! (26) Set LLTROP to level of first box entirely above 20km for GEOS-3
! and GEOS-4 (phS, 9/14/06)
! (27) Bug fix: set LLTROP_FIX = LLPAR for GCAP (bmy, 11/29/06)
! (28) Reset vertical coordinates for GEOS-5. Also renamed GRID30LEV
! to GRIDREDUCED (bmy, 4/3/07)
! (29) New parameters for GEOS-5 nested grid (yxw, dan, bmy, 11/6/08)
! (30) NEMPARA set to 12 to emit O3 and HNO3 (phs, 4/3/08)
! (31) Add tracers to NNPAR = 73. (tmf, 1/7/09)
! (32) NEMPARA set to 21 to emit new tracers for GLYX chemistry
! (tmf, ccc, 3/2/09)
! (33) NEMPARB set to 3 to emit MBO, MONX (tmf, ccc, 3/2/09)
!=======================================================================
! C Preprocessor #define statements for conditional compilation
# include "define.h"
!=================================================================
! DISIZE = size (in degrees) of a longitude grid box
! DJSIZE = size (in degrees) of a latitude grid box
!=================================================================
#if defined( GRID4x5 )
REAL*8, PARAMETER :: DISIZE = 5.0d0
REAL*8, PARAMETER :: DJSIZE = 4.0d0
#elif defined( GRID2x25 )
REAL*8, PARAMETER :: DISIZE = 2.5d0
REAL*8, PARAMETER :: DJSIZE = 2.0d0
#elif defined( GRID1x125 )
REAL*8, PARAMETER :: DISIZE = 1.25d0
REAL*8, PARAMETER :: DJSIZE = 1.0d0
#elif defined( GRID1x1 )
REAL*8, PARAMETER :: DISIZE = 1.0d0
REAL*8, PARAMETER :: DJSIZE = 1.0d0
#elif defined( GRID05x0666 )
REAL*8, PARAMETER :: DISIZE = 2d0/3d0
REAL*8, PARAMETER :: DJSIZE = 0.5d0
#elif defined( GRID025x03125 )
! (lzh,02/01/2015) add 0.25 nested
REAL*8, PARAMETER :: DISIZE = 0.3125d0
REAL*8, PARAMETER :: DJSIZE = 0.25d0
#endif
!=================================================================
! GRID PARAMETERS
!
! IGLOB = global longitude dimension
! JGLOB = global latitude dimension
! LGLOB = max number of sigma levels
! IIPAR = window longitude dimension
! JJPAR = window latitude dimension
! LLPAR = window vertical dimension
! LLTROP = maximum number of tropospheric levels for variable
! tropopause
! LLTROP_FIX = number of tropospheric levels for offline simulations
! PTOP = model top pressure (mb)
!
! Most of the time, GEOS-CHEM is used for global simulations.
! In this case, then IIPAR=IGLOB, JJPAR=JGLOB, LLPAR=LGLOB.
!
! For nested grids, then IIPAR<IGLOB, JJPAR<JGLOB, LLPAR<LGLOB.
!=================================================================
#if defined( GCAP ) && defined( GRID4x5 )
!--------------------
! GCAP 4 x 5
!--------------------
INTEGER, PARAMETER :: IGLOB = 72
INTEGER, PARAMETER :: JGLOB = 45
INTEGER, PARAMETER :: LGLOB = 23
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
INTEGER, PARAMETER :: LLPAR = LGLOB
INTEGER, PARAMETER :: LLTROP = 12
INTEGER, PARAMETER :: LLTROP_FIX = LLTROP
REAL*8, PARAMETER :: PTOP = 0.002d0
#elif defined( GEOS_3 ) && defined( GRID4x5 )
!--------------------
! GEOS-3 4 x 5
!--------------------
INTEGER, PARAMETER :: IGLOB = 72
INTEGER, PARAMETER :: JGLOB = 46
INTEGER, PARAMETER :: LGLOB = 48
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 30 ! 30 levels
INTEGER, PARAMETER :: LLTROP = 24
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 48 levels
INTEGER, PARAMETER :: LLTROP = 25
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 20
REAL*8, PARAMETER :: PTOP = 0.01d0
#elif defined( GEOS_3 ) && defined( GRID2x25 )
!--------------------
! GEOS-3 2 x 2.5
!--------------------
INTEGER, PARAMETER :: IGLOB = 144
INTEGER, PARAMETER :: JGLOB = 91
INTEGER, PARAMETER :: LGLOB = 48
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 30 ! 30 levels
INTEGER, PARAMETER :: LLTROP = 24
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 48 levels
INTEGER, PARAMETER :: LLTROP = 25
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 20
REAL*8, PARAMETER :: PTOP = 0.01d0
#elif defined( GEOS_3 ) && defined( GRID1x1 )
!--------------------
! GEOS-3 1 x 1
!--------------------
#if defined( NESTED_CH )
! Parameters for the 1x1 CHINA NESTED GRID
INTEGER, PARAMETER :: IGLOB = 81
INTEGER, PARAMETER :: JGLOB = 67
INTEGER, PARAMETER :: LGLOB = 48
#elif defined( NESTED_NA )
! Parameters for the 1x1 NORTH AMERICA NESTED GRID
INTEGER, PARAMETER :: IGLOB = 101
INTEGER, PARAMETER :: JGLOB = 51
INTEGER, PARAMETER :: LGLOB = 48
#else
! Parameters for the 1x1 GLOBAL GRID
INTEGER, PARAMETER :: IGLOB = 360
INTEGER, PARAMETER :: JGLOB = 181
INTEGER, PARAMETER :: LGLOB = 48
#endif
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 30 ! 30 levels
INTEGER, PARAMETER :: LLTROP = 24
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 48 levels
INTEGER, PARAMETER :: LLTROP = 25
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 20
REAL*8, PARAMETER :: PTOP = 0.01d0
#elif defined( GEOS_4 ) && defined( GRID4x5 )
!--------------------
! GEOS-4 4 x 5
!--------------------
INTEGER, PARAMETER :: IGLOB = 72
INTEGER, PARAMETER :: JGLOB = 46
INTEGER, PARAMETER :: LGLOB = 55
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 30 ! 30 levels
INTEGER, PARAMETER :: LLTROP = 22
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 55 levels
INTEGER, PARAMETER :: LLTROP = 23
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 17
REAL*8, PARAMETER :: PTOP = 0.01d0
#elif defined( GEOS_4 ) && defined( GRID2x25 )
!--------------------
! GEOS-4 2 x 2.5
!--------------------
INTEGER, PARAMETER :: IGLOB = 144
INTEGER, PARAMETER :: JGLOB = 91
INTEGER, PARAMETER :: LGLOB = 55
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 30 ! 30 levels
INTEGER, PARAMETER :: LLTROP = 22
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 55 levels
INTEGER, PARAMETER :: LLTROP = 23
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 17
REAL*8, PARAMETER :: PTOP = 0.01d0
#elif defined( GEOS_4 ) && defined( GRID1x125 )
!--------------------
! GEOS-4 1 x 1.2.5
!--------------------
INTEGER, PARAMETER :: IGLOB = 288
INTEGER, PARAMETER :: JGLOB = 181
INTEGER, PARAMETER :: LGLOB = 55
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 30 ! 30 levels
INTEGER, PARAMETER :: LLTROP = 22
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 55 levels
INTEGER, PARAMETER :: LLTROP = 23
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 17
REAL*8, PARAMETER :: PTOP = 0.01d0
#elif defined( GEOS_5 ) && defined( GRID4x5 )
!--------------------
! GEOS-5 4 x 5
!--------------------
INTEGER, PARAMETER :: IGLOB = 72
INTEGER, PARAMETER :: JGLOB = 46
INTEGER, PARAMETER :: LGLOB = 72
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 47 ! 47 levels
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 72 levels
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 38
INTEGER, PARAMETER :: LLTROP = 38
REAL*8, PARAMETER :: PTOP = 0.01d0
#elif defined( GEOS_5 ) && defined( GRID2x25 )
!--------------------
! GEOS-5 2 x 2.5
!--------------------
INTEGER, PARAMETER :: IGLOB = 144
INTEGER, PARAMETER :: JGLOB = 91
INTEGER, PARAMETER :: LGLOB = 72
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 47 ! 30 levels
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 72 levels
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 38
INTEGER, PARAMETER :: LLTROP = 38
REAL*8, PARAMETER :: PTOP = 0.01d0
#elif defined( GEOS_5 ) && defined( GRID1x125 )
!--------------------
! GEOS-5 1 x 1.25
!--------------------
INTEGER, PARAMETER :: IGLOB = 288
INTEGER, PARAMETER :: JGLOB = 181
INTEGER, PARAMETER :: LGLOB = 72
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 47 ! 47 levels
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 72 levels
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 38
INTEGER, PARAMETER :: LLTROP = 38
REAL*8, PARAMETER :: PTOP = 0.01d0
#elif defined( GEOS_5 ) && defined( GRID05x0666 )
!--------------------
! GEOS-5 0.5 x 0.666
!--------------------
#if defined( NESTED_CH ) && !defined( NESTED_SD )
! Parameters for the 0.5x0.667 CHINA NESTED GRID
INTEGER, PARAMETER :: IGLOB = 121
INTEGER, PARAMETER :: JGLOB = 133
INTEGER, PARAMETER :: LGLOB = 72
#elif defined( NESTED_NA ) && !defined( NESTED_SD )
! Parameters for the 0.5x0.667 NORTH AMERICA NESTED GRID
INTEGER, PARAMETER :: IGLOB = 151
INTEGER, PARAMETER :: JGLOB = 121
INTEGER, PARAMETER :: LGLOB = 72
#elif (defined( NESTED_NA ) || defined( NESTED_CH )) && defined( NESTED_SD )
! Parameters for smaller domain
INTEGER, PARAMETER :: IGLOB = 91
INTEGER, PARAMETER :: JGLOB = 89
INTEGER, PARAMETER :: LGLOB = 72
#endif
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 47
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 72 levels
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 38
INTEGER, PARAMETER :: LLTROP = 38
REAL*8, PARAMETER :: PTOP = 0.01d0
!!! (lzh, 11/01/2014) add GEOS-FP
#elif defined( GEOS_FP ) && defined( GRID025x03125 ) && defined( NESTED_CH )
!-----------------------------------------------------------------
! GEOS-FP: Nested China Grid
!-----------------------------------------------------------------
INTEGER, PARAMETER :: IGLOB = 225
INTEGER, PARAMETER :: JGLOB = 161
INTEGER, PARAMETER :: LGLOB = 72
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 47 ! 47 levels
INTEGER, PARAMETER :: LLTROP_FIX = 38 ! -- 47 levels
INTEGER, PARAMETER :: LLTROP = 38
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 72 levels
INTEGER, PARAMETER :: LLTROP_FIX = 40 ! -- 72 levels
INTEGER, PARAMETER :: LLTROP = 40
#endif
REAL*8, PARAMETER :: PTOP = 0.01d0
#elif defined( GEOS_FP ) && defined( GRID025x03125 ) && defined( NESTED_NA)
!-----------------------------------------------------------------
! GEOS-FP Nested NA Grid
!-----------------------------------------------------------------
INTEGER, PARAMETER :: IGLOB = 225
INTEGER, PARAMETER :: JGLOB = 202
INTEGER, PARAMETER :: LGLOB = 72
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 47 ! Reduced vertical grid
INTEGER, PARAMETER :: LLTROP_FIX = 38 ! -- 47 levels
INTEGER, PARAMETER :: LLTROP = 38
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! Full vertical grid
INTEGER, PARAMETER :: LLTROP_FIX = 40 ! -- 72 levels
INTEGER, PARAMETER :: LLTROP = 40
#endif
REAL*8, PARAMETER :: PTOP = 0.01d0
#elif defined( GEOS_FP ) && defined( GRID2x25 )
!-----------------------------------------------------------------
! GEOS-FP: 2 x 2.5
!-----------------------------------------------------------------
INTEGER, PARAMETER :: IGLOB = 144
INTEGER, PARAMETER :: JGLOB = 91
INTEGER, PARAMETER :: LGLOB = 72
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 47 ! 47 levels
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 72 levels
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 38
INTEGER, PARAMETER :: LLTROP = 38
REAL*8, PARAMETER :: PTOP = 0.01d0
#elif defined( GEOS_FP ) && defined( GRID4x5 )
!-----------------------------------------------------------------
! GEOS-FP: 4 x 5
!-----------------------------------------------------------------
INTEGER, PARAMETER :: IGLOB = 72
INTEGER, PARAMETER :: JGLOB = 46
INTEGER, PARAMETER :: LGLOB = 72
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 47 ! 47 levels
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 72 levels
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 38
INTEGER, PARAMETER :: LLTROP = 38
REAL*8, PARAMETER :: PTOP = 0.01d0
!!! (lzh, 11/01/2014) add GEOS-FP
#elif defined( GEOS_FP ) && defined( GRID2x25 )
!-----------------------------------------------------------------
! GEOS-FP: 2 x 2.5
!-----------------------------------------------------------------
INTEGER, PARAMETER :: IGLOB = 144
INTEGER, PARAMETER :: JGLOB = 91
INTEGER, PARAMETER :: LGLOB = 72
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 47 ! 47 levels
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 72 levels
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 38
INTEGER, PARAMETER :: LLTROP = 38
REAL*8, PARAMETER :: PTOP = 0.01d0
#elif defined( GEOS_FP ) && defined( GRID4x5 )
!-----------------------------------------------------------------
! GEOS-FP: 4 x 5
!-----------------------------------------------------------------
INTEGER, PARAMETER :: IGLOB = 72
INTEGER, PARAMETER :: JGLOB = 46
INTEGER, PARAMETER :: LGLOB = 72
INTEGER, PARAMETER :: IIPAR = IGLOB
INTEGER, PARAMETER :: JJPAR = JGLOB
#if defined( GRIDREDUCED )
INTEGER, PARAMETER :: LLPAR = 47 ! 47 levels
#else
INTEGER, PARAMETER :: LLPAR = LGLOB ! 72 levels
#endif
! Set this so that we read data in correctly for offline sims
INTEGER, PARAMETER :: LLTROP_FIX = 38
INTEGER, PARAMETER :: LLTROP = 38
REAL*8, PARAMETER :: PTOP = 0.01d0
#endif
!--------------------
! For GEOS 1x1 files
!--------------------
INTEGER, PARAMETER :: I1x1 = 360
INTEGER, PARAMETER :: J1x1 = 181
!--------------------
! For GEOS 05x0666 files
!--------------------
INTEGER, PARAMETER :: I05x0666 = 540
INTEGER, PARAMETER :: J05x0666 = 361
! (lzh, 11/15/2014)
!--------------------
! For GEOS 025x03125 files
!--------------------
INTEGER, PARAMETER :: I025x03125 = 1152
INTEGER, PARAMETER :: J025x03125 = 721
INTEGER, PARAMETER :: I025x031 = 1152
INTEGER, PARAMETER :: J025x031 = 721
!-----------------------------------------------------------------
! For GFED3
!-----------------------------------------------------------------
INTEGER, PARAMETER :: IGFED3 = 720
INTEGER, PARAMETER :: JGFED3 = 360
!=================================================================
! TRACER & EMISSION SPECIES PARAMETERS
!
! NNPAR = max number of tracers
! NEMPARA = max number of anthropogenic emission species
! NEMPARB = max number of biogenic emission species
!=================================================================
INTEGER, PARAMETER :: NNPAR = 73
!----------------------------------------------------
! Prior to 3/4/08:
! INTEGER, PARAMETER :: NEMPARA = 10
!----------------------------------------------------
! new emissions HNO3 and O3 (phs)
! Add non-biogenic emission species:
! BENZ, TOLU, XYLE, C2H2, C2H4, GLYX, MGLY, GLYC, HAC. (tmf, 1/7/09)
INTEGER, PARAMETER :: NEMPARA = 21
!----------------------------------------------------
! Prior to 2/3/09:
! INTEGER, PARAMETER :: NEMPARB = 1
!----------------------------------------------------
! Add biogenic emissions: MBO, MONX. (tmf, 1/7/09)
INTEGER, PARAMETER :: NEMPARB = 3
!=================================================================
! OTHER PARAMETERS
!=================================================================
! NVEGTYPE - Maximum number of surface types: 74 olson
! NTYPE - Maximum number of veg types in a CTM grid box
! NPOLY - Number of coefficients for polynomial fits
INTEGER, PARAMETER :: NVEGTYPE = 74
INTEGER, PARAMETER :: NTYPE = 15
INTEGER, PARAMETER :: NPOLY = 20
! NNSTA = max number of time series stations (in inptr.ctm)
INTEGER, PARAMETER :: NNSTA = 800
! MAXIJ - Maximum number of 1st level grid boxes
INTEGER, PARAMETER :: MAXIJ = IIPAR * JJPAR
! LLCONVM - Max number of layers for convection
INTEGER, PARAMETER :: LLCONVM = LLPAR - 1
! NOXLEVELS = Number of levels of anthro NOx emission
! (e.g. surface and 100m)
! NOXEXTENT = Highest sigma level that receives anthro NOx emission
!INTEGER, PARAMETER :: NOXLEVELS = 2
!INTEGER, PARAMETER :: NOXEXTENT = 2
! for NEI08 (fp,krt)
INTEGER, PARAMETER :: NOXLEVELS = 3
INTEGER, PARAMETER :: NOXEXTENT = 3
! MAXFAM -- Max number of families for prod and loss output
INTEGER, PARAMETER :: MAXFAM = 40
! NDUST -- Number of FAST-J aerosol size bins (rvm, bmy, 11/15/01)
INTEGER, PARAMETER :: NDUST = 7
! NAER -- number of other aerosol categories (rvm, bmy, 2/27/02)
INTEGER, PARAMETER :: NAER = 5
! NRH -- number of relative humidity bins (rvm, bmy, 2/27/02)
INTEGER, PARAMETER :: NRH = 5
! NDSTBIN -- number of dust size bins for transport (tdf, bmy, 3/31/04)
INTEGER, PARAMETER :: NDSTBIN = 4
!======================================================================
! For HTAP Nested
!======================================================================
#if defined( GRID1x1 )
INTEGER, PARAMETER :: IIPAR_L = 360
INTEGER, PARAMETER :: JJPAR_L = 181
#elif defined( GRID05x0666 )
INTEGER, PARAMETER :: IIPAR_L = 540
INTEGER, PARAMETER :: JJPAR_L = 361
#elif defined( GRID025x03125 )
INTEGER, PARAMETER :: IIPAR_L = 1152
INTEGER, PARAMETER :: JJPAR_L = 721
#elif defined( GRID1x125 )
INTEGER, PARAMETER :: IIPAR_L = 288
INTEGER, PARAMETER :: JJPAR_L = 181
#elif defined( GRID2x25 )
INTEGER, PARAMETER :: IIPAR_L = 144
INTEGER, PARAMETER :: JJPAR_L = 91
#elif defined( GRID4x5 ) && defined( GCAP )
INTEGER, PARAMETER :: IIPAR_L = 72
INTEGER, PARAMETER :: JJPAR_L = 45
#elif defined( GRID4x5 )
INTEGER, PARAMETER :: IIPAR_L = 72
INTEGER, PARAMETER :: JJPAR_L = 46
#else
IIPAR_L = IIPAR
JJPAR_L = JJPAR
#endif