27 fprintf(
ioQQQ,
"The COMPILE OPACITIES command is currently not supported\n" );
51 "Success!! Created file opacity.opc\nMake sure this is on the path.\n" );
108 if(
strstr_s(chRead.c_str(),
".rfi") != NULL ||
strstr_s(chRead.c_str(),
".mix") != NULL )
110 strcpy(chRFI,chRead.c_str());
112 else if(
strstr_s(chRead.c_str(),
".szd") != NULL )
114 strcpy(chSZD,chRead.c_str());
118 fprintf(
ioQQQ,
" filename %s has unknown extension, sorry\n" , chRead.c_str() );
129 if(
strstr_s(chRead.c_str(),
".rfi") != NULL ||
strstr_s(chRead.c_str(),
".mix") != NULL )
131 strcpy(chRFI,chRead.c_str());
133 else if(
strstr_s(chRead.c_str(),
".szd") != NULL )
135 strcpy(chSZD,chRead.c_str());
139 fprintf(
ioQQQ,
" filename %s has unknown extension, sorry\n" , chRead.c_str() );
145 if( chRFI[0] ==
'\0' )
151 strcpy(chRFI ,
"ac1-amcarb.rfi" );
157 strcpy(chRFI ,
"be1-amcarb.rfi" );
160 else if( p.
nMatch(
"GRAP") )
163 strcpy(chRFI ,
"graphite.rfi" );
165 else if( p.
nMatch(
"SILI" ) )
168 strcpy(chRFI ,
"silicate.rfi" );
170 else if( p.
nMatch(
" SIC" ) )
173 strcpy(chRFI ,
"sic.rfi" );
175 else if( p.
nMatch(
" PAH" ) )
178 strcpy(chRFI ,
"pah1.rfi" );
182 strcpy(chRFI ,
"grey.rfi" );
187 if( chSZD[0] ==
'\0' )
192 strcpy(chSZD ,
"0m010.szd" );
196 strcpy(chSZD ,
"0m100.szd" );
200 strcpy(chSZD ,
"1m000.szd" );
202 else if( p.
nMatch(
"ORIO" ) )
204 strcpy(chSZD ,
"orion.szd" );
206 else if( p.
nMatch(
" ISM" ) )
208 strcpy(chSZD ,
"ism.szd" );
213 strcpy(chSZD ,
"ab08.szd" );
218 strcpy(chSZD ,
"c15.szd" );
223 strcpy(chSZD ,
"c120.szd" );
229 if( chRFI[0] ==
'\0' && chSZD[0] !=
'\0' )
231 fprintf(
ioQQQ,
"Sorry, but I did not recognize a refractive index file.\n");
232 fprintf(
ioQQQ,
"Supply a file name between quotes or one of the following ");
233 fprintf(
ioQQQ,
"keywords: ac1-amcarb, be1-amcarb, graphite, silicate, grey, pah\n");
237 if( chSZD[0] ==
'\0' && chRFI[0] !=
'\0' )
239 fprintf(
ioQQQ,
"Sorry, but I did not recognize a size distribution file.\n");
240 fprintf(
ioQQQ,
"Supply a file name between quotes or one of the following ");
241 fprintf(
ioQQQ,
"keywords: 0m010, 0m100, 1m000, ism, orion, c15, c120, ab08\n");
246 if( chRFI[0] ==
'\0' && chSZD[0] ==
'\0' )
319 fprintf(
ioQQQ,
"Number of bins must be positive. Sorry.\n");
327 "Success!! Created grain opacity file(s).\nMake sure this directory is on the path.\n" );
339 else if( p.
nMatch(
"HE-L") )
343 fprintf(
ioQQQ,
"Sorry, but I did not recognize an iso sequence.\n");
344 fprintf(
ioQQQ,
"The available options are H-like and He-like.\nSorry.\n");
353 for( nelem = ipISO; nelem <
LIMELM; nelem++)
370 else if( p.
nMatch(
"STAR") )
372 bool lgProblems =
false;
388 string::size_type ptr = chRead.rfind(
'.');
389 if( ptr != string::npos )
391 if( chRead.substr(ptr) ==
".ascii" )
395 else if( chRead.substr(ptr) ==
".stb99" )
402 else if( p.
nMatch(
"NEBU" ) )
406 string chASC(chRead.c_str(), ptr);
410 lgProblems = lgProblems ||
GridCompile( chASC.c_str() );
414 fprintf(
ioQQQ,
" I did not recognize this file extension: %s\n",
415 chRead.substr(ptr).c_str() );
421 fprintf(
ioQQQ,
" I did not find any file extension: %s\n", chRead.c_str() );
459 fprintf(
ioQQQ,
"\n PROBLEM - No ascii files were found!\n" );
460 fprintf(
ioQQQ,
" Did you change directory to where the stellar atmosphere files are?\n" );
461 fprintf(
ioQQQ,
" This command will only work on files in the local directory. Sorry.\n" );
475 fprintf(
ioQQQ,
", %d file(s) skipped after failure", nSkip );
482 fprintf(
ioQQQ,
"\n Problems occurred during the compilation - check output.\n" );
486 fprintf(
ioQQQ,
"\n The compilation was successful!\n" );
494 fprintf(
ioQQQ,
" One of the keywords, GRAINS, RECO COEF, or STARS, must appear.\n" );
bool nMatch(const char *chKey) const
int WernerCompile(process_counter &pc)
bool GridCompile(const char *InName)
const int FILENAME_PATH_LENGTH_2
void OpacityCreateAll(void)
bool lgCompileRecomb[NISO]
int TlustyCompile(process_counter &pc)
int GetQuote(string &chLabel)
const char * strstr_s(const char *haystack, const char *needle)
bool nMatchErase(const char *chKey)
NORETURN void StringError() const
int RauchCompile(process_counter &pc)
t_iso_sp iso_sp[NISO][LIMELM]
void ParseCompile(Parser &p)
void Badnell_rec_init(void)
void iso_update_num_levels(long ipISO, long nelem)
long int n_HighestResolved_max
void ContCreatePointers(void)
int AtlasCompile(process_counter &pc)
int Kurucz79Compile(process_counter &pc)
bool StarburstCompile(process_counter &pc)
void mie_write_opc(const char *, const char *, long int)
int CoStarCompile(process_counter &pc)
#define LIKE_RREC_MAXN(A_)
int MihalasCompile(process_counter &pc)
#define DEBUG_ENTRY(funcname)
int fprintf(const Output &stream, const char *format,...)
int WMBASICCompile(process_counter &pc)
bool StarburstInitialize(const char chInName[], const char chOutName[], sb_mode mode)