--- imach/src/imach.c 2015/09/09 16:53:55 1.200
+++ imach/src/imach.c 2015/09/15 17:34:58 1.201
@@ -1,6 +1,12 @@
-/* $Id: imach.c,v 1.200 2015/09/09 16:53:55 brouard Exp $
+/* $Id: imach.c,v 1.201 2015/09/15 17:34:58 brouard Exp $
$State: Exp $
$Log: imach.c,v $
+ Revision 1.201 2015/09/15 17:34:58 brouard
+ Summary: 0.98r0
+
+ - Some new graphs like suvival functions
+ - Some bugs fixed like model=1+age+V2.
+
Revision 1.200 2015/09/09 16:53:55 brouard
Summary: Big bug thanks to Flavia
@@ -725,12 +731,12 @@ typedef struct {
#define ODIRSEPARATOR '\\'
#endif
-/* $Id: imach.c,v 1.200 2015/09/09 16:53:55 brouard Exp $ */
+/* $Id: imach.c,v 1.201 2015/09/15 17:34:58 brouard Exp $ */
/* $State: Exp $ */
#include "version.h"
char version[]=__IMACH_VERSION__;
char copyright[]="September 2015,INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121), Intel Software 2015";
-char fullversion[]="$Revision: 1.200 $ $Date: 2015/09/09 16:53:55 $";
+char fullversion[]="$Revision: 1.201 $ $Date: 2015/09/15 17:34:58 $";
char strstart[80];
char optionfilext[10], optionfilefiname[FILENAMELENGTH];
int erreur=0, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings */
@@ -796,7 +802,7 @@ char command[FILENAMELENGTH];
int outcmd=0;
char fileres[FILENAMELENGTH], filerespij[FILENAMELENGTH], filereso[FILENAMELENGTH], rfileres[FILENAMELENGTH];
-
+char fileresu[FILENAMELENGTH]; /* Without r in front */
char filelog[FILENAMELENGTH]; /* Log file */
char filerest[FILENAMELENGTH];
char fileregp[FILENAMELENGTH];
@@ -2570,7 +2576,7 @@ void likelione(FILE *ficres,double p[],
int k;
if(*globpri !=0){ /* Just counts and sums, no printings */
- strcpy(fileresilk,"ilk");
+ strcpy(fileresilk,"ILK_");
strcat(fileresilk,fileres);
if((ficresilk=fopen(fileresilk,"w"))==NULL) {
printf("Problem with resultfile: %s\n", fileresilk);
@@ -2587,7 +2593,7 @@ void likelione(FILE *ficres,double p[],
*fretone=(*funcone)(p);
if(*globpri !=0){
fclose(ficresilk);
- fprintf(fichtm,"\n
File of contributions to the likelihood: %s
\n",subdirf(fileresilk),subdirf(fileresilk));
+ fprintf(fichtm,"\n
File of contributions to the likelihood (if mle=1): %s
\n",subdirf(fileresilk),subdirf(fileresilk));
fflush(fichtm);
}
return;
@@ -2620,7 +2626,7 @@ void mlikeli(FILE *ficres,double p[], in
for (j=1;j<=npar;j++)
xi[i][j]=(i==j ? 1.0 : 0.0);
printf("Powell\n"); fprintf(ficlog,"Powell\n");
- strcpy(filerespow,"pow");
+ strcpy(filerespow,"POW_");
strcat(filerespow,fileres);
if((ficrespow=fopen(filerespow,"w"))==NULL) {
printf("Problem with resultfile: %s\n", filerespow);
@@ -2947,8 +2953,8 @@ void freqsummary(char fileres[], int ia
pp=vector(1,nlstate);
prop=matrix(1,nlstate,iagemin,iagemax+3);
- strcpy(fileresp,"p");
- strcat(fileresp,fileres);
+ strcpy(fileresp,"P_");
+ strcat(fileresp,fileresu);
if((ficresp=fopen(fileresp,"w"))==NULL) {
printf("Problem with prevalence resultfile: %s\n", fileresp);
fprintf(ficlog,"Problem with prevalence resultfile: %s\n", fileresp);
@@ -3816,11 +3822,11 @@ void varevsij(char optionfilefiname[], d
if(popbased==1){
if(mobilav!=0)
- strcpy(digitp,"-populbased-mobilav-");
- else strcpy(digitp,"-populbased-nomobil-");
+ strcpy(digitp,"-POPULBASED-MOBILAV_");
+ else strcpy(digitp,"-POPULBASED-NOMOBIL_");
}
else
- strcpy(digitp,"-stablbased-");
+ strcpy(digitp,"-STABLBASED_");
if (mobilav!=0) {
mobaverage= ma3x(1, AGESUP,1,NCOVMAX, 1,NCOVMAX);
@@ -3830,7 +3836,7 @@ void varevsij(char optionfilefiname[], d
}
}
- strcpy(fileresprobmorprev,"prmorprev");
+ strcpy(fileresprobmorprev,"PRMORPREV-");
sprintf(digit,"%-d",ij);
/*printf("DIGIT=%s, ij=%d ijr=%-d|\n",digit, ij,ij);*/
strcat(fileresprobmorprev,digit); /* Tvar to be done */
@@ -4070,7 +4076,7 @@ void varevsij(char optionfilefiname[], d
fprintf(ficgp,"\nunset parametric;unset label; set ter svg size 640, 480");
/* for(j=nlstate+1; j<= nlstate+ndeath; j++){ *//* Only the first actually */
fprintf(ficgp,"\n set log y; unset log x;set xlabel \"Age\"; set ylabel \"Force of mortality (year-1)\";");
- fprintf(ficgp,"\nset out \"%s%s.svg\";",subdirf3(optionfilefiname,"varmuptjgr",digitp),digit);
+ fprintf(ficgp,"\nset out \"%s%s.svg\";",subdirf3(optionfilefiname,"VARMUPTJGR-",digitp),digit);
/* fprintf(ficgp,"\n plot \"%s\" u 1:($3*%6.3f) not w l 1 ",fileresprobmorprev,YEARM/estepm); */
/* fprintf(ficgp,"\n replot \"%s\" u 1:(($3+1.96*$4)*%6.3f) t \"95\%% interval\" w l 2 ",fileresprobmorprev,YEARM/estepm); */
/* fprintf(ficgp,"\n replot \"%s\" u 1:(($3-1.96*$4)*%6.3f) not w l 2 ",fileresprobmorprev,YEARM/estepm); */
@@ -4078,11 +4084,11 @@ void varevsij(char optionfilefiname[], d
fprintf(ficgp,"\n replot \"%s\" u 1:(($3+1.96*$4)) t \"95%% interval\" w l lt 2 ",subdirf(fileresprobmorprev));
fprintf(ficgp,"\n replot \"%s\" u 1:(($3-1.96*$4)) not w l lt 2 ",subdirf(fileresprobmorprev));
fprintf(fichtm,"\n
File (multiple files are possible if covariates are present): %s\n",subdirf(fileresprobmorprev),subdirf(fileresprobmorprev));
- fprintf(fichtm,"\n
Probability is computed over estepm=%d months.
\n", estepm,subdirf3(optionfilefiname,"varmuptjgr",digitp),digit);
+ fprintf(fichtm,"\n
Probability is computed over estepm=%d months.
\n", estepm,subdirf3(optionfilefiname,"VARMUPTJGR-",digitp),digit);
/* fprintf(fichtm,"\n
Probability is computed over estepm=%d months and then divided by estepm and multiplied by %.0f in order to have the probability to die over a year
\n", stepm,YEARM,digitp,digit);
*/
/* fprintf(ficgp,"\nset out \"varmuptjgr%s%s%s.svg\";replot;",digitp,optionfilefiname,digit); */
- fprintf(ficgp,"\nset out;\nset out \"%s%s.svg\";replot;set out;\n",subdirf3(optionfilefiname,"varmuptjgr",digitp),digit);
+ fprintf(ficgp,"\nset out;\nset out \"%s%s.svg\";replot;set out;\n",subdirf3(optionfilefiname,"VARMUPTJGR-",digitp),digit);
free_vector(xp,1,npar);
free_matrix(doldm,1,nlstate,1,nlstate);
@@ -4200,19 +4206,19 @@ void varprob(char optionfilefiname[], do
char fileresprobcor[FILENAMELENGTH];
double ***varpij;
- strcpy(fileresprob,"prob");
+ strcpy(fileresprob,"PROB_");
strcat(fileresprob,fileres);
if((ficresprob=fopen(fileresprob,"w"))==NULL) {
printf("Problem with resultfile: %s\n", fileresprob);
fprintf(ficlog,"Problem with resultfile: %s\n", fileresprob);
}
- strcpy(fileresprobcov,"probcov");
+ strcpy(fileresprobcov,"PROBCOV_");
strcat(fileresprobcov,fileres);
if((ficresprobcov=fopen(fileresprobcov,"w"))==NULL) {
printf("Problem with resultfile: %s\n", fileresprobcov);
fprintf(ficlog,"Problem with resultfile: %s\n", fileresprobcov);
}
- strcpy(fileresprobcor,"probcor");
+ strcpy(fileresprobcor,"PROBCOR_");
strcat(fileresprobcor,fileres);
if((ficresprobcor=fopen(fileresprobcor,"w"))==NULL) {
printf("Problem with resultfile: %s\n", fileresprobcor);
@@ -4471,13 +4477,13 @@ To be simple, these graphs help to under
fprintf(ficgp,"\nset log y;set log x; set xlabel \"p%1d%1d (year-1)\";set ylabel \"p%1d%1d (year-1)\"",k1,l1,k2,l2);
fprintf(ficgp,"\nset ter svg size 640, 480");
fprintf(fichtmcov,"\n
Ellipsoids of confidence cov(p%1d%1d,p%1d%1d) expressed in year-1\
- :\
-%s%d%1d%1d-%1d%1d.svg, ",k1,l1,k2,l2,\
- subdirf2(optionfilefiname,"varpijgr"), j1,k1,l1,k2,l2,\
- subdirf2(optionfilefiname,"varpijgr"), j1,k1,l1,k2,l2);
- fprintf(fichtmcov,"\n
",subdirf2(optionfilefiname,"varpijgr"), j1,k1,l1,k2,l2);
+ :\
+%s_%d%1d%1d-%1d%1d.svg, ",k1,l1,k2,l2,\
+ subdirf2(optionfilefiname,"VARPIJGR_"), j1,k1,l1,k2,l2,\
+ subdirf2(optionfilefiname,"VARPIJGR_"), j1,k1,l1,k2,l2);
+ fprintf(fichtmcov,"\n
",subdirf2(optionfilefiname,"VARPIJGR_"), j1,k1,l1,k2,l2);
fprintf(fichtmcov,"\n
Correlation at age %d (%.3f),",(int) age, c12);
- fprintf(ficgp,"\nset out \"%s%d%1d%1d-%1d%1d.svg\"",subdirf2(optionfilefiname,"varpijgr"), j1,k1,l1,k2,l2);
+ fprintf(ficgp,"\nset out \"%s_%d%1d%1d-%1d%1d.svg\"",subdirf2(optionfilefiname,"VARPIJGR_"), j1,k1,l1,k2,l2);
fprintf(ficgp,"\nset label \"%d\" at %11.3e,%11.3e center",(int) age, mu1,mu2);
fprintf(ficgp,"\n# Age %d, p%1d%1d - p%1d%1d",(int) age, k1,l1,k2,l2);
fprintf(ficgp,"\nplot [-pi:pi] %11.3e+ %.3f*(%11.3e*%11.3e*cos(t)+%11.3e*%11.3e*sin(t)), %11.3e +%.3f*(%11.3e*%11.3e*cos(t)+%11.3e*%11.3e*sin(t)) not",\
@@ -4494,7 +4500,7 @@ To be simple, these graphs help to under
}/* if first */
} /* age mod 5 */
} /* end loop age */
- fprintf(ficgp,"\nset out;\nset out \"%s%d%1d%1d-%1d%1d.svg\";replot;set out;",subdirf2(optionfilefiname,"varpijgr"), j1,k1,l1,k2,l2);
+ fprintf(ficgp,"\nset out;\nset out \"%s_%d%1d%1d-%1d%1d.svg\";replot;set out;",subdirf2(optionfilefiname,"VARPIJGR_"), j1,k1,l1,k2,l2);
first=1;
} /*l12 */
} /* k12 */
@@ -4516,7 +4522,7 @@ To be simple, these graphs help to under
/******************* Printing html file ***********/
-void printinghtml(char fileres[], char title[], char datafile[], int firstpass, \
+void printinghtml(char fileresu[], char title[], char datafile[], int firstpass, \
int lastpass, int stepm, int weightopt, char model[],\
int imx,int jmin, int jmax, double jmeanint,char rfileres[],\
int popforecast, int estepm ,\
@@ -4529,20 +4535,20 @@ void printinghtml(char fileres[], char t
");
fprintf(fichtm,"
"); @@ -4561,21 +4567,37 @@ fprintf(fichtm," \n