35 char,
char*,
long,
bool);
38void plot(
const char *chCall)
87 fprintf(
ioQQQ,
" PLOT type=%4.4s not known. STOP\n",
118 if( strcmp(chCall,
"FIRST") == 0 )
130 fprintf(
ioQQQ,
" XMIN, XMAX=%12.4e%12.4e NFLUX=%4ld\n",
136 fprintf(
ioQQQ,
" Reflected continuum not computed when SPHERE set.\n" );
145 strcpy( chSymPlt2,
"o " );
197 strcpy( chSymPlt2,
"o " );
219 ymin =
MIN2(ymin,(
double)y[i]);
224 ymin2 =
MIN2(ymin2,(
double)y2[i]);
227 ymax =
MAX2(ymax,(
double)y[i]);
228 ymax =
MAX2(ymax,(
double)y2[i]);
234 fprintf(
ioQQQ,
" PLOT called for the first time, YMAX, MIN=%10.2e%10.2e\n",
239 ymin2 =
MAX3(ymax-5.,-35.,ymin2);
242 ymin =
MIN3(ymin2,ymin,ymax-1.);
247 ymin =
MAX2(ymin,ymax-4.);
252 fprintf(
ioQQQ,
" YMAX, MIN=%14.4e%14.4e Npnts=%4ld\n",
256 strcpy( chXtitle,
"Log(nu fnu) vs LOG(nu)" );
263 chSym = chSymPlt2[0];
280 static bool lgTlkSav;
292 if( strcmp(chCall,
"FIRST") == 0 )
317 fprintf(
ioQQQ,
" xmin, xmax=%12.4e%12.4e nmap=%4ld\n",
344 fprintf(
ioQQQ,
" PLOT called for the first time, YMAX, MIN=%10.2e%10.2e\n",
350 fprintf(
ioQQQ,
" YMAX, MIN=%14.4e%14.4e Npnts=%4ld\n",
355 strcpy( chXtitle,
"heating - cooling v te" );
387 if( strcmp(chCall,
"FIRST") == 0 )
402 fprintf(
ioQQQ,
" XMIN, XMAX=%12.4e%12.4e NFLUX=%4ld\n",
435 fprintf(
ioQQQ,
" pltopc type=%4.4s not known. STOP\n",
445 ymin =
MIN3(ymin,y[i],y2[i]);
446 ymax =
MAX3(ymax,y[i],y2[i]);
452 fprintf(
ioQQQ,
" PLOT called for the first time, YMAX, MIN=%10.2e%10.2e\n",
457 ymin =
MAX2(ymin-1.,-35.);
461 fprintf(
ioQQQ,
" YMAX, MIN=%14.4e%14.4e Npnts=%4ld\n",
465 strcpy( chXtitle,
"Log(opacity) vs log(n)" );
500 static char chPage[59][122];
511 static long int jpnt[
NDECAD],
523 static char chLab[
NDECAD][5]={
"1E-8",
"1E-7",
"1E-6",
"1E-5",
524 "1E-4",
".001",
"0.01",
" 0.1",
" 1 ",
525 " 10 ",
" 100",
"1000",
"1E4 ",
"1E5 ",
"1E6 ",
"1E7 ",
"1E8 ",
"1E9 "};
533 for( i=1; i <
IHI; i++ )
536 for( j=1; j <
IWID; j++ )
543 strcpy( chPage[1],
" " );
544 strcat( chPage[1], chXtitle );
553 while( i <=
IHI && nc < 200 )
555 chPage[i-1][1] =
'-';
557 i = (long)(ydown + 1);
562 for( i=0; i <
IWID; i++ )
564 chPage[
IHI-1][i] =
'-';
567 if( xmin < xAxisMin )
569 fprintf(
ioQQQ,
" plts: xmin is less than min value in array\n");
575 lx = (long)(4.999-fabs(xmin));
578 lx = (long)(fabs(xAxisMin)-0.001-fabs(xmin));
581 xdec = -floor(fabs(xmin)+1e-5);
586 lx = (long)
MAX2(0.,4.+xmin);
588 lx = (long)
MAX2(0.,4.+xmin);
591 lx = (long)
MAX2(0., aa-1. + xmin );
592 xdec = floor(xmin+1e-5);
597 i = (long)
MAX2(1.,(xdec-xmin)*xinc+1.);
600 while( i <
IWID && nc < 100 )
602 chPage[
IHI-2][i - 1] =
'l';
608 jpnt[lx-1] =
MAX2(0,i-3);
609 jpnt[lx-1] =
MIN2((
long)
IWID-4,jpnt[lx-1]);
611 i = (long)
MAX2(1.,(xdec-xmin)*xinc+1.);
618 for( i=0; i < npnts; i++ )
620 if( (
double)x[i] > xmin && (double)x[i] < xmax )
622 iy = (long)(
IHI -
MAX2(y[i]-ymin,0.)*yinc);
624 ix = (long)((x[i] - xmin)*xinc + 1);
628 fprintf(
ioQQQ,
" x, y, ix, iy=%7.3f%7.3f%4ld%4ld\n",
629 x[i], y[i], ix, iy );
631 chPage[iy-1][ix - 1] = chSym;
638 fprintf(
ioQQQ,
"1\n" );
639 for( i=1; i <
IHI; i++ )
641 fprintf(
ioQQQ,
" %121.121s\n", chPage[i] );
645 for( i=0; i <
IWID; i++ )
650 for( i=lowx-1; i < lx; i++ )
653 strncpy(chPage[0]+jpnt[i] , chLab[i+1] , 4);
655 fprintf(
ioQQQ,
" %121.121s\n", chPage[0] );
#define DEBUG_ENTRY(funcname)
void map_do(FILE *io, const char *chType)
STATIC void pltopc(long int np, const char *chCall)
void plot(const char *chCall)
STATIC void pltcon(long int np, const char *chCall)
STATIC void pltr(realnum[], realnum[], long, double, double, double, double, char, char *, long, bool)
STATIC void pltmap(long int np, const char *chCall)
realnum gas_phase[LIMELM]
double * opacity_sct_savzon1
double * opacity_abs_savzon1
realnum ** flux_total_incident