51 else if( p.
nMatch(
"COLU") )
73 if( flux <= 0. || p.
nMatch(
" LOG" ) )
91 else if( p.
nMatch(
"CONT") )
98 else if( p.
nMatch(
"DIAM") )
118 else if( p.
nMatch(
"INCR") )
131 fprintf(
ioQQQ,
" The OPTIMIZE INCREMENT command needs to follow the"
132 " command being varied.\n None was found. Bailing out...\n" );
154 else if( p.
nMatch(
"ITER") )
160 else if( p.
nMatch(
"LINE") )
168 else if( p.
nMatch(
"PHYM") )
172 # if defined(__unix) || defined(__APPLE__)
191 else if( p.
nMatch(
"RANG") )
196 bool lgFirstOneReal =
false;
206 lgFirstOneReal =
true;
215 else if( lgFirstOneReal )
230 else if( p.
nMatch(
"SUBP") )
237 else if( p.
nMatch(
"TEMP") )
245 else if( p.
nMatch(
"TOLE") )
252 else if( p.
nMatch(
"TRAC") )
262 fprintf(
ioQQQ,
" The iteration number must appear.\n" );
267 else if( p.
nMatch(
"FLOW") )
276 fprintf(
ioQQQ,
" One of the sub keys START or FLOW must appear.\n" );
284 fprintf(
ioQQQ,
" is unrecognized keyword, consult HAZY.\n" );
302 fprintf(
ioQQQ,
" Hit EOF while reading column density list; use END to end list.\n" );
318 fprintf(
ioQQQ,
" The ionization stage MUST appear on this line. Sorry.\n" );
329 fprintf(
ioQQQ,
" An ionization stage of %ld does not make sense. Sorry.\n", ion );
338 fprintf(
ioQQQ,
" An observed column density MUST be entered. Sorry.\n" );
360 fprintf(
ioQQQ,
" Hit EOF while reading column density list; use END to end list.\n" );
372 fprintf(
ioQQQ,
"%ld columns were entered, they were;\n",
396 fprintf(
ioQQQ,
" Hit EOF while reading line list; use END to end list.\n" );
414 fprintf(
ioQQQ,
" The wavelength and relative intensity MUST be entered on this line. Sorry.\n" );
415 fprintf(
ioQQQ,
" The command line is the following:\n " );
422 fprintf(
ioQQQ,
" An observed intensity of %.2e is not allowed. Sorry.\n",
424 fprintf(
ioQQQ,
" The command line is the following:\n" );
446 fprintf(
ioQQQ,
"GetOptLineInt: found junk at end of input line:\n" );
455 fprintf(
ioQQQ,
" Hit EOF while reading line list for optimize command; use END to end list.\n" );
490 fprintf(
ioQQQ,
" Hit EOF while reading line list; use END to end list.\n" );
507 fprintf(
ioQQQ,
" The ion stage and temperature MUST be entered on this line. Sorry.\n" );
508 fprintf(
ioQQQ,
" The command line is the following:\n " );
513 if( temp_obs <= 10. )
520 if( temp_error <= 0.f )
524 temp_error = -temp_error;
534 if( p.
nMatch(
"VOLUME" ) )
543 fprintf(
ioQQQ,
" Hit EOF while reading line list for optimize command; use END to end list.\n" );
553 fprintf(
ioQQQ,
"%ld temperatures were entered, they were;\n",
bool nMatch(const char *chKey) const
bool hasCommand(const char *s2)
void prt_wl(FILE *ioOUT, realnum wl)
STATIC void GetOptTemp(Parser &p)
realnum WavlenErrorGet(realnum wavelength, long sig_figs)
STATIC void GetOptLineInt(Parser &p)
vector< realnum > ColDen_Obs
vector< realnum > xLineInt_error
int GetQuote(string &chLabel)
realnum varang[LIMPAR][2]
vector< string > chLineLabel
NORETURN void StringError() const
vector< realnum > temp_error
string StandardFluxUnit(void) const
STATIC void GetOptColDen(Parser &p)
double energy(const genericState &gs)
void showLocation(FILE *io=ioQQQ) const
vector< realnum > ColDen_error
const char * StandardEnergyUnit(void) const
vector< realnum > xLineInt_Obs
NORETURN void NoNumb(const char *chDesc) const
vector< string > chTempLab
string getFirstChunk(long i)
static const realnum DEFERR
vector< realnum > wavelength
vector< chi2_type > ContNFnuErr
#define DEBUG_ENTRY(funcname)
vector< Energy > ContEner
vector< realnum > temp_obs
int fprintf(const Output &stream, const char *format,...)
vector< string > chColDen_label
void ParseOptimize(Parser &p)
int PrintLine(FILE *fp) const
vector< string > chTempWeight
vector< long > ion_ColDen
bool lgMPISingleRankMode() const
char chOptimFileName[INPUT_LINE_LENGTH]
vector< realnum > errorwave