! $Id: CMN_DIAG,v 1.3 2012/03/01 22:00:25 daven Exp $ ! ! NOTES: ! (1 ) Changed RCS ID tag comment character from "C" to "!" to allow freeform ! compilation. Also added & continuation characters in column 73 ! to allow header files to be included in F90 freeform files. ! Also converted PARAMETER statements to F90 syntax. (bmy, 6/25/02) ! (2 ) Add LD05 for sulfate prod/loss (rjp, bdf, bmy, 9/20/02) ! (3 ) Removed obsolete variables NTAU0, IDAY0, JDATE0, JYEAR0, KDACC, ! KDADYN, KDACONV, KDASRCE, KDACHEM, KDA3FLDS, KDA6FLDS, KDI6FLDS, ! KDKZZFLDS (bmy, 2/11/03) ! (4 ) Fix for LINUX - remove & from column 73 (bmy, 6/27/03) ! (5 ) Added LD03 for Kr85 Prod/loss diagnostic (bmy, 8/20/03) ! (6 ) Removed obsolete arrays (bmy, 1/21/05) ! (7 ) Rename MAXDIAG to MAX_DIAG and MAXTRACER to MAX_TRACER in order to ! avoid name conflicts with "gamap_mod.f" (bmy, 5/3/05) ! (8 ) Remove reference to TRCOFFSET (bmy, 5/16/06) ! (9 ) Added multi level LD54 to common CDIAG1 (phs, 9/22/06) ! (10) Added multi level LD10 to common CDIAG1. Set PD10 to 20. Set ! PD66 to 6. (phs, 9/18/07) ! (11) Added LD52 to common CDIAG1 (jaegle, 02/26/09) ! (12) Add GLYX, MGLY, SOAG, SOAM, and a few other tracers to AD17, AD18 ! for archiving rainout and washout fraction. (tmf, 1/7/09) ! (13) Add GLYX, MGLY J value archive. (tmf, 1/7/09) ! (14) Add GLYX, MGLY, SOAG, SOAM, and a few other tracers to AD37, AD38, AD39 ! for archiving rainout and washout flux. (tmf, 1/7/09) ! (15) Add GLYX, MGLY, GLYC, 6 PANs, SOAG, SOAM dry dep, ! PD44 = 41.(tmf, 1/7/09) ! (16) Add biogenic C2H4 emission, PD46 = 6. (tmf, 1/20/09) ! (17) Add support for ND19, ND58 and ND60 (kjw, dkh, 02/12/12, adj32_023) !---------------------------------------------------------------------------- ! Parameters for the diagnostic arrays (for ease of use) ! ! Changed PD66 to 6 (bmy, 9/8/00) ! Changed PD21 to 10 (bmy, 9/30/00) ! Changed PD67 to 18 (bmy, 10/11/00) ! Changed PD46 to 4 (bmy, 1/2/01) ! Changed PD29 to 5 (bmy, 1/2/01) ! Changed PD11 to 7 (bmy, 9/4/01) ! Changed PD32 to 0 (bmy, 2/14/02) ! Changed PD21 to 20 (bmy, 2/27/02) ! Changed PD43 to 4 (bmy, 3/4/02) ! Changed PD05 to 10 (bmy, 10/18/02) ! Changed PD44 to 30 (bmy, 11/19/02) ! Changed PD43 to 5 ! Changed PD67 to 22 (bmy, 6/23/03) ! Changed PD66 to 5 (bmy, 6/23/03) ! Changed PD03 to 5 (bmy, 8/20/03) ! Changed PD37 to 10 (bmy, 1/21/04) ! Changed PD06 to NDSTBIN (bmy, 4/5/04) ! Changed PD07 to 7 (bmy, 4/5/04) ! Changed PD08 to 2 (bmy, 4/20/04) ! Changed PD07 to 12 (bmy, 7/15/04) ! Changed PD21 to 26 (bmy, 1/5/05) ! Removed PD03 -- now in "diag03_mod.f" (bmy, 1/21/05) ! Removed PD41 -- now in "diag41_mod.f" (bmy, 1/21/05) ! Now set PD09 to 6 (bmy, 6/27/05) ! Removed PD04 -- now in "diag04_mod.f" (bmy, 7/26/05) ! Now set PD30 to 1 (bmy, 8/18/05) ! Now set PD46 to 6 (tmf, 1/20/09) ! Now set PD10 to 20 (phs, 9/18/07) ! Changed PD17 to 8 (tmf, 1/7/09) ! Changed PD18 to 8 (tmf, 1/7/09) ! Changed PD22 to 8 (tmf, 1/7/09) ! Changed PD37 to 35 (tmf, 1/7/09) ! Changed PD38 to 35 (tmf, 1/7/09) ! Changed PD39 to 35 (tmf, 1/7/09) ! Changed PD44 to 41 (tmf, 1/7/09) ! Now set PD52 to 1 (jaegle 2/26/09) ! Changed PD29 to 8 (zhe 11/28/10) INTEGER, PARAMETER :: PD01=3 INTEGER, PARAMETER :: PD02=3 INTEGER, PARAMETER :: PD05=10 INTEGER, PARAMETER :: PD06=NDSTBIN INTEGER, PARAMETER :: PD07=12 INTEGER, PARAMETER :: PD08=2 INTEGER, PARAMETER :: PD09=6 INTEGER, PARAMETER :: PD10=20 INTEGER, PARAMETER :: PD11=7 INTEGER, PARAMETER :: PD12=0 INTEGER, PARAMETER :: PD13=1 INTEGER, PARAMETER :: PD14=NNPAR INTEGER, PARAMETER :: PD15=NNPAR INTEGER, PARAMETER :: PD16=2 INTEGER, PARAMETER :: PD17=8 INTEGER, PARAMETER :: PD18=8 INTEGER, PARAMETER :: PD19=1 INTEGER, PARAMETER :: PD20=0 INTEGER, PARAMETER :: PD21=27 INTEGER, PARAMETER :: PD22=8 INTEGER, PARAMETER :: PD23=0 INTEGER, PARAMETER :: PD24=NNPAR INTEGER, PARAMETER :: PD25=NNPAR INTEGER, PARAMETER :: PD26=NNPAR INTEGER, PARAMETER :: PD27=1 INTEGER, PARAMETER :: PD28=0 INTEGER, PARAMETER :: PD29=8 INTEGER, PARAMETER :: PD30=1 INTEGER, PARAMETER :: PD31=1 INTEGER, PARAMETER :: PD32=1 INTEGER, PARAMETER :: PD33=NNPAR INTEGER, PARAMETER :: PD34=2 INTEGER, PARAMETER :: PD35=NNPAR INTEGER, PARAMETER :: PD36=NNPAR INTEGER, PARAMETER :: PD37=35 INTEGER, PARAMETER :: PD38=35 INTEGER, PARAMETER :: PD39=35 INTEGER, PARAMETER :: PD40=4 INTEGER, PARAMETER :: PD43=5 INTEGER, PARAMETER :: PD44=41 INTEGER, PARAMETER :: PD45=NNPAR+1 INTEGER, PARAMETER :: PD46=6 INTEGER, PARAMETER :: PD47=NNPAR+1 INTEGER, PARAMETER :: PD48=2 INTEGER, PARAMETER :: PD49=0 INTEGER, PARAMETER :: PD50=0 INTEGER, PARAMETER :: PD51=0 INTEGER, PARAMETER :: PD52=1 INTEGER, PARAMETER :: PD53=0 INTEGER, PARAMETER :: PD54=0 INTEGER, PARAMETER :: PD55=3 INTEGER, PARAMETER :: PD57=0 INTEGER, PARAMETER :: PD58=12 ! diag59 added, lz, 10/11/10, and delete ND59 at two places in this file !INTEGER, PARAMETER :: PD59=0 INTEGER, PARAMETER :: PD60=1 INTEGER, PARAMETER :: PD61=0 INTEGER, PARAMETER :: PD62=NNPAR INTEGER, PARAMETER :: PD63=0 INTEGER, PARAMETER :: PD64=0 INTEGER, PARAMETER :: PD65=LLPAR*MAXFAM INTEGER, PARAMETER :: PD66=6 INTEGER, PARAMETER :: PD67=22 INTEGER, PARAMETER :: PD68=4 INTEGER, PARAMETER :: PD69=1 INTEGER, PARAMETER :: PD70=0 !---------------------------------------------------------------------------- ! Diagnostic counters & time variables ! NJDAY is now 366 for leap years (bmy, 3/17/99) INTEGER :: KDA48, NJDAY(366) COMMON /CDIAG0/ KDA48, NJDAY !---------------------------------------------------------------------------- ! Variables for the number of levels in multi-level diagnostics ! Removed LD03 -- this is now in diag03_mod.f (bmy, 1/21/05) ! Added LD09 (bmy, 6/27/05) ! Added LD54 (phs, 9/22/06) ! Added LD10 (phs, 9/18/07) ! Added LD31 (bmy, 5/8/07) ! Added LD52 (jaegle, 02/26/09) INTEGER & LD12, LD13, LD14, LD15, LD16, LD17, LD18, LD21, LD22, LD24, & LD25, LD26, LD37, LD38, LD39, LD43, LD45, LD47, LD54, LD64, & LD65, LD66, LD68, LD01, LD02, LD05, LD07, LD09, LD10, LD31, & LD52, LD19, LD58, LD60 COMMON /CDIAG1/ & LD12, LD13, LD14, LD15, LD16, LD17, LD18, LD21, LD22, LD24, & LD25, LD26, LD37, LD38, LD39, LD43, LD45, LD47, LD54, LD64, & LD65, LD66, LD68, LD01, LD02, LD05, LD07, LD09, LD10, LD31, & LD52, LD19, LD58, LD60 !---------------------------------------------------------------------------- ! NDxx diagnostic flags INTEGER & ND01, ND02, ND05, ND06, ND07, ND08, ND09, ND10, & ND11, ND12, ND13, ND14, ND15, ND16, ND17, ND18, ND19, ND20, & ND21, ND22, ND23, ND24, ND25, ND26, ND27, ND28, ND29, ND30, & ND31, ND32, ND33, ND34, ND35, ND36, ND37, ND38, ND39, ND40, & ND43, ND44, ND45, ND46, ND47, ND48, ND49, ND50, ! lz ! & ND51, ND52, ND53, ND54, ND55, ND57, ND58, ND59, ND60, & ND51, ND52, ND53, ND54, ND55, ND57, ND58, ND60, & ND61, ND62, ND63, ND64, ND65, ND66, ND67, ND68, ND69, ND70, & ND71, ND72, ND73, ND74, ND75 COMMON /CDIAG2/ & ND01, ND02, ND05, ND06, ND07, ND08, ND09, ND10, & ND11, ND12, ND13, ND14, ND15, ND16, ND17, ND18, ND19, ND20, & ND21, ND22, ND23, ND24, ND25, ND26, ND27, ND28, ND29, ND30, & ND31, ND32, ND33, ND34, ND35, ND36, ND37, ND38, ND39, ND40, & ND43, ND44, ND45, ND46, ND47, ND48, ND49, ND50, ! lz ! & ND51, ND52, ND53, ND54, ND55, ND57, ND58, ND59, ND60, & ND51, ND52, ND53, ND54, ND55, ND57, ND58, ND60, & ND61, ND62, ND63, ND64, ND65, ND66, ND67, ND68, ND69, ND70, & ND71, ND72, ND73, ND74, ND75 !---------------------------------------------------------------------------- ! Variables for printing out selected tracers in diagnostic output INTEGER, PARAMETER :: MAX_DIAG = 70 !INTEGER, PARAMETER :: MAX_TRACER = 120 INTEGER, PARAMETER :: MAX_TRACER = 150 !(hml, 04/04/13) INTEGER :: TINDEX, TCOUNT, TMAX COMMON /TR_INDEX/ TINDEX(MAX_DIAG,MAX_TRACER), & TCOUNT(MAX_DIAG), & TMAX(MAX_DIAG) !================================================================= ! NO, J-Value, and 2-PM diagnostic arrays (bmy, 9/25/98) ! Move this here for now (bmy, 7/20/04) !================================================================= REAL*8 HR1_NO, HR2_NO, HR1_JV, HR2_JV, & HR1_OH, HR2_OH, HR1_OTH, HR2_OTH COMMON /JVNO2OH/ HR1_NO, HR2_NO, HR1_JV, HR2_JV, & HR1_OH, HR2_OH, HR1_OTH, HR2_OTH