Files
GEOS-Chem-adjoint-v35-note/code/adjoint/gckpp_adj_JacobianSP.f90
2018-08-28 00:33:48 -04:00

243 lines
12 KiB
Fortran

! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!
! Sparse Jacobian Data Structures File
!
! Generated by KPP-2.2 symbolic chemistry Kinetics PreProcessor
! (http://www.cs.vt.edu/~asandu/Software/KPP)
! KPP is distributed under GPL, the general public licence
! (http://www.gnu.org/copyleft/gpl.html)
! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa
! (C) 1997-2005, A. Sandu, Michigan Tech, Virginia Tech
! With important contributions from:
! M. Damian, Villanova University, USA
! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany
!
! File : gckpp_adj_JacobianSP.f90
! Time : Tue May 14 19:43:54 2013
! Working directory : /home/daven/kpp-2.2.1/GC_KPP
! Equation file : gckpp_adj.kpp
! Output root filename : gckpp_adj
!
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MODULE gckpp_adj_JacobianSP
PUBLIC
SAVE
! Sparse Jacobian Data
INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_0 = (/ &
1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, &
7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, &
12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, &
14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, &
16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, &
20, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 23, &
24, 24, 24, 24, 25, 25, 25, 26, 26, 26, 26, 27, &
27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 29, 30, &
30, 30, 30, 31, 31, 31, 31, 32, 32, 32, 32, 33, &
33, 33, 33, 34, 34, 34, 35, 35, 35, 35, 36, 36, &
36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, &
39, 39, 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, &
42, 42, 43, 43, 43, 43, 43, 43, 44, 44, 44, 44, &
44, 45, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, &
47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, &
47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, &
48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, &
49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, &
50, 50, 50, 51, 51, 51, 51, 51, 52, 52, 52, 52, &
52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, &
53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 55, &
55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, &
56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, &
56, 56, 56, 56, 56, 56, 56, 56, 57, 57, 57, 57, &
57, 57, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, &
59, 59, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, &
60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, &
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, &
62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, &
63, 63, 63, 63, 63, 63, 63, 63, 63, 64, 64, 64 /)
INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_1 = (/ &
64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65, 65, &
65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, &
66, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, &
68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, &
68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, &
68, 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 69, &
69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, &
69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, &
69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, &
69, 69, 69, 69, 69, 70, 70, 70, 70, 70, 70, 70, &
70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, 71, &
71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, &
71, 71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 72, &
72, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, &
73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, &
74, 74, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75, &
75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, &
75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, &
75, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, &
76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, &
77, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78, &
78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, &
79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 80, &
80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, &
81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, &
81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, &
82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, &
82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, &
82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, &
82, 82, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83 /)
INTEGER, PARAMETER, DIMENSION(322) :: LU_IROW_2 = (/ &
83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, &
83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, &
83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, &
83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, &
83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, &
83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84, 84, &
84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, &
84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, &
84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, &
84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, &
84, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, &
85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, &
85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, &
85, 85, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86, &
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, &
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, &
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, &
87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, &
87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, &
87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, &
87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, &
88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, &
89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, &
89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, &
90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, &
90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, &
90, 90, 90, 90, 90, 90, 90, 90, 90, 90 /)
INTEGER, PARAMETER, DIMENSION(1042) :: LU_IROW = (/&
LU_IROW_0, LU_IROW_1, LU_IROW_2 /)
INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_0 = (/ &
1, 69, 2, 17, 3, 56, 4, 25, 5, 82, 6, 89, &
7, 21, 8, 44, 9, 18, 10, 73, 11, 20, 83, 12, &
34, 83, 13, 46, 47, 80, 83, 85, 86, 89, 14, 17, &
18, 21, 25, 44, 56, 69, 73, 82, 89, 15, 46, 83, &
16, 83, 17, 83, 84, 18, 81, 82, 19, 82, 88, 20, &
34, 83, 87, 21, 82, 86, 22, 83, 87, 23, 83, 87, &
24, 82, 83, 85, 25, 82, 87, 26, 78, 83, 84, 27, &
83, 84, 86, 28, 83, 84, 90, 29, 82, 83, 84, 30, &
72, 83, 84, 31, 52, 83, 84, 32, 53, 83, 84, 33, &
81, 83, 84, 34, 83, 87, 35, 74, 83, 84, 36, 83, &
84, 88, 37, 70, 83, 84, 38, 63, 83, 84, 39, 67, &
83, 84, 40, 59, 83, 84, 41, 66, 83, 84, 42, 64, &
83, 84, 43, 51, 55, 65, 83, 84, 44, 78, 82, 83, &
89, 45, 57, 79, 83, 84, 46, 83, 87, 89, 40, 41, &
46, 47, 48, 49, 50, 58, 59, 66, 68, 69, 71, 75, &
77, 80, 83, 84, 85, 86, 87, 89, 90, 46, 48, 77, &
83, 87, 89, 32, 49, 53, 72, 73, 83, 84, 85, 86, &
90, 41, 42, 50, 51, 58, 64, 65, 66, 83, 84, 85, &
86, 89, 90, 51, 84, 85, 86, 90, 16, 31, 52, 72, &
73, 83, 84, 85, 86, 90, 16, 32, 53, 72, 73, 83, &
84, 85, 86, 90, 54, 73, 83, 84, 85, 86, 90, 55, &
80, 84, 85, 86, 87, 90, 22, 23, 25, 34, 51, 56, &
57, 59, 64, 65, 66, 67, 68, 69, 71, 75, 76, 79, &
80, 82, 83, 84, 85, 86, 87, 90, 57, 79, 84, 85, &
86, 90, 45, 57, 58, 79, 83, 84, 85, 86, 89, 90, &
40, 59, 80, 83, 84, 85, 86, 90, 60, 76, 83, 84, &
85, 86, 87, 90, 40, 41, 44, 58, 59, 61, 62, 65, &
66, 70, 78, 79, 80, 82, 83, 84, 85, 86, 89, 90, &
49, 53, 62, 72, 73, 83, 84, 85, 86, 90, 38, 48, &
63, 77, 83, 84, 85, 86, 87, 89, 90, 42, 64, 77 /)
INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_1 = (/ &
83, 84, 85, 86, 90, 43, 51, 55, 65, 80, 83, 84, &
85, 86, 87, 90, 41, 58, 66, 79, 83, 84, 85, 86, &
89, 90, 39, 46, 67, 83, 84, 85, 86, 87, 89, 90, &
30, 31, 38, 39, 42, 43, 51, 52, 54, 55, 63, 64, &
65, 67, 68, 70, 72, 73, 77, 80, 83, 84, 85, 86, &
87, 89, 90, 26, 27, 28, 34, 36, 37, 40, 42, 44, &
45, 46, 48, 50, 51, 52, 53, 54, 55, 57, 58, 59, &
60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, &
73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, &
86, 87, 88, 89, 90, 37, 48, 70, 77, 83, 84, 85, &
86, 87, 89, 90, 33, 35, 37, 48, 54, 60, 63, 70, &
71, 72, 73, 74, 75, 76, 77, 81, 83, 84, 85, 86, &
87, 89, 90, 22, 30, 54, 72, 73, 83, 84, 85, 86, &
87, 90, 54, 60, 62, 72, 73, 76, 83, 84, 85, 86, &
87, 90, 23, 35, 68, 70, 72, 73, 74, 76, 77, 80, &
81, 83, 84, 85, 86, 87, 89, 90, 41, 42, 51, 55, &
58, 59, 60, 61, 62, 64, 65, 66, 70, 72, 73, 75, &
76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 89, &
90, 57, 59, 60, 62, 64, 66, 72, 73, 76, 77, 79, &
80, 83, 84, 85, 86, 87, 89, 90, 45, 46, 57, 67, &
77, 79, 83, 84, 85, 86, 87, 89, 90, 26, 44, 58, &
77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 89, 90, &
45, 46, 57, 79, 83, 84, 85, 86, 87, 89, 90, 45, &
46, 57, 67, 79, 80, 83, 84, 85, 86, 87, 89, 90, &
18, 33, 68, 70, 72, 73, 76, 77, 79, 80, 81, 82, &
83, 84, 85, 86, 87, 89, 90, 18, 19, 21, 24, 25, &
29, 38, 39, 43, 44, 51, 52, 53, 54, 55, 56, 57, &
59, 60, 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, 16, 17, 20, 22, 23 /)
INTEGER, PARAMETER, DIMENSION(322) :: LU_ICOL_2 = (/ &
24, 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, 55, 56, 57, 58, 59, 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, 17, 20, 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, 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, 24, 25, 51, 52, &
53, 54, 55, 57, 59, 60, 62, 63, 64, 65, 66, 67, &
70, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, &
84, 85, 86, 87, 88, 89, 90, 21, 26, 27, 42, 49, &
51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 63, 64, &
65, 66, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, &
79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, &
21, 22, 23, 25, 29, 34, 46, 48, 56, 57, 59, 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, 19, 36, 50, 51, 58, 64, 65, 66, 77, 79, &
80, 82, 83, 84, 85, 86, 87, 88, 89, 90, 25, 44, &
46, 48, 58, 77, 78, 79, 80, 81, 82, 83, 84, 85, &
86, 87, 88, 89, 90, 21, 27, 28, 34, 48, 49, 51, &
52, 53, 54, 55, 57, 59, 60, 62, 63, 64, 65, 66, &
67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, &
81, 82, 83, 84, 85, 86, 87, 88, 89, 90 /)
INTEGER, PARAMETER, DIMENSION(1042) :: LU_ICOL = (/&
LU_ICOL_0, LU_ICOL_1, LU_ICOL_2 /)
INTEGER, PARAMETER, DIMENSION(91) :: LU_CROW = (/ &
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 24, &
27, 35, 46, 49, 51, 54, 57, 60, 64, 67, 70, 73, &
77, 80, 84, 88, 92, 96,100,104,108,112,115,119, &
123,127,131,135,139,143,147,153,158,163,167,190, &
196,206,220,225,235,245,252,259,285,291,301,309, &
317,337,347,358,366,377,387,397,424,474,485,508, &
519,531,549,578,597,610,625,636,649,668,716,785, &
849,884,925,963,983,1002,1043 /)
INTEGER, PARAMETER, DIMENSION(91) :: LU_DIAG = (/ &
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 24, &
27, 35, 46, 49, 51, 54, 57, 60, 64, 67, 70, 73, &
77, 80, 84, 88, 92, 96,100,104,108,112,115,119, &
123,127,131,135,139,143,147,153,158,163,170,191, &
197,208,220,227,237,245,252,264,285,293,302,309, &
322,339,349,359,369,379,389,411,453,476,493,511, &
523,537,564,586,601,614,628,641,659,707,777,842, &
878,920,959,980,1000,1042,1043 /)
END MODULE gckpp_adj_JacobianSP