<commit_before>
   ChromaStarPy README:  Getting Started quickly:

   Updated July 2019
   December 2017

   <NAME> 
   Saint Mary's University
   Halifax, NS, Canada



   ** History and references

This is the python V. 3 port of the Java atmospheric modeling and spectrum synthesis 
code ChromaStarServer, formerly known as GrayStarServer,
supplemented with the two-level-atom facility of ChromaStar (formerly GrayStar).

July 2019 - Equation sof state (EOS) and chemical/ionization equilibrium now computed
with Phil Bennett's "GAS" package.  Includes 51 molecules, including 16 polyatomic
molecules

The version numbering is date-based using the ISO 8601 scheme YYYY-MM-DD

References:
<NAME>., "A fast, robust algorithm for the solution of the equation of state for
	late-type stellar atmospheres", 1983, M.Sc. Thesis, University of British Columbia" ("GAS")
<NAME>, 2017, ChromaStarDB: SQL Database-driven Spectrum Synthesis and More, 
PASP, 129, 094504, 11 pp., arXiv:1707.07725 
<NAME>, 2016, GrayStarServer: Server-side Spectrum Synthesis with a Browser-based 
Client-side User Interface, PASP, 128, 104503, 11 pp., arXiv:1605.09368



   ** License

 * The MIT License (MIT)
 * Copyright (c) 2016 <NAME> 
 *
 * Permission is hereby granted, free of charge, to any person 
 obtaining a copy of this software and associated documentation 
 files (the "Software"), to deal in the Software without 
 restriction, including without limitation the rights to use, 
 copy, modify, merge, publish, distribute, sublicense, and/or 
 sell copies of the Software, and to permit persons to whom the 
 Software is furnished to do so, subject to the following 
 conditions:
 *
 * The above copyright notice and this permission notice shall 
 be included in all copies or substantial portions of the 
 Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 
 KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
 WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE 
 AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
 OTHER DEALINGS IN THE SOFTWARE.


   ** Fundamental assumptions

     Atmospheric structure: Un-blanketed, LTE, static, 1D, plane-parallel geometry
     Chemical equilibrium: See <NAME>'s GAS package
     Spectrum synthesis: Power law approximation for the Voigt line profile, opacity due to lines whose line-center 
wavelengths fall in the synthesis region only (eg. if you synthesize from 390 to 395 nm for the Sun, you will get 
the Ca II K line opacity, but NOT the effect of the Ca II H blue line wing - synthesize from 390 - 400 nm to get both
everywhere in the range.)	 

   
   **
   ** Installation and initial set-up:
   **

   Unzip the source tarball: gunzip ChromaStarPy.tar.gz

   To extract the ChromaStarPy directory structure, and all needed source files and inputs data files:

   tar xvf ChromaStarPy.tar

   This will create a subdirectory in the current directory called ChromaStarPy/ with subdirectories called
    InputData/, Inputs/, Outputs/, linpack/ and blas/

	- All source files (*.py) are in ChromaStarPy/, linpack/, and blas/
	- The ascii and byte-data versions of the atomic line list are in InputData/ in files with a .dat file 
          extension.  The byte-data version contains the string "Bytes" at the end of its main filename
	- Sample input files for setting up an atmosphere and spectrum modeling run are in the Input/ directory.  
   
	- By default the code writes all results to files in the Outputs/ directory

    Setting the environment:
    ChromaStarPy must import the matlplotlib [1] and numpy [2] python modules.  It is recommended that the user
obtain a comprehensive python installation that will likely ship with these, such as the python distribution
available through the Anaconda package manager (anaconda.org/anaconda/python).     
    ChromaStar will automatically detect the OS, and will automatically determine the current directory (the 
'run directory') for the cases where the OS is Windows or Unix/Linux, and will set the value of its absPath
variable.  ChromaStaryPy will most likely work as is if the run directory is the installation directory. 

    Atomic line list:
    ChromaStar expects to read the byte-data version of the line list in a subdirectory of the installation/run
