[2696] | 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-8 |
---|
| 20 | do i=1,NVAR |
---|
| 21 | RTOL(i) = RTOLS |
---|
| 22 | ATOL(i) = 1e-3 |
---|
| 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 | CALL GenerateMatlab(' ') |
---|
| 64 | |
---|
| 65 | STOP |
---|
| 66 | END |
---|
| 67 | |
---|