25 static const char name_cat[MAXCAT][13] =
75 fprintf(
ioQQQ,
" trace, optimize_func variables" );
78 fprintf(
ioQQQ,
"%.2e", param[i] );
80 fprintf(
ioQQQ,
"\n" );
93 if( strcmp(
optimize.chOptRtn,
"XSPE") == 0 )
109 fprintf(
ioQQQ,
" Iteration %ld not within range.\n",
123 fprintf(
ioQQQ,
" PROBLEM Cloudy returned error condition - what happened?\n" );
136 for( i=0; i < MAXCAT; i++ )
145 " Normalization line array index is bad. What has gone wrong?\n" );
151 fprintf(
ioQQQ,
"\n\n PROBLEM Normalization line has zero intensity. What has gone wrong?\n" );
152 fprintf(
ioQQQ,
" Is spectrum normalized to a species that does not exist?\n" );
161 fprintf(
ioQQQ,
" ID Model Observed error chi**2 Type\n" );
169 if(
optimize.xLineInt_Obs.size() > 0 )
176 for( i=0; i < long(
optimize.xLineInt_Obs.size()); i++ )
187 fprintf(
ioQQQ,
"\n" );
199 fprintf(
ioQQQ,
"\n\n Optimizer could not find one or more lines.\n" );
200 fprintf(
ioQQQ,
" Sorry.\n");
205 for( i=0; i < 10; i++ )
210 for( i=0; i < long(
optimize.xLineInt_Obs.size()); i++ )
220 chi2_cat[cat] += chi1;
226 fprintf(
ioQQQ,
"%12.5f%12.5f%12.5f%12.2e Relative intensity",
232 fprintf(
ioQQQ,
"\n" );
242 for( i=0; i < long(
optimize.temp_obs.size()); i++ )
245 &temp_theory,
optimize.chTempWeight[i].c_str()) )
248 fprintf(
ioQQQ,
" optimizer did not find column density %s %li \n",
257 chi2_cat[cat] += chi1;
259 fprintf(
ioQQQ,
" %4.4s%7ld%12.4e%12.4e%12.5f%12.2e Temperature\n",
265 for( i=0; i < long(
optimize.ColDen_Obs.size()); i++ )
270 fprintf(
ioQQQ,
" optimizer did not find column density %s %li \n",
279 chi2_cat[cat] += chi1;
281 fprintf(
ioQQQ,
" %4.4s%7ld%12.4e%12.4e%12.5f%12.2e Column density\n",
304 chi2_cat[cat] += chi1;
306 fprintf(
ioQQQ,
" %4.4s ",
311 fprintf(
ioQQQ,
"%12.5f%12.5f%12.5f%12.2e Line intensity\n",
319 for(
size_t k=0; k <
optimize.ContIndex.size(); k++ )
328 nFnu_model = pow(10.,nFnu_model);
336 if(
optimize.ContEner[k].mm() <= 1. )
339 catstr =
"Photometry";
344 catstr =
"Radio intensity";
347 chi2_cat[cat] += chi1;
351 string unit =
optimize.ContNFnu[k].uu();
352 fprintf(
ioQQQ,
"%12.4g%12.4g%12.5f%12.2e %s [%s]\n",
356 catstr, unit.c_str() );
366 diam_model = 2.*
rfield.rstrom;
368 diam_model = 2.*
radius.Radius;
376 chi2_cat[cat] += chi1;
378 fprintf(
ioQQQ,
" %12.4g%12.4g%12.5f%12.2e Angular diameter\n",
383 if( nfound <= 0 && !
grid.lgGrid )
385 fprintf(
ioQQQ,
" WARNING; no line matches found\n" );
390 fprintf(
ioQQQ,
"\n" );
391 for( i=0; i < MAXCAT; i++ )
393 if( nobs_cat[i] > 0 )
395 chisq += chi2_cat[i]/nobs_cat[i];
396 fprintf(
ioQQQ,
" Category %s #obs.%3ld Total Chi**2%11.3e Average Chi**2%11.3e\n",
397 name_cat[i],nobs_cat[i],chi2_cat[i],chi2_cat[i]/nobs_cat[i] );
402 fprintf(
ioQQQ,
"\n Iteration%4ld Chisq=%13.5e\n",
optimize.nOptimiz, chisq );
412 fprintf(
ioQQQ,
"\n" );
457 fprintf(
ioQQQ,
"The number of variable options on this line makes no sense to me4\n");
461 fprintf(
ioQQQ,
" Varied command: %s\n",
462 input.chCardSav[np] );