|
|
| version 1.94, 2003/06/27 13:00:02 | version 1.97, 2004/02/20 13:25:42 |
|---|---|
| Line 1 | Line 1 |
| /* $Id$ | /* $Id$ |
| $State$ | $State$ |
| $Log$ | $Log$ |
| Revision 1.97 2004/02/20 13:25:42 lievre | |
| Version 0.96d. Population forecasting command line is (temporarily) | |
| suppressed. | |
| Revision 1.96 2003/07/15 15:38:55 brouard | |
| * imach.c (Repository): Errors in subdirf, 2, 3 while printing tmpout is | |
| rewritten within the same printf. Workaround: many printfs. | |
| Revision 1.95 2003/07/08 07:54:34 brouard | |
| * imach.c (Repository): | |
| (Repository): Using imachwizard code to output a more meaningful covariance | |
| matrix (cov(a12,c31) instead of numbers. | |
| Revision 1.94 2003/06/27 13:00:02 brouard | Revision 1.94 2003/06/27 13:00:02 brouard |
| Just cleaning | Just cleaning |
| Line 165 | Line 178 |
| #include <time.h> | #include <time.h> |
| #include "timeval.h" | #include "timeval.h" |
| /* #include <libintl.h> */ | |
| /* #define _(String) gettext (String) */ | |
| #define MAXLINE 256 | #define MAXLINE 256 |
| #define GNUPLOTPROGRAM "gnuplot" | #define GNUPLOTPROGRAM "gnuplot" |
| /*#define GNUPLOTPROGRAM "..\\gp37mgw\\wgnuplot"*/ | /*#define GNUPLOTPROGRAM "..\\gp37mgw\\wgnuplot"*/ |
| Line 196 | Line 212 |
| /* $Id$ */ | /* $Id$ */ |
| /* $State$ */ | /* $State$ */ |
| char version[]="Imach version 0.96b, June 2003, INED-EUROREVES "; | char version[]="Imach version 0.96d, February 2004, INED-EUROREVES "; |
| char fullversion[]="$Revision$ $Date$"; | char fullversion[]="$Revision$ $Date$"; |
| int erreur, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings */ | int erreur, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings */ |
| int nvar; | int nvar; |
| Line 240 char fileresvpl[FILENAMELENGTH]; | Line 256 char fileresvpl[FILENAMELENGTH]; |
| char title[MAXLINE]; | char title[MAXLINE]; |
| char optionfile[FILENAMELENGTH], datafile[FILENAMELENGTH], filerespl[FILENAMELENGTH]; | char optionfile[FILENAMELENGTH], datafile[FILENAMELENGTH], filerespl[FILENAMELENGTH]; |
| char optionfilext[10], optionfilefiname[FILENAMELENGTH], plotcmd[FILENAMELENGTH]; | char optionfilext[10], optionfilefiname[FILENAMELENGTH], plotcmd[FILENAMELENGTH]; |
| char tmpout[FILENAMELENGTH]; | char tmpout[FILENAMELENGTH], tmpout2[FILENAMELENGTH]; |
| char command[FILENAMELENGTH]; | char command[FILENAMELENGTH]; |
| int outcmd=0; | int outcmd=0; |
| Line 2291 void evsij(char fileres[], double ***eij | Line 2307 void evsij(char fileres[], double ***eij |
| hf=hstepm*stepm/YEARM; /* Duration of hstepm expressed in year unit. */ | hf=hstepm*stepm/YEARM; /* Duration of hstepm expressed in year unit. */ |
| /* Computing Variances of health expectancies */ | /* Computing Variances of health expectancies */ |
| for(theta=1; theta <=npar; theta++){ | for(theta=1; theta <=npar; theta++){ |
| for(i=1; i<=npar; i++){ | for(i=1; i<=npar; i++){ |
| Line 2845 void varprob(char optionfilefiname[], do | Line 2861 void varprob(char optionfilefiname[], do |
| fprintf(fichtm,"\n<li><h4> Computing and drawing one step probabilities with their confidence intervals</h4></li>\n"); | fprintf(fichtm,"\n<li><h4> Computing and drawing one step probabilities with their confidence intervals</h4></li>\n"); |
| fprintf(fichtm,"\n"); | fprintf(fichtm,"\n"); |
| fprintf(fichtm,"\n<li><h4> <a href=\"%s\">Computing matrix of variance-covariance of step probabilities</a></h4></li>\n",optionfilehtmcov); | fprintf(fichtm,"\n<li><h4> <a href=\"%s\">Matrix of variance-covariance of pairs of step probabilities (drawings)</a></h4></li>\n",optionfilehtmcov); |
| fprintf(fichtmcov,"\n<h4>Computing matrix of variance-covariance of step probabilities</h4>\n\ | fprintf(fichtmcov,"\n<h4>Matrix of variance-covariance of pairs of step probabilities</h4>\n\ |
| file %s<br>\n",optionfilehtmcov); | file %s<br>\n",optionfilehtmcov); |
| fprintf(fichtmcov,"\nEllipsoids of confidence centered on point (p<inf>ij</inf>, p<inf>kl</inf>) are estimated\ | fprintf(fichtmcov,"\nEllipsoids of confidence centered on point (p<inf>ij</inf>, p<inf>kl</inf>) are estimated\ |
| and drawn. It helps understanding how is the covariance between two incidences.\ | and drawn. It helps understanding how is the covariance between two incidences.\ |
| Line 2879 To be simple, these graphs help to under | Line 2895 To be simple, these graphs help to under |
| fprintf(ficgp, "**********\n#\n"); | fprintf(ficgp, "**********\n#\n"); |
| fprintf(fichtm, "\n<hr size=\"2\" color=\"#EC5E5E\">********** Variable "); | fprintf(fichtmcov, "\n<hr size=\"2\" color=\"#EC5E5E\">********** Variable "); |
| for (z1=1; z1<=cptcoveff; z1++) fprintf(fichtm, "V%d=%d ",Tvaraff[z1],nbcode[Tvaraff[z1]][codtab[j1][z1]]); | for (z1=1; z1<=cptcoveff; z1++) fprintf(fichtm, "V%d=%d ",Tvaraff[z1],nbcode[Tvaraff[z1]][codtab[j1][z1]]); |
| fprintf(fichtm, "**********\n<hr size=\"2\" color=\"#EC5E5E\">"); | fprintf(fichtmcov, "**********\n<hr size=\"2\" color=\"#EC5E5E\">"); |
| fprintf(ficresprobcor, "\n#********** Variable "); | fprintf(ficresprobcor, "\n#********** Variable "); |
| for (z1=1; z1<=cptcoveff; z1++) fprintf(ficresprobcor, "V%d=%d ",Tvaraff[z1],nbcode[Tvaraff[z1]][codtab[j1][z1]]); | for (z1=1; z1<=cptcoveff; z1++) fprintf(ficresprobcor, "V%d=%d ",Tvaraff[z1],nbcode[Tvaraff[z1]][codtab[j1][z1]]); |
| Line 3090 void printinghtml(char fileres[], char t | Line 3106 void printinghtml(char fileres[], char t |
| double jprev1, double mprev1,double anprev1, \ | double jprev1, double mprev1,double anprev1, \ |
| double jprev2, double mprev2,double anprev2){ | double jprev2, double mprev2,double anprev2){ |
| int jj1, k1, i1, cpt; | int jj1, k1, i1, cpt; |
| /*char optionfilehtm[FILENAMELENGTH];*/ | |
| /* if((fichtm=fopen(optionfilehtm,"a"))==NULL) { */ | |
| /* printf("Problem with %s \n",optionfilehtm), exit(0); */ | |
| /* fprintf(ficlog,"Problem with %s \n",optionfilehtm), exit(0); */ | |
| /* } */ | |
| fprintf(fichtm,"<ul><li><h4>Result files (first order: no variance)</h4>\n \ | fprintf(fichtm,"<ul><li><h4>Result files (first order: no variance)</h4>\n \ |
| - Observed prevalence in each state (during the period defined between %.lf/%.lf/%.lf and %.lf/%.lf/%.lf): <a href=\"%s\">%s</a> <br>\n \ | - Observed prevalence in each state (during the period defined between %.lf/%.lf/%.lf and %.lf/%.lf/%.lf): <a href=\"%s\">%s</a> <br>\n ", |
| - Estimated transition probabilities over %d (stepm) months: <a href=\"%s\">%s</a><br>\n \ | jprev1, mprev1,anprev1,jprev2, mprev2,anprev2,subdirf2(fileres,"p"),subdirf2(fileres,"p")); |
| - Stable prevalence in each health state: <a href=\"%s\">%s</a> <br>\n \ | fprintf(fichtm,"\ |
| - Estimated transition probabilities over %d (stepm) months: <a href=\"%s\">%s</a><br>\n ", | |
| stepm,subdirf2(fileres,"pij"),subdirf2(fileres,"pij")); | |
| fprintf(fichtm,"\ | |
| - Stable prevalence in each health state: <a href=\"%s\">%s</a> <br>\n", | |
| subdirf2(fileres,"pl"),subdirf2(fileres,"pl")); | |
| fprintf(fichtm,"\ | |
| - Life expectancies by age and initial health status (estepm=%2d months): \ | - Life expectancies by age and initial health status (estepm=%2d months): \ |
| <a href=\"%s\">%s</a> <br>\n</li>", \ | <a href=\"%s\">%s</a> <br>\n</li>", |
| jprev1, mprev1,anprev1,jprev2, mprev2,anprev2,subdirf2(fileres,"p"),subdirf2(fileres,"p"),\ | |
| stepm,subdirf2(fileres,"pij"),subdirf2(fileres,"pij"),\ | |
| subdirf2(fileres,"pl"),subdirf2(fileres,"pl"),\ | |
| estepm,subdirf2(fileres,"e"),subdirf2(fileres,"e")); | estepm,subdirf2(fileres,"e"),subdirf2(fileres,"e")); |
| fprintf(fichtm," \n<ul><li><b>Graphs</b></li><p>"); | fprintf(fichtm," \n<ul><li><b>Graphs</b></li><p>"); |
| Line 3138 fprintf(fichtm," \n<ul><li><b>Graphs</b> | Line 3152 fprintf(fichtm," \n<ul><li><b>Graphs</b> |
| fprintf(fichtm,"\n<br>- Health life expectancies by age and initial health state (%d): %s%d%d.png <br> \ | fprintf(fichtm,"\n<br>- Health life expectancies by age and initial health state (%d): %s%d%d.png <br> \ |
| <img src=\"%s%d%d.png\">",cpt,subdirf2(optionfilefiname,"exp"),cpt,jj1,subdirf2(optionfilefiname,"exp"),cpt,jj1); | <img src=\"%s%d%d.png\">",cpt,subdirf2(optionfilefiname,"exp"),cpt,jj1,subdirf2(optionfilefiname,"exp"),cpt,jj1); |
| } | } |
| fprintf(fichtm,"\n<br>- Total life expectancy by age and \ | |
| health expectancies in states (1) and (2): %s%d.png<br>\ | |
| <img src=\"%s%d.png\">",subdirf2(optionfilefiname,"e"),jj1,subdirf2(optionfilefiname,"e"),jj1); | |
| } /* end i1 */ | } /* end i1 */ |
| }/* End k1 */ | }/* End k1 */ |
| fprintf(fichtm,"</ul>"); | fprintf(fichtm,"</ul>"); |
| fprintf(fichtm,"\n<br><li><h4> Result files (second order: variances)</h4>\n\ | fprintf(fichtm,"\ |
| - Parameter file with estimated parameters and covariance matrix: <a href=\"%s\">%s</a> <br>\n\ | \n<br><li><h4> Result files (second order: variances)</h4>\n\ |
| - Variance of one-step probabilities: <a href=\"%s\">%s</a> <br>\n\ | - Parameter file with estimated parameters and covariance matrix: <a href=\"%s\">%s</a> <br>\n", rfileres,rfileres); |
| - Variance-covariance of one-step probabilities: <a href=\"%s\">%s</a> <br>\n\ | |
| - Correlation matrix of one-step probabilities: <a href=\"%s\">%s</a> <br>\n\ | fprintf(fichtm," - Variance of one-step probabilities: <a href=\"%s\">%s</a> <br>\n", |
| - Variances and covariances of life expectancies by age and initial health status (estepm=%d months): <a href=\"%s\">%s</a><br>\n\ | subdirf2(fileres,"prob"),subdirf2(fileres,"prob")); |
| - Health expectancies with their variances (no covariance): <a href=\"%s\">%s</a> <br>\n\ | fprintf(fichtm,"\ |
| - Variance-covariance of one-step probabilities: <a href=\"%s\">%s</a> <br>\n", | |
| subdirf2(fileres,"probcov"),subdirf2(fileres,"probcov")); | |
| fprintf(fichtm,"\ | |
| - Correlation matrix of one-step probabilities: <a href=\"%s\">%s</a> <br>\n", | |
| subdirf2(fileres,"probcor"),subdirf2(fileres,"probcor")); | |
| fprintf(fichtm,"\ | |
| - Variances and covariances of life expectancies by age and initial health status (estepm=%d months): <a href=\"%s\">%s</a><br>\n", | |
| estepm, subdirf2(fileres,"v"),subdirf2(fileres,"v")); | |
| fprintf(fichtm,"\ | |
| - Health expectancies with their variances (no covariance): <a href=\"%s\">%s</a> <br>\n", | |
| subdirf2(fileres,"t"),subdirf2(fileres,"t")); | |
| fprintf(fichtm,"\ | |
| - Standard deviation of stable prevalences: <a href=\"%s\">%s</a> <br>\n",\ | - Standard deviation of stable prevalences: <a href=\"%s\">%s</a> <br>\n",\ |
| rfileres,rfileres,\ | |
| subdirf2(fileres,"prob"),subdirf2(fileres,"prob"),\ | |
| subdirf2(fileres,"probcov"),subdirf2(fileres,"probcov"),\ | |
| subdirf2(fileres,"probcor"),subdirf2(fileres,"probcor"),\ | |
| estepm, subdirf2(fileres,"v"),subdirf2(fileres,"v"),\ | |
| subdirf2(fileres,"t"),subdirf2(fileres,"t"),\ | |
| subdirf2(fileres,"vpl"),subdirf2(fileres,"vpl")); | subdirf2(fileres,"vpl"),subdirf2(fileres,"vpl")); |
| /* if(popforecast==1) fprintf(fichtm,"\n */ | /* if(popforecast==1) fprintf(fichtm,"\n */ |
| Line 3168 health expectancies in states (1) and (2 | Line 3186 health expectancies in states (1) and (2 |
| /* <br>",fileres,fileres,fileres,fileres); */ | /* <br>",fileres,fileres,fileres,fileres); */ |
| /* else */ | /* else */ |
| /* fprintf(fichtm,"\n No population forecast: popforecast = %d (instead of 1) or stepm = %d (instead of 1) or model=%s (instead of .)<br><br></li>\n",popforecast, stepm, model); */ | /* fprintf(fichtm,"\n No population forecast: popforecast = %d (instead of 1) or stepm = %d (instead of 1) or model=%s (instead of .)<br><br></li>\n",popforecast, stepm, model); */ |
| fprintf(fichtm," <ul><li><b>Graphs</b></li><p>"); | fflush(fichtm); |
| fprintf(fichtm," <ul><li><b>Graphs</b></li><p>"); | |
| m=cptcoveff; | m=cptcoveff; |
| if (cptcovn < 1) {m=1;ncodemax[1]=1;} | if (cptcovn < 1) {m=1;ncodemax[1]=1;} |
| Line 3184 fprintf(fichtm," <ul><li><b>Graphs</b></ | Line 3203 fprintf(fichtm," <ul><li><b>Graphs</b></ |
| fprintf(fichtm," ************\n<hr size=\"2\" color=\"#EC5E5E\">"); | fprintf(fichtm," ************\n<hr size=\"2\" color=\"#EC5E5E\">"); |
| } | } |
| for(cpt=1; cpt<=nlstate;cpt++) { | for(cpt=1; cpt<=nlstate;cpt++) { |
| fprintf(fichtm,"<br>- Observed and period prevalence (with confident\ | fprintf(fichtm,"<br>- Observed (cross-sectional) and period (incidence based) \ |
| interval) in state (%d): %s%d%d.png <br>\ | prevalence (with 95%% confidence interval) in state (%d): %s%d%d.png <br>\ |
| <img src=\"%s%d%d.png\">",cpt,subdirf2(optionfilefiname,"v"),cpt,jj1,subdirf2(optionfilefiname,"v"),cpt,jj1); | <img src=\"%s%d%d.png\">",cpt,subdirf2(optionfilefiname,"v"),cpt,jj1,subdirf2(optionfilefiname,"v"),cpt,jj1); |
| } | } |
| fprintf(fichtm,"\n<br>- Total life expectancy by age and \ | |
| health expectancies in states (1) and (2): %s%d.png<br>\ | |
| <img src=\"%s%d.png\">",subdirf2(optionfilefiname,"e"),jj1,subdirf2(optionfilefiname,"e"),jj1); | |
| } /* end i1 */ | } /* end i1 */ |
| }/* End k1 */ | }/* End k1 */ |
| fprintf(fichtm,"</ul>"); | fprintf(fichtm,"</ul>"); |
| Line 3842 void prwizard(int ncovmodel, int nlstate | Line 3864 void prwizard(int ncovmodel, int nlstate |
| } /* end k*/ | } /* end k*/ |
| } /*end j */ | } /*end j */ |
| } /* end i */ | } /* end i */ |
| } | } /* end itimes */ |
| } /* end of prwizard */ | } /* end of prwizard */ |
| Line 3855 int main(int argc, char *argv[]) | Line 3877 int main(int argc, char *argv[]) |
| { | { |
| int movingaverage(double ***probs, double bage,double fage, double ***mobaverage, int mobilav); | int movingaverage(double ***probs, double bage,double fage, double ***mobaverage, int mobilav); |
| int i,j, k, n=MAXN,iter,m,size=100,cptcode, cptcod; | int i,j, k, n=MAXN,iter,m,size=100,cptcode, cptcod; |
| int jj, imk; | int jj, ll, li, lj, lk, imk; |
| int numlinepar=0; /* Current linenumber of parameter file */ | int numlinepar=0; /* Current linenumber of parameter file */ |
| int itimes; | |
| char ca[32], cb[32], cc[32]; | |
| /* FILE *fichtm; *//* Html File */ | /* FILE *fichtm; *//* Html File */ |
| /* FILE *ficgp;*/ /*Gnuplot File */ | /* FILE *ficgp;*/ /*Gnuplot File */ |
| double agedeb, agefin,hf; | double agedeb, agefin,hf; |
| Line 3911 int main(int argc, char *argv[]) | Line 3936 int main(int argc, char *argv[]) |
| long total_usecs; | long total_usecs; |
| /* setlocale (LC_ALL, ""); */ | |
| /* bindtextdomain (PACKAGE, LOCALEDIR); */ | |
| /* textdomain (PACKAGE); */ | |
| /* setlocale (LC_CTYPE, ""); */ | |
| /* setlocale (LC_MESSAGES, ""); */ | |
| /* gettimeofday(&start_time, (struct timezone*)0); */ /* at first time */ | /* gettimeofday(&start_time, (struct timezone*)0); */ /* at first time */ |
| (void) gettimeofday(&start_time,&tzp); | (void) gettimeofday(&start_time,&tzp); |
| curr_time=start_time; | curr_time=start_time; |
| Line 4457 int main(int argc, char *argv[]) | Line 4488 int main(int argc, char *argv[]) |
| }*/ | }*/ |
| printf("Total number of individuals= %d, Agemin = %.2f, Agemax= %.2f\n\n", imx, agemin, agemax); | printf("Total number of individuals= %d, Agemin = %.2f, Agemax= %.2f\n\n", imx, agemin, agemax); |
| fprintf(ficlog,"Total number of individuals= %d, Agemin = %.2f, Agemax= %.2f\n\n", imx, agemin, agemax); | fprintf(ficlog,"Total number of individuals= %d, Agemin = %.2f, Agemax= %.2f\n\n", imx, agemin, agemax); |
| Line 4602 Interval (in months) between two waves: | Line 4634 Interval (in months) between two waves: |
| fprintf(ficres,"title=%s datafile=%s lastobs=%d firstpass=%d lastpass=%d\nftol=%e stepm=%d ncovcol=%d nlstate=%d ndeath=%d maxwav=%d mle= 0 weight=%d\nmodel=%s\n", title, datafile, lastobs, firstpass,lastpass,ftol, stepm, ncovcol, nlstate, ndeath, maxwav, weightopt,model); | fprintf(ficres,"title=%s datafile=%s lastobs=%d firstpass=%d lastpass=%d\nftol=%e stepm=%d ncovcol=%d nlstate=%d ndeath=%d maxwav=%d mle= 0 weight=%d\nmodel=%s\n", title, datafile, lastobs, firstpass,lastpass,ftol, stepm, ncovcol, nlstate, ndeath, maxwav, weightopt,model); |
| jk=1; | |
| fprintf(ficres,"# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); | fprintf(ficres,"# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); |
| printf("# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); | printf("# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); |
| fprintf(ficlog,"# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); | fprintf(ficlog,"# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); |
| for(i=1,jk=1; i <=nlstate; i++){ | for(i=1,jk=1; i <=nlstate; i++){ |
| for(k=1; k <=(nlstate+ndeath); k++){ | for(k=1; k <=(nlstate+ndeath); k++){ |
| if (k != i) | if (k != i) { |
| { | printf("%d%d ",i,k); |
| printf("%d%d ",i,k); | fprintf(ficlog,"%d%d ",i,k); |
| fprintf(ficlog,"%d%d ",i,k); | fprintf(ficres,"%1d%1d ",i,k); |
| fprintf(ficres,"%1d%1d ",i,k); | for(j=1; j <=ncovmodel; j++){ |
| for(j=1; j <=ncovmodel; j++){ | printf("%f ",p[jk]); |
| printf("%f ",p[jk]); | fprintf(ficlog,"%f ",p[jk]); |
| fprintf(ficlog,"%f ",p[jk]); | fprintf(ficres,"%f ",p[jk]); |
| fprintf(ficres,"%f ",p[jk]); | jk++; |
| jk++; | |
| } | |
| printf("\n"); | |
| fprintf(ficlog,"\n"); | |
| fprintf(ficres,"\n"); | |
| } | } |
| printf("\n"); | |
| fprintf(ficlog,"\n"); | |
| fprintf(ficres,"\n"); | |
| } | |
| } | } |
| } | } |
| if(mle!=0){ | if(mle!=0){ |
| Line 4653 Interval (in months) between two waves: | Line 4683 Interval (in months) between two waves: |
| } | } |
| fprintf(ficres,"# Covariance matrix \n# 121 Var(a12)\n# 122 Cov(b12,a12) Var(b12)\n# ...\n# 232 Cov(b23,a12) Cov(b23,b12) ... Var (b23)\n"); | fprintf(ficres,"# Covariance matrix \n# 121 Var(a12)\n# 122 Cov(b12,a12) Var(b12)\n# ...\n# 232 Cov(b23,a12) Cov(b23,b12) ... Var (b23)\n"); |
| if(mle==1) | if(mle>=1) |
| printf("# Covariance matrix \n# 121 Var(a12)\n# 122 Cov(b12,a12) Var(b12)\n# ...\n# 232 Cov(b23,a12) Cov(b23,b12) ... Var (b23)\n"); | printf("# Covariance matrix \n# 121 Var(a12)\n# 122 Cov(b12,a12) Var(b12)\n# ...\n# 232 Cov(b23,a12) Cov(b23,b12) ... Var (b23)\n"); |
| fprintf(ficlog,"# Covariance matrix \n# 121 Var(a12)\n# 122 Cov(b12,a12) Var(b12)\n# ...\n# 232 Cov(b23,a12) Cov(b23,b12) ... Var (b23)\n"); | fprintf(ficlog,"# Covariance matrix \n# 121 Var(a12)\n# 122 Cov(b12,a12) Var(b12)\n# ...\n# 232 Cov(b23,a12) Cov(b23,b12) ... Var (b23)\n"); |
| for(i=1,k=1;i<=npar;i++){ | /* # 121 Var(a12)\n\ */ |
| /* if (k>nlstate) k=1; | /* # 122 Cov(b12,a12) Var(b12)\n\ */ |
| i1=(i-1)/(ncovmodel*nlstate)+1; | /* # 131 Cov(a13,a12) Cov(a13,b12, Var(a13)\n\ */ |
| fprintf(ficres,"%s%d%d",alph[k],i1,tab[i]); | /* # 132 Cov(b13,a12) Cov(b13,b12, Cov(b13,a13) Var(b13)\n\ */ |
| printf("%s%d%d",alph[k],i1,tab[i]); | /* # 212 Cov(a21,a12) Cov(a21,b12, Cov(a21,a13) Cov(a21,b13) Var(a21)\n\ */ |
| */ | /* # 212 Cov(b21,a12) Cov(b21,b12, Cov(b21,a13) Cov(b21,b13) Cov(b21,a21) Var(b21)\n\ */ |
| fprintf(ficres,"%3d",i); | /* # 232 Cov(a23,a12) Cov(a23,b12, Cov(a23,a13) Cov(a23,b13) Cov(a23,a21) Cov(a23,b21) Var(a23)\n\ */ |
| if(mle==1) | /* # 232 Cov(b23,a12) Cov(b23,b12) ... Var (b23)\n" */ |
| printf("%3d",i); | |
| fprintf(ficlog,"%3d",i); | |
| for(j=1; j<=i;j++){ | /* Just to have a covariance matrix which will be more understandable |
| fprintf(ficres," %.5e",matcov[i][j]); | even is we still don't want to manage dictionary of variables |
| if(mle==1) | */ |
| printf(" %.5e",matcov[i][j]); | for(itimes=1;itimes<=2;itimes++){ |
| fprintf(ficlog," %.5e",matcov[i][j]); | jj=0; |
| } | for(i=1; i <=nlstate; i++){ |
| fprintf(ficres,"\n"); | for(j=1; j <=nlstate+ndeath; j++){ |
| if(mle==1) | if(j==i) continue; |
| printf("\n"); | for(k=1; k<=ncovmodel;k++){ |
| fprintf(ficlog,"\n"); | jj++; |
| k++; | ca[0]= k+'a'-1;ca[1]='\0'; |
| } | if(itimes==1){ |
| if(mle>=1) | |
| printf("#%1d%1d%d",i,j,k); | |
| fprintf(ficlog,"#%1d%1d%d",i,j,k); | |
| fprintf(ficres,"#%1d%1d%d",i,j,k); | |
| }else{ | |
| if(mle>=1) | |
| printf("%1d%1d%d",i,j,k); | |
| fprintf(ficlog,"%1d%1d%d",i,j,k); | |
| fprintf(ficres,"%1d%1d%d",i,j,k); | |
| } | |
| ll=0; | |
| for(li=1;li <=nlstate; li++){ | |
| for(lj=1;lj <=nlstate+ndeath; lj++){ | |
| if(lj==li) continue; | |
| for(lk=1;lk<=ncovmodel;lk++){ | |
| ll++; | |
| if(ll<=jj){ | |
| cb[0]= lk +'a'-1;cb[1]='\0'; | |
| if(ll<jj){ | |
| if(itimes==1){ | |
| if(mle>=1) | |
| printf(" Cov(%s%1d%1d,%s%1d%1d)",ca,i,j,cb, li,lj); | |
| fprintf(ficlog," Cov(%s%1d%1d,%s%1d%1d)",ca,i,j,cb, li,lj); | |
| fprintf(ficres," Cov(%s%1d%1d,%s%1d%1d)",ca,i,j,cb, li,lj); | |
| }else{ | |
| if(mle>=1) | |
| printf(" %.5e",matcov[jj][ll]); | |
| fprintf(ficlog," %.5e",matcov[jj][ll]); | |
| fprintf(ficres," %.5e",matcov[jj][ll]); | |
| } | |
| }else{ | |
| if(itimes==1){ | |
| if(mle>=1) | |
| printf(" Var(%s%1d%1d)",ca,i,j); | |
| fprintf(ficlog," Var(%s%1d%1d)",ca,i,j); | |
| fprintf(ficres," Var(%s%1d%1d)",ca,i,j); | |
| }else{ | |
| if(mle>=1) | |
| printf(" %.5e",matcov[jj][ll]); | |
| fprintf(ficlog," %.5e",matcov[jj][ll]); | |
| fprintf(ficres," %.5e",matcov[jj][ll]); | |
| } | |
| } | |
| } | |
| } /* end lk */ | |
| } /* end lj */ | |
| } /* end li */ | |
| if(mle>=1) | |
| printf("\n"); | |
| fprintf(ficlog,"\n"); | |
| fprintf(ficres,"\n"); | |
| numlinepar++; | |
| } /* end k*/ | |
| } /*end j */ | |
| } /* end i */ | |
| } /* end itimes */ | |
| fflush(ficlog); | |
| fflush(ficres); | |
| while((c=getc(ficpar))=='#' && c!= EOF){ | while((c=getc(ficpar))=='#' && c!= EOF){ |
| ungetc(c,ficpar); | ungetc(c,ficpar); |
| fgets(line, MAXLINE, ficpar); | fgets(line, MAXLINE, ficpar); |
| Line 4752 Interval (in months) between two waves: | Line 4841 Interval (in months) between two waves: |
| } | } |
| ungetc(c,ficpar); | ungetc(c,ficpar); |
| fscanf(ficpar,"popforecast=%d popfile=%s popfiledate=%lf/%lf/%lf last-popfiledate=%lf/%lf/%lf\n",&popforecast,popfile,&jpyram,&mpyram,&anpyram,&jpyram1,&mpyram1,&anpyram1); | /* fscanf(ficpar,"popforecast=%d popfile=%s popfiledate=%lf/%lf/%lf last-popfiledate=%lf/%lf/%lf\n",&popforecast,popfile,&jpyram,&mpyram,&anpyram,&jpyram1,&mpyram1,&anpyram1); |
| fprintf(ficparo,"popforecast=%d popfile=%s popfiledate=%.lf/%.lf/%.lf last-popfiledate=%.lf/%.lf/%.lf\n",popforecast,popfile,jpyram,mpyram,anpyram,jpyram1,mpyram1,anpyram1); | fprintf(ficparo,"popforecast=%d popfile=%s popfiledate=%.lf/%.lf/%.lf last-popfiledate=%.lf/%.lf/%.lf\n",popforecast,popfile,jpyram,mpyram,anpyram,jpyram1,mpyram1,anpyram1); |
| fprintf(ficres,"popforecast=%d popfile=%s popfiledate=%.lf/%.lf/%.lf last-popfiledate=%.lf/%.lf/%.lf\n",popforecast,popfile,jpyram,mpyram,anpyram,jpyram1,mpyram1,anpyram1); | fprintf(ficres,"popforecast=%d popfile=%s popfiledate=%.lf/%.lf/%.lf last-popfiledate=%.lf/%.lf/%.lf\n",popforecast,popfile,jpyram,mpyram,anpyram,jpyram1,mpyram1,anpyram1);*/ |
| /* freqsummary(fileres, agemin, agemax, s, agev, nlstate, imx,Tvaraff,nbcode, ncodemax,mint,anint);*/ | /* freqsummary(fileres, agemin, agemax, s, agev, nlstate, imx,Tvaraff,nbcode, ncodemax,mint,anint);*/ |
| /*,dateprev1,dateprev2,jprev1, mprev1,anprev1,jprev2, mprev2,anprev2);*/ | /*,dateprev1,dateprev2,jprev1, mprev1,anprev1,jprev2, mprev2,anprev2);*/ |
| Line 4893 Interval (in months) between two waves: | Line 4982 Interval (in months) between two waves: |
| fclose(ficrespij); | fclose(ficrespij); |
| probs= ma3x(1,AGESUP,1,NCOVMAX, 1,NCOVMAX); | probs= ma3x(1,AGESUP,1,NCOVMAX, 1,NCOVMAX); |
| for(i=1;i<=AGESUP;i++) | |
| for(j=1;j<=NCOVMAX;j++) | |
| for(k=1;k<=NCOVMAX;k++) | |
| probs[i][j][k]=0.; | |
| /*---------- Forecasting ------------------*/ | /*---------- Forecasting ------------------*/ |
| /*if((stepm == 1) && (strcmp(model,".")==0)){*/ | /*if((stepm == 1) && (strcmp(model,".")==0)){*/ |
| Line 5089 ageminpar, agemax, s[lastpass][imx], age | Line 5182 ageminpar, agemax, s[lastpass][imx], age |
| if((nberr >0) || (nbwarn>0)){ | if((nberr >0) || (nbwarn>0)){ |
| printf("End of Imach with %d errors and/or warnings %d\n",nberr,nbwarn); | printf("End of Imach with %d errors and/or %d warnings\n",nberr,nbwarn); |
| fprintf(ficlog,"End of Imach with %d errors and/or warnings %d\n",nberr,nbwarn); | fprintf(ficlog,"End of Imach with %d errors and/or warnings %d\n",nberr,nbwarn); |
| }else{ | }else{ |
| printf("End of Imach\n"); | printf("End of Imach\n"); |