Merge remote-tracking branch 'origin/release-v4.6.1'
[WRF.git] / chem / KPP / kpp / kpp-2.1 / drv / main.c
blobd2ed365366bd8ef7d1c3f73256196583f4ea6888
1 void INTEGRATE( double TIN, double TOUT );
3 void main()
5 KPP_REAL rtols;
6 KPP_REAL Tstart, Tend, DT;
7 FILE * fp;
8 int i;
10 /* ---- TIME VARIABLES ------------------ */
12 rtols = 1e-3;
13 for( i = 0; i < NVAR; i++ ) {
14 RTOL[i] = rtols;
15 ATOL[i] = 1E-18;
18 Initialize();
20 fp = fopen("Extrapd.m", "w");
21 fprintf( fp, "ed=[\n");
23 Tstart = 3600*12;
24 Tend = Tstart + 3600*24*5;
25 STEPMIN = 0.001;
26 STEPMAX = 900;
27 DT = 3600.;
28 TEMP = 236.21;
30 /* -- BELOW THIS LIMIT USE TAYLOR INSTEAD OF EXP --- */
31 /* ********** TIME LOOP **************************** */
33 TIME = Tstart;
34 while (TIME <= Tend) {
36 printf("\nMonitor: ");
37 for( i = 0; i < NMONITOR; i++ )
38 printf( "%12.8g ", C[ MONITOR[i] ]/CFACTOR );
40 fprintf( fp, "\n%6.1f ", (TIME-Tstart)/3600.0 );
41 for( i = 0; i < NLOOKAT; i++ )
42 fprintf( fp, "%24.16e ", C[ LOOKAT[i] ]/CFACTOR );
44 INTEGRATE( DT );
47 /* *********** END TIME LOOP *********************** */
49 fprintf(fp, "\n];");
50 fclose( fp );
51 printf("\n");