C....................................................................... C INCLUDE FILE PA_CMN.EXT C C CONTAINS: Common variables for Process Analysis C C DEPENDENT UPON: Mechanism Input file C C CREATED BY: Process Analysis Control Program C 13:44:36 EST March 21, 2000 C C....................................................................... cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c The following variables define the domain for all IPR c and IRR output variables: cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c BEGCOL = Starting column for output c ENDCOL = Ending column for output c BEGROW = Starting row for output c ENDROW = Ending row for output c BEGLEV = Starting layer for output c ENDLEV = Ending layer for output c PACOLS = Total number of columns for PA output c PAROWS = Total number of rows for PA output c PALEVS = Total number of layers for PA output c PACOLSD = Column dimension parameter for PA outputs c PAROWSD = Row dimension parameter for PA outputs c PALEVSD = Level dimension parameter for PA outputs c IRCOLSD = Column dimension parameter for IRR outputs c IRROWSD = Column dimension parameter for IRR outputs c IRLEVSD = Column dimension parameter for IRR outputs cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ! INTEGER BEGCOL ! PARAMETER ( BEGCOL = 1 ) ! INTEGER ENDCOL ! PARAMETER ( ENDCOL = 21 ) ! INTEGER BEGROW ! PARAMETER ( BEGROW = 1 ) ! INTEGER ENDROW ! PARAMETER ( ENDROW = 21 ) ! INTEGER BEGLEV ! PARAMETER ( BEGLEV = 1 ) ! INTEGER ENDLEV ! PARAMETER ( ENDLEV = 5 ) ! INTEGER PACOLS ! PARAMETER ( PACOLS = 21 ) ! INTEGER PAROWS ! PARAMETER ( PAROWS = 21 ) ! INTEGER PALEVS ! PARAMETER ( PALEVS = 5 ) ! INTEGER X1F0 ! PARAMETER ( X1F0 = (NCOLS / GL_NCOLS) * (NROWS / GL_NROWS) ) ! INTEGER PACOLSD ! PARAMETER ( PACOLSD = X1F0 * PACOLS + (1 - X1F0) * NCOLS ) ! INTEGER PAROWSD ! PARAMETER ( PAROWSD = X1F0 * PAROWS + (1 - X1F0) * NROWS ) ! INTEGER PALEVSD ! PARAMETER ( PALEVSD = PALEVS ) ! INTEGER IRCOLSD ! PARAMETER ( IRCOLSD = X1F0 * PACOLS + (1 - X1F0) * NCOLS ) ! INTEGER IRROWSD ! PARAMETER ( IRROWSD = X1F0 * PAROWS + (1 - X1F0) * NROWS ) ! INTEGER IRLEVSD ! PARAMETER ( IRLEVSD = PALEVS ) cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c The following variables are used in the output file descriptions cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c NIPRVAR = Number of IPR output variables c NIRRVAR = Number of IRR output variables c NIPRVARD = Dimension for IPR output variables c NIRRVARD = Dimension for IRR output variables c IPRNAME = Name of IPR output variable c IRRNAME = Name of IRR output variable c IPRDESC = Extended name of IPR output variable c IRRDESC = Extended name of IRR output variable cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc INTEGER NIPRVAR PARAMETER ( NIPRVAR = 85 ) INTEGER NIRRVAR PARAMETER ( NIRRVAR = 31 ) INTEGER NIPRVARD PARAMETER ( NIPRVARD = 85 ) INTEGER NIRRVARD PARAMETER ( NIRRVARD = 31 ) CHARACTER*16 IPRNAME( NIPRVARD ) CHARACTER*60 IPRDESC( NIPRVARD ) CHARACTER*16 IRRNAME( NIRRVARD ) CHARACTER*60 IRRDESC( NIRRVARD ) cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c The following variables are used in the integrated process rate c computations. cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c NPROCS = No. of science processes that can be monitored c N_IPR_SPC = Number of families for IPR c NCSAVE = Number of CTM species concs to save for IPR c MXCGRID = Max number of CTM species in an IPR family c N_IPR_SPCD = Dimension for number of families for IPR c NCSAVED = Dimension for NCSAVE c MXCGRIDD = Dimension for MXCGRID c NCGRID = Array of no. of CTM species in an IPR family c IPROUT = Array of IPR output variable indices c IPR2GRD = Array of CTM species indices for IPR families c IPR2SAV = Array of saved species indices for IPR families c SV2GRD = Array of CTM indicies for saved concs c SPCOEF = Array of coefficients for IPR familys cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc INTEGER NPROCS PARAMETER ( NPROCS = 12 ) INTEGER N_IPR_SPC PARAMETER ( N_IPR_SPC = 10 ) INTEGER NCSAVE PARAMETER ( NCSAVE = 27 ) INTEGER MXCGRID PARAMETER ( MXCGRID = 12 ) INTEGER N_IPR_SPCD PARAMETER ( N_IPR_SPCD = 10 ) INTEGER NCSAVED PARAMETER ( NCSAVED = 27 ) INTEGER MXCGRIDD PARAMETER ( MXCGRIDD = 12 ) CHARACTER*16 PROCNAME( NPROCS ) INTEGER NCGRID( N_IPR_SPCD ) INTEGER SV2GRD( NCSAVED ) INTEGER IPROUT( N_IPR_SPCD , NPROCS ) INTEGER IPR2GRD( N_IPR_SPCD , MXCGRIDD ) INTEGER IPR2SAV ( N_IPR_SPCD , MXCGRIDD ) LOGICAL LPROCOUT( NPROCS ) REAL SPCOEF( N_IPR_SPCD , MXCGRIDD ) ! REAL DELC( PACOLSD , PAROWSD , PALEVSD , NIPRVARD ) ! REAL CSAV( PACOLSD , PAROWSD , PALEVSD , NCSAVED ) cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c The following variables are used in the integrated reaction rate c computations. cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c LFULLIRR = Flag for computing IRRs for every reaction c LPARTIRR = Flag for computing IRRs for selected reactions c NUMTEMPS = No. of temporary intermediate IRRs to compute c NUMOUTPOS = No. of temp. IRR terms to add iff the IRR > 0 c NUMOUTNEG = No. of temp. IRR terms to add iff the IRR < 0 c NUMOUTIND = No. of temp. IRR terms to add regardless of sign c MXNIRRRXNS = Max no. of reaction terms in an output IRR c MXTEMPTRMS = Max no. of reaction terms in a temp. IRR c NUMTEMPSD = Dimension for number of temp IRRs c NUMOUTPOSD = Dimension parameter for NUMOUTPOS c NUMOUTNEGD = Dimension parameter for NUMOUTNEG c NUMOUTINDD = Dimension parameter for NUMOUTIND c MXNIRRRXNSD = Dimension parameter for MXNIRRRXNS c MXTEMPTRMSD = Dimension parameter for MXTEMPTRMS c NIRRRXNS = Vector of no. of reaction terms in an output IRR c TEMPTERMS = Vector of no. of terms in a temporary IRR c TEMPOUTPOS = Vector of no. of IRR terms to add if IRR > 0 c TEMPOUTNEG = Vector of no. of IRR terms to add if IRR < 0 c TEMPOUTIND = Vector of no. of IRR terms to add regardless of sign c INDXOUTPOS = Vector of indices pointing to IRR output variable c INDXOUTNEG = Vector of indices pointing to IRR output variable c INDXOUTIND = Vector of indices pointing to IRR output variable c COEFOUTPOS = Vector of temp IRR coefficients c COEFOUTNEG = Vector of temp IRR coefficients c COEFOUTIND = Vector of temp IRR coefficients c TEMPRXN = Array of reaction nos. for a temp. IRR c IRRRXN = Array of reaction nos. for an output IRR c TEMPCOEF = Array of reaction coefficients for a temp IRR c IRRCOEF = Array of reaction coefficients for an output IRR c IRRSTEP = Array of output IRRs for one time step c IRRBLK = Array of output IRRs for a block of cells c IRROUT = Array of IRRs to output cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc LOGICAL LFULLIRR PARAMETER ( LFULLIRR = .FALSE. ) LOGICAL LPARTIRR PARAMETER ( LPARTIRR = .TRUE. ) INTEGER NUMTEMPS PARAMETER ( NUMTEMPS = 13 ) INTEGER NUMOUTPOS PARAMETER ( NUMOUTPOS = 11 ) INTEGER NUMOUTNEG PARAMETER ( NUMOUTNEG = 14 ) INTEGER NUMOUTIND PARAMETER ( NUMOUTIND = 7 ) INTEGER MXNIRRRXNS PARAMETER ( MXNIRRRXNS = 90 ) INTEGER MXTEMPTRMS PARAMETER ( MXTEMPTRMS = 19 ) INTEGER NUMTEMPSD PARAMETER ( NUMTEMPSD = 13 ) INTEGER NUMOUTPOSD PARAMETER ( NUMOUTPOSD = 11 ) INTEGER NUMOUTNEGD PARAMETER ( NUMOUTNEGD = 14 ) INTEGER NUMOUTINDD PARAMETER ( NUMOUTINDD = 7 ) INTEGER MXNIRRRXNSD PARAMETER ( MXNIRRRXNSD = 90 ) INTEGER MXTEMPTRMSD PARAMETER ( MXTEMPTRMSD = 19 ) INTEGER BLKSIZED PARAMETER ( BLKSIZED = BLKSIZE ) INTEGER NIRRRXNS( NIRRVARD ) INTEGER TEMPTERMS( NUMTEMPSD ) INTEGER TEMPOUTPOS( NUMOUTPOSD ) INTEGER INDXOUTPOS( NUMOUTPOSD ) INTEGER TEMPOUTNEG( NUMOUTNEGD ) INTEGER INDXOUTNEG( NUMOUTNEGD ) INTEGER TEMPOUTIND( NUMOUTINDD ) INTEGER INDXOUTIND( NUMOUTINDD ) INTEGER IRRRXN( NIRRVARD, MXNIRRRXNSD ) INTEGER TEMPRXN( NUMTEMPSD, MXTEMPTRMSD ) REAL COEFOUTPOS( NUMOUTPOSD ) REAL COEFOUTNEG( NUMOUTNEGD ) REAL COEFOUTIND( NUMOUTINDD ) REAL TEMPCOEF( NUMTEMPSD , MXTEMPTRMSD ) REAL IRRCOEF( NIRRVARD , MXNIRRRXNSD ) REAL IRRSTEP( BLKSIZED, NIRRVARD ) REAL IRRBLK( BLKSIZED, NIRRVARD ) ! REAL IRROUT( IRCOLSD , IRROWSD , IRLEVSD , NIRRVARD ) cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c Common Blocks: cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc COMMON /PACHAR/ IPRNAME, & IPRDESC, & IRRNAME, & IRRDESC, & PROCNAME COMMON /PALGCL/ LPROCOUT COMMON /PAINTG/ NCGRID, & SV2GRD, & IPROUT, & IPR2GRD, & IPR2SAV , & NIRRRXNS, & TEMPTERMS, & TEMPOUTPOS, & TEMPOUTNEG, & TEMPOUTIND, & INDXOUTPOS, & INDXOUTNEG, & INDXOUTIND, & TEMPRXN, & IRRRXN COMMON /PAREAL/ SPCOEF, ! & DELC, ! & CSAV, & COEFOUTPOS, & COEFOUTNEG, & COEFOUTIND, & TEMPCOEF, & IRRCOEF, & IRRSTEP, & IRRBLK ! & IRROUT cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c The following variables define the PA subdomain in each processor c for a parallel CCTM application. cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ! INTEGER MY_BEGROW ! Starting row of local PA grid in a processor ! INTEGER MY_ENDROW ! Ending row of local PA grid in a processor ! INTEGER MY_BEGCOL ! Starting column of local PA grid in a processor ! INTEGER MY_ENDCOL ! Ending column of local PA grid in a processor ! INTEGER MY_BEGLEV ! Starting level of local PA grid in a processor ! INTEGER MY_ENDLEV ! Ending level of local PA grid in a processor ! INTEGER MY_PAROWS ! Number of rows of local PA grid a processor has ! INTEGER MY_PACOLS ! Number of columns of local PA grid a processor has ! INTEGER MY_IRR_BEGROW ! Starting row of local IRR grid in a processor ! INTEGER MY_IRR_ENDROW ! Ending row of local IRR grid in a processor ! INTEGER MY_IRR_BEGCOL ! Starting column of local IRR grid in a processor ! INTEGER MY_IRR_ENDCOL ! Ending column of local IRR grid in a processor ! INTEGER MY_IRR_BEGLEV ! Starting level of local IRR grid in a processor ! INTEGER MY_IRR_ENDLEV ! Ending level of local IRR grid in a processor ! COMMON / PA_GRID / MY_BEGROW, MY_ENDROW, MY_BEGCOL, MY_ENDCOL, ! & MY_BEGLEV, MY_ENDLEV, MY_PAROWS, MY_PACOLS, ! & MY_IRR_BEGROW, MY_IRR_ENDROW, MY_IRR_BEGCOL, ! & MY_IRR_ENDCOL, MY_IRR_BEGLEV, MY_IRR_ENDLEV C............ End of Process Analysis COMMON Include File ....................