directory called InputData/*.dat.  A default line list ships with the tarball.
    
[1] <NAME>., Matplotlib: A 2D graphics environment, 2007, Computing In Science & Engineering, 9, 90    
[2] <NAME>., <NAME>. & and <NAME>., The NumPy Array: A Structure for Efficient Numerical 
    Computation, 2011, Computing in Science & Engineering, 13, 22 

   ** 
   ** Running
   **

    ChromaStarPy is known to run in Python V. 3.6 in the spYder V. 3.2.3 IDE under Windows 10, and is python 
V. 2.7 under linux (see the note about required python modules in "Installation and initial set-up").  The main 
program resides in source file ChromaStarPy.py and all other source files are 'import'ed here - the user must 
"run" this file in the IDE to run the code.  

    To run at the command line prompt outside an IDE:
    python ./ChromaStarPy.py

    To run in an IDE:
    Open ChromaStarPy.py
    Click 'Run'

    Textual run-time indicators at the console prompt, in order of appearance:
    
    Echoes the OS it has detected and echoes the absolute path of the run directory it has detected (value of 
its absPath variable) in which it expects to find the InputData/ and Outputs/ directories (see "Installation 
and initial set-up").
    Echoes which plot the user has selected (see "Setting up a modeling run" and "Outputs").
    Confirms that it has parsed the input file by echoing back the names and values of all input parameters.
    Indicates whether it is running the routines suitable for "Hot stars" or "Cool stars" (the "mode"), 
and the estimated spectral type based on the stellar data in Appendix G of An Introduction to Modern
Astrophysics, 2nd Ed. by <NAME> and <NAME>. 
    Indicates when it is beginning to read the atomic line list (meaning the atmospheric structure has 
been calculated), and when it has finished doing so.
    Indicates when it has begun the spectrum synthesis stage of the calculation, and then when it has 
finished doing so.  
    Echoes the value of Teff that it has recovered from an extended rectangle-rule numerical 
integration of the modeled monochromatic flux spectrum between 260 and 2600 nm, and the computed 
values of seven Johnson UBVRIJHK color indices for the model.     

 
   **
   ** Setting up a modeling run
   **


        ChromaStarPy is most likely to work if the run directory is the same as the main installation directory
(ChromaStarPy/), in keeping with the default behavior of IDEs. 
It will try to automatically detect the absolute path of this directory and will report its determination (see
"Installation and initial set-up").<commit_msg>Updated README file to account for GAS version<commit_after>
   ChromaStarPy README:  Getting Started quickly:

   Updated July 2019
   December 2017

   <NAME> 
   Saint Mary's University
   Halifax, NS, Canada



   ** History and references

This is the python V. 3 port of the Java atmospheric modeling and spectrum synthesis 
code ChromaStarServer, formerly known as GrayStarServer,
supplemented with the two-level-atom facility of ChromaStar (formerly GrayStar).

July 2019 - Equation sof state (EOS) and chemical/ionization equilibrium now computed
with <NAME>t's "GAS" package.  Includes 51 molecules, including 16 polyatomic
molecules

The version numbering is date-based using the ISO 8601 scheme YYYY-MM-DD

References:
Bennett, P.D., "A fast, robust algorithm for the solution of the equation of state for
	late-type stellar atmospheres", 1983, M.Sc. Thesis, University of British Columbia" ("GAS")
Short, <NAME>, 2017, ChromaStarDB: SQL Database-driven Spectrum Synthesis and More, 
PASP, 129, 094504, 11 pp., arXiv:1707.07725 
Short, <NAME>, 2016, GrayStarServer: Server-side Spectrum Synthesis with a Browser-based 
Client-side User Interface, PASP, 128, 104503, 11 pp., arXiv:1605.09368



   ** License

 * The MIT License (MIT)
 * Copyright (c) 2016 <NAME> 
 *
 * Permission is hereby granted, free of charge, to any person 
 obtaining a copy of this software and associated documentation 
 files (the "Software"), to deal in the Software without 
 restriction, including without limitation the rights to use, 
 copy, modify, merge, publish, distribute, sublicense, and/or 
 sell copies of the Software, and to permit persons to whom the 
 Software is furnished to do so, subject to the following 
 conditions:
 *
 * The above copyright notice and this permission notice shall 
 be included in all copies or substantial portions of the 
 Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 
 KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
 WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE 
 AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
 OTHER DEALINGS IN THE SOFTWARE.


   ** Fundamental assumptions

     Atmospheric structure: Un-blanketed, LTE, static, 1D, plane-parallel geometry
     Chemical equilibrium: See <NAME>'s GAS package
     Spectrum synthesis: Power law approximation for the Voigt line profile, opacity due to lines whose line-center 
wavelengths fall in the synthesis region only (eg. if you synthesize from 390 to 395 nm for the Sun, you will get 
the Ca II K line opacity, but NOT the effect of the Ca II H blue line wing - synthesize from 390 - 400 nm to get both
everywhere in the range.)	 

   
   **
   ** Installation and initial set-up:
   **

   Unzip the source tarball: gunzip ChromaStarPy.tar.gz

   To extract the ChromaStarPy directory structure, and all needed source files and inputs data files:

   tar xvf ChromaStarPy.tar

   This will create a subdirectory in the current directory called ChromaStarPy/ with subdirectories called
    InputData/, Inputs/, Outputs/, linpack/ and blas/

	- All source files (*.py) are in ChromaStarPy/, linpack/, and blas/
	- The ascii and byte-data versions of the atomic line list are in InputData/ in files with a .dat file 
          extension.  The byte-data version contains the string "Bytes" at the end of its main filename
	- Sample input files for setting up an atmosphere and spectrum modeling run are in the Input/ directory.  
   
	- By default the code writes all results to files in the Outputs/ directory

    Setting the environment:
    ChromaStarPy must import the matlplotlib [1] and numpy [2] python modules.  It is recommended that the user
obtain a comprehensive python installation that will likely ship with these, such as the python distribution
available through the Anaconda package manager (anaconda.org/anaconda/python).     
    ChromaStar will automatically detect the OS, and will automatically determine the current directory (the 
'run directory') for the cases where the OS is Windows or Unix/Linux, and will set the value of its absPath
variable.  ChromaStaryPy will most likely work as is if the run directory is the installation directory. 

    Atomic line list:
    ChromaStar expects to read the byte-data version of the line list in a subdirectory of the installation/run
directory called InputData/*.dat.  A default line list ships with the tarball.
    
[1] <NAME>., Matplotlib: A 2D graphics environment, 2007, Computing In Science & Engineering, 9, 90    
[2] <NAME>., <NAME>. & and <NAME>., The NumPy Array: A Structure for Efficient Numerical 
    Computation, 2011, Computing in Science & Engineering, 13, 22 

   ** 
   ** Running
   **

    ChromaStarPy is known to run in Python V. 3.6 in the spYder V. 3.2.3 IDE under Windows 10, and is python 
V. 2.7 under linux (see the note about required python modules in "Installation and initial set-up").  The main 
program resides in source file ChromaStarGasPy.py and all other source files are 'import'ed here - the user must 
"run" this file in the IDE to run the code.  

    To run at the command line prompt outside an IDE:
    python ./ChromaStarGasPy.py

    To run in an IDE:
    Open ChromaStarGasPy.py
    Click 'Run'

    Textual run-time indicators at the console prompt, in order of appearance:
    
    Echoes the OS it has detected and echoes the absolute path of the run directory it has detected (value of 
its absPath variable) in which it expects to find the InputData/ and Outputs/ directories (see "Installation 
and initial set-up").
    Echoes which plot the user has selected (see "Setting up a modeling run" and "Outputs").
    Confirms that it has parsed the input file by echoing back the names and values of all input parameters.
    Indicates whether it is running the routines suitable for "Hot stars" or "Cool stars" (the "mode"), 
and the estimated spectral type based on the stellar data in Appendix G of An Introduction to Modern
Astrophysics, 2nd Ed. by <NAME> and <NAME>. 
    Indicates when it is beginning to read the atomic line list (meaning the atmospheric structure has 
been calculated), and when it has finished doing so.
    Indicates when it has begun the spectrum synthesis stage of the calculation, and then when it has 
finished doing so.  
    Echoes the value of Teff that it has recovered from an extended rectangle-rule numerical 
integration of the modeled monochromatic flux spectrum between 260 and 2600 nm, and the computed 
values of seven Johnson UBVRIJHK color indices for the model.     

 
   **
   ** Setting up a modeling run
   **


        ChromaStarPy is most likely to work if the run directory is the same as the main installation directory
(ChromaStarPy/), in keeping with the default behavior of IDEs. 
It will try to automatically detect the absolute path of this directory and will report its determination (see
"Installation and initial set-up").
{'fraction_non_alphanumeric': 0.05071093366953842, 'fraction_numerical': 0.017790852419976185, 'mean_word_length': 3.7231227257691035, 'pattern_counts': {'":': 0, '<': 27, '<?xml version=': 0, '>': 27, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1936383', 'n_tokens_mistral': 4121, 'n_tokens_neox': 3580, 'n_words': 2070}