OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
rk78cn.f
Go to the documentation of this file.
1  SUBROUTINE rk78cn
2 C VERSION OF 4/1/85
3 C PURPOSE
4 C COMPUTES THE FEHLBERG COEFFICIENTS FOR A RUNGE-KUTTA 78 INTEGRATOR
5 C INPUT
6 C NONE
7 C COMMON BLOCK OUTPUT
8 C CH, ALPH, BETA, NORDER, ORDRCP, NTIMES
9 C REFERENCES
10 C JPL EM 312/85-153, 20 APRIL 1987
11 C NASA TR R-287, OCTOBER 1968
12 C ANALYSIS
13 C J. H. KWOK - JPL
14 C PROGRAMMER
15 C J. H. KWOK - JPL
16 C PROGRAM MODIFICATIONS
17 C NONE
18 C COMMENTS
19 C THIS ROUTINE MUST BE CALLED BEFORE CALLING ROUTINE RK78
20 C
21  IMPLICIT DOUBLE PRECISION (a-h,o-z)
22  common/felcon/ch(13),alph(13),beta(13,12),ordrcp,norder,ntimes
23  DATA zero,one,two,three/0.d0,1.d0,2.d0,3.d0/
24  norder=8
25  ordrcp=one/norder
26  ntimes=13
27  DO 30 i=1,13
28  DO 40 j=1,12
29  40 beta(i,j)=zero
30  alph(i)=zero
31  30 ch(i)=zero
32  ch(6)=34.d0/105.d0
33  ch(7)=9.d0/35.d0
34  ch(8)=ch(7)
35  ch(9)=9.d0/280.d0
36  ch(10)=ch(9)
37  ch(12)=41.d0/840.d0
38  ch(13)=ch(12)
39  alph(2)=two/27.d0
40  alph(3)=one/9.d0
41  alph(4)=one/6.d0
42  alph(5)=5.d0/12.d0
43  alph(6)=.5d0
44  alph(7)=5.d0/6.d0
45  alph(8)=one/6.d0
46  alph(9)=two/three
47  alph(10)=one/three
48  alph(11)=one
49  alph(13)=one
50  beta(2,1)=two/27.d0
51  beta(3,1)=one/36.d0
52  beta(4,1)=one/24.d0
53  beta(5,1)=5.d0/12.d0
54  beta(6,1)=.5d-1
55  beta(7,1)=-25.d0/108.d0
56  beta(8,1)=31.d0/300.d0
57  beta(9,1)=two
58  beta(10,1)=-91.d0/108.d0
59  beta(11,1)=2383.d0/4100.d0
60  beta(12,1)=three/205.d0
61  beta(13,1)=-1777.d0/4100.d0
62  beta(3,2)=one/12.d0
63  beta(4,3)=one/8.d0
64  beta(5,3)=-25.d0/16.d0
65  beta(5,4)=-beta(5,3)
66  beta(6,4)=.25d0
67  beta(7,4)=125.d0/108.d0
68  beta(9,4)=-53.d0/6.d0
69  beta(10,4)=23.d0/108.d0
70  beta(11,4)=-341.d0/164.d0
71  beta(13,4)=beta(11,4)
72  beta(6,5)=.2d0
73  beta(7,5)=-65.d0/27.d0
74  beta(8,5)=61.d0/225.d0
75  beta(9,5)=704.d0/45.d0
76  beta(10,5)=-976.d0/135.d0
77  beta(11,5)=4496.d0/1025.d0
78  beta(13,5)=beta(11,5)
79  beta(7,6)=125.d0/54.d0
80  beta(8,6)=-two/9.d0
81  beta(9,6)=-107.d0/9.d0
82  beta(10,6)=311.d0/54.d0
83  beta(11,6)=-301.d0/82.d0
84  beta(12,6)=-6.d0/41.d0
85  beta(13,6)=-289.d0/82.d0
86  beta(8,7)=13.d0/900.d0
87  beta(9,7)=67.d0/90.d0
88  beta(10,7)=-19.d0/60.d0
89  beta(11,7)=2133.d0/4100.d0
90  beta(12,7)=-three/205.d0
91  beta(13,7)=2193.d0/4100.d0
92  beta(9,8)=three
93  beta(10,8)=17.d0/6.d0
94  beta(11,8)=45.d0/82.d0
95  beta(12,8)=-three/41.d0
96  beta(13,8)=51.d0/82.d0
97  beta(10,9)=-one/12.d0
98  beta(11,9)=45.d0/164.d0
99  beta(12,9)=three/41.d0
100  beta(13,9)=33.d0/164.d0
101  beta(11,10)=18.d0/41.d0
102  beta(12,10)=6.d0/41.d0
103  beta(13,10)=12.d0/41.d0
104  beta(13,12)=one
105  RETURN
106  END
subroutine rk78cn
Definition: rk78cn.f:2