added README_changes.txt
[wrffire.git] / wrfv2_fire / chem / KPP / kpp / kpp-2.1 / util / util.c
blob4140f1855342a01ebffa5ca222ea64fdd00c1b49
1 /*
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <math.h>
5 */
6 KPP_REAL min( KPP_REAL x, KPP_REAL y )
8 return ( x <= y ) ? x : y;
11 KPP_REAL max( KPP_REAL x, KPP_REAL y )
13 return ( x >= y ) ? x : y;
16 static FILE *fpDat = 0;
18 int InitSaveData()
20 fpDat = fopen("KPP_ROOT.dat", "w");
21 if( fpDat == 0 ) {
22 printf("\n Can't create file : KPP_ROOT.dat");
23 exit(1);
25 return 0;
28 int SaveData()
30 int i;
32 fprintf( fpDat, "%6.1f ", TIME/3600.0 );
33 for( i = 0; i < NLOOKAT; i++ )
34 fprintf( fpDat, "%24.16e ", C[ LOOKAT[i] ]/CFACTOR );
35 fprintf( fpDat, "\n");
36 return 0;
39 int CloseSaveData()
41 fclose( fpDat );
42 return 0;
45 int GenerateMatlab( char * prefix )
47 int i;
48 FILE *fpMatlab;
50 fpMatlab = fopen("KPP_ROOT.m", "w");
51 if( fpMatlab == 0 ) {
52 printf("\n Can't create file : KPP_ROOT.m");
53 exit(1);
56 fprintf(fpMatlab, "load KPP_ROOT.dat;\n");
57 fprintf(fpMatlab, "%sc = KPP_ROOT;\n", prefix);
58 fprintf(fpMatlab, "clear KPP_ROOT;\n");
59 fprintf(fpMatlab, "%st=%sc(:,1);\n", prefix, prefix);
60 fprintf(fpMatlab, "%sc(:,1)=[];\n", prefix);
62 for( i = 0; i < NLOOKAT; i++ )
63 fprintf( fpMatlab, "%s%s = %sc(:,%d);\n",
64 prefix, SPC_NAMES[LOOKAT[i]],
65 prefix, i+1 );
67 fclose( fpMatlab );
68 return 0;