added README_changes.txt
[wrffire.git] / wrfv2_fire / chem / KPP / kpp / kpp-2.1 / drv / exact.c
blob5d446d8a9b136c3f24f3a2dbcbf72fa6d7da5ac1
1 void main()
3 KPP_REAL dval[NSPEC];
4 FILE * fp;
5 int i;
7 /* ---- TIME VARIABLES ------------------ */
9 RTOLS = 1e-6;
10 TSTART = 3600*12;
11 TEND = TSTART + 3600*24*5;
12 DT = 3600.;
13 TEMP = 236.21;
15 Initialize();
17 for( i = 0; i < NVAR; i++ ) {
18 RTOL[i] = RTOLS;
19 ATOL[i] = 1;
21 STEPMIN = 0.01;
22 STEPMAX = 900;
24 /* ********** TIME LOOP **************************** */
26 InitSaveData();
28 printf("\n%7s %7s ", "done[%]", "Time[h]");
29 for( i = 0; i < NMONITOR; i++ )
30 printf( "%8s ", SPC_NAMES[MONITOR[i]] );
31 for( i = 0; i < NMASS; i++ )
32 printf( "(%6s) ", SMASS[i] );
34 TIME = TSTART;
35 while (TIME <= TEND) {
36 GetMass( C, dval );
37 printf("\n%6.1f%% %7.2f ", (TIME-TSTART)/(TEND-TSTART)*100, TIME/3600 );
38 for( i = 0; i < NMONITOR; i++ )
39 printf( "%8.2e ", C[ MONITOR[i] ]/CFACTOR );
40 for( i = 0; i < NMASS; i++ )
41 printf( "%8.2e ", dval[i]/CFACTOR );
43 SaveData();
45 Update_SUN();
46 Update_RCONST();
48 INTEGRATE( DT );
51 /* *********** END TIME LOOP *********************** */
53 printf("\n");
54 CloseSaveData();
55 GenerateMatlab("");