19         string chString_quotes_original;
 
   20         bool lgQuotesFound = 
true;
 
   21         if (p.
GetQuote(chString_quotes_original))
 
   22                 lgQuotesFound = 
false;
 
   26                 fprintf(
ioQQQ,
"Need to provide species name to SPECIES command.\n" 
   27                                   "The previous SPECIES command has been renamed DATABASE -- did you mean to use that?\n");
 
   54                         long num = strtol(t.
value.c_str(),NULL,10);
 
   80                                 long num = strtol(t.
value.c_str(),NULL,10);
 
   87                                 fprintf(
ioQQQ,
"WARNING: This usage of the SPECIES command was not understood.\n" 
   88                                                   "The previous SPECIES command has been renamed DATABASE -- did you mean to use that?\n");
 
   96                         fprintf(
ioQQQ,
"WARNING: This usage of the SPECIES command was not understood.\n" 
   97                                           "The previous SPECIES command has been renamed DATABASE -- did you mean to use that?\n");
 
  109                 strcpy( chLabelChemical, sp.
chLabel );
 
  113                 long nelem = 0, IonStg;
 
  118         map<string,Properties >::iterator props = 
 
  123         props->second.setDone();
 
  125         for(vector<pair<
string,
count_ptr<Option> > >::iterator prop=props->second.p.begin();
 
  126                  prop!=props->second.p.end();++prop)
 
  128                 if (prop->first == 
"LEVELS")
 
  134                                         fprintf(
ioQQQ,
"Species '%s', %ld levels requested, only %ld available.  Using all.\n",
 
  135                                                           chLabelChemical,prop->second->i,
 
  144                         else if (prop->second->opttype == 
Option::OPTION && prop->second->s == 
"ALL")
 
  150                                 fprintf(
ioQQQ,
"Incorrect type for 'LEVELS' option to species\n" 
  151                                                   "Expecting 'LEVELS <number>', 'LEVELS=<number>' or 'LEVELS=ALL'\n");
 
  154                 else if (prop->first == 
"LTE")
 
  158                                 sp.
lgLTE = prop->second->l;
 
  162                                 fprintf(
ioQQQ,
"Incorrect type for 'LTE' option to species\n");
 
  165                 else if (prop->first == 
"OFF")
 
  171                         fprintf(
ioQQQ,
"Option '%s' not understood for species '%s'\n",
 
  172                                           prop->first.c_str(),sp.
chLabel);
 
  180         for (map<string,Properties>::iterator props = 
 
  185                 if (! props->second.isDone())
 
  187                         fprintf(
ioQQQ,
"\n\nWarning: SPECIES \"%s\" command has no effect since species not found.\n" 
  188                                           "Is species inactive or mis-spelt?  NB names of species are case-sensitive\n\n",
 
  189                                           props->first.c_str());
 
  196         map<string,Properties>::iterator props = 
 
  200                 props->second.setDone();
 
  202                 for(vector<pair<
string,
count_ptr<Option> > >::iterator prop=props->second.p.begin();
 
  203                          prop!=props->second.p.end();++prop)
 
  205                         if (prop->first == 
"OFF")
 
  209                                         fprintf(
ioQQQ,
"Incorrect type for 'OFF' option to species\n");
 
  212                                 if (prop->second->l || prop->second->opttype != 
Option::BOOL)
 
t_mole_global mole_global
int GetQuote(string &chLabel)
bool speciesOff(const string &label)
void ParseSpecies(Parser &p)
void setProperties(species &sp)
void parsespect(char *chLabel, long &nelem, long &IonStg)
string makeChemical(long nelem, long ion)
#define DEBUG_ENTRY(funcname)
int fprintf(const Output &stream, const char *format,...)
map< string, Properties > speciesProperties