1 | PROGRAM driver |
---|
2 | |
---|
3 | INCLUDE 'KPP_ROOT_Parameters.h' |
---|
4 | INCLUDE 'KPP_ROOT_Global.h' |
---|
5 | |
---|
6 | KPP_REAL DVAL(NSPEC) |
---|
7 | INTEGER i |
---|
8 | |
---|
9 | C ---- TIME VARIABLES ------------------ |
---|
10 | |
---|
11 | TSTART = 0 |
---|
12 | TEND = TSTART + 600 |
---|
13 | DT = 60. |
---|
14 | TEMP = 298 |
---|
15 | |
---|
16 | STEPMIN = 0.01 |
---|
17 | STEPMAX = 900 |
---|
18 | |
---|
19 | RTOLS = 1e-3 |
---|
20 | DO i=1,NVAR |
---|
21 | RTOL(i) = RTOLS |
---|
22 | ATOL(i) = 1 |
---|
23 | END DO |
---|
24 | |
---|
25 | CALL Initialize() |
---|
26 | |
---|
27 | C ********** TIME LOOP ************************* |
---|
28 | |
---|
29 | CALL InitSaveData() |
---|
30 | |
---|
31 | WRITE(6,990) (SPC_NAMES(MONITOR(i)), i=1,NMONITOR), |
---|
32 | * (SMASS(i), i=1,NMASS ) |
---|
33 | 990 FORMAT('Done[%] Time[h] ',20(4X,A6)) |
---|
34 | |
---|
35 | TIME = TSTART |
---|
36 | DO WHILE (TIME .lt. TEND) |
---|
37 | |
---|
38 | CALL GetMass( C, DVAL ) |
---|
39 | WRITE(6,991) (TIME-TSTART)/(TEND-TSTART)*100, TIME/3600., |
---|
40 | * (C(MONITOR(i))/CFACTOR, i=1,NMONITOR), |
---|
41 | * (DVAL(i)/CFACTOR, i=1,NMASS) |
---|
42 | 991 FORMAT(F6.1,'% ',F7.2,3X,20(E10.4,2X)) |
---|
43 | |
---|
44 | CALL SaveData() |
---|
45 | |
---|
46 | CALL Update_SUN() |
---|
47 | CALL Update_RCONST() |
---|
48 | |
---|
49 | CALL INTEGRATE( TIME, TIME+DT ) |
---|
50 | |
---|
51 | END DO |
---|
52 | |
---|
53 | CALL GetMass( C, DVAL ) |
---|
54 | WRITE(6,991) (TIME-TSTART)/(TEND-TSTART)*100, TIME/3600., |
---|
55 | * (C(MONITOR(i))/CFACTOR, i=1,NMONITOR), |
---|
56 | * (DVAL(i)/CFACTOR, i=1,NMASS) |
---|
57 | |
---|
58 | CALL SaveData() |
---|
59 | |
---|
60 | C *********** END TIME LOOP ******** |
---|
61 | |
---|
62 | CALL CloseSaveData() |
---|
63 | |
---|
64 | open(75, file='reference.data') |
---|
65 | do i=1,KPP_NVAR |
---|
66 | write(75,75) VAR(i) |
---|
67 | end do |
---|
68 | 75 FORMAT(100(E24.14,1X)) |
---|
69 | |
---|
70 | STOP |
---|
71 | END |
---|
72 | |
---|