diff --git a/README b/README new file mode 100644 index 0000000..702dc27 --- /dev/null +++ b/README @@ -0,0 +1,165 @@ +Generally, the software is intended to be run by a single command in while working in a directory that contains several cloudy grid output files in subdirectories. This command is the script "scripts/meta/process_gridoutputs.sh". The output files must be named "mpi_grid.out". For instance, the structure I used looks like this: +. +├── magdziarz +│ ├── grids +│ │ ├── halfsolar +│ │ │ └── 4thdex +│ │ │ ├── cldn_22.00 +│ │ │ ├── cldn_23.00 +│ │ │ ├── cldn_24.00 +│ │ │ └── nonitrogen +│ │ └── solar +│ │ └── 4thdex +│ │ ├── cldn_22.00 +│ │ ├── cldn_22.50 +│ │ ├── cldn_23.00 +│ │ ├── cldn_23.50 +│ │ └── cldn_24.00 +│ └── points +│ ├── collapsed_default +│ ├── collapsed_doubled +│ ├── coll_def +│ ├── coll_doub +│ ├── conv_test_1 +│ ├── conv_test_2 +│ └── test +└── mehdipour + ├── grids + │ └── solar + │ └── 4thdex + │ ├── cldn_22.00 + │ ├── cldn_22.50 + │ ├── cldn_23.00 + │ ├── cldn_23.50 + │ ├── cldn_24.00 + │ └── newcldn22.59 + +where each directory "cldn_##.##" contains a file called "mpi_grid.out". + +If I ran the primary script here, it would find all mpi_grid.out files in this structure, and would attempt to produce tables from each using the line list contained in "linelist.c17" in the "reference" directory. It will archive them into .tar.gz files by using the directory structure to create the filenames, but it ignores directories named "grids", so this would produce, for example, "fortfiles_mehdipour.solar.4thdex.cldn_24.00.tar.gz", and so on. + +As of the first version of c17, this approach works quite well. New cloudy versions often produce changes in the output file, so this approach will become less reliable as time goes on. Ultimately, it would be more reliable to use the internal workings of cloudy to produce what we want, and moving forward I will attempt to do that. As it stands, the tables are collated from the intrinsic line list, and the emergent line list is ignored. The last entry found in the emission line output is used for any particular emission line, to avoid conflicts with default continuum bins. + + +The Line List +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +Currently, the software reads the line list from a file called "linelist.c17" in the directory called "reference". The program ignores comment lines beginning with # and blank lines, but otherwise will interpret the line as containing an emission line identifier that should be read from the cloudy output file. The identifier can be copied and pasted directly from the cloudy output file or from a line label file output during a cloudy run. The program knows to only look at the relevant number of characters, so anything after that on the line can be interpretted as a user comment. For example, + +FeKa 1.78000A total intensity of K-alpha line + +tells the program to compile a flux table for the emission line identified by "FeKa 1.78000A", and the fact that it is the total intensity of the K-alpha line is just information meant for the user. + + + +explanations of files +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +scripts +────────────────────────────────────────────────────────────────────────── +all files found under subdiretories of "scripts" +scripts/ +├── analysis +├── cloudy +├── meta +├── operations +├── thor +├── util +└── xmgrace + +subdirs +───────────── +"meta" contains scripts that are intended to be run by the user + +"cloudy" contains the input scripts used for our grid runs + +"thor" contains scripts used to submit jobs to thor with the torque scheduling system + +"util" contains scripts that run procedures used by other scripts and are not intended to be run by the user + +"xmgrace" contains parameter scripts for plotting various quantities + +"operations" contains scripts that operate on various files, such as tables stored in fortfiles or a cloudy output file. Generally, these scripts aren't intented to be run by the user directly, but are setup this way for troubleshooting. Most of these are obsolete now and will probably get removed, soon, because they've been baked into my primary c++ program. + +"analysis" give information about emission lines and the continuum, but these are not updated for c17, yet. + + +process_gridoutputs.sh +───────────── +in scripts/meta + +This is the main script for creating fort files from cloudy grid output files. The use of this script is described at the beginning of the document. Go to a directory that contains at least one subdirectory with a file called "mpi_grid.out". It will attempt to compile flux tables and save them as a set of fort files. The syntax requires no command line arguments, just cd to the appropriate directory, then run the script from its location in the scripts/meta directory. + + +package_tables.sh +───────────── +in scripts/operations + +This is the script that packages fortfiles for a particular cloudy grid output file. This isn't intended for the user to run directly, but sometimes I use it directly when troubleshooting. The syntax is: + +package_tables.sh