Authors: Alin Paraschiv, Thomas Schad, and Philip Judge. National Solar Observatory & High Altitude Observatory
Contact: arparaschiv "at" nso.edu
Invert coronal vector magnetic field products from observations of polarized light. The algorithm takes arrays of one or two sets of spectro-polarimetric Stokes IQUV observations to derive line of sight and/or full vector magnetic field products.
WARNING: For the remainder of 2024 CLEDB is in active development in preparation for supporting DKIST Cryo-NIRSP data. Issues might appear in between updates. Please get in contact if noticing weird behavior.
Inverting magnetic field information from spectro-polarimetric solar coronal observations from instruments like DKIST Cryo-NIRSP; DL-NIRSP; MLSO COMP/UCOMP.
- Extensive documentation, including installation instruction, dependencies, algorithm schematics and much more is available on CLEDB.READTHEDOCS.IO A git distribution PDF build is also provided.
- In-depth documentation for the Bash & Fortran parallel database generation module is provided in README-RUNDB.md.
- Installation and usage on RC systems is described in README-SLURM.md.
- This is a beta-level release. Not all functionality is implemented. TODO.md documents updates, current issues, and functions to be implemented in the near future.
- Debian+derivatives Linux x64 -- all inversion modules are fully working.
- RC system CentOS linux x64 -- all inversion modules are fully working. An additional binary executable is provided. May require local compiling.
- OSX (Darwin x64) Catalina and Big Sur -- all inversion modules are fully working; One additional homebrew package required. See README-RUNDB.
- Windows platform -- not tested.
Install the CLEDB distribution, generate databases, and update the database save location in the ctrlparams.py class, as described in the CLEDB.READTHEDOCS.IO .
The new PyCELP database generation tool is recommended. It is more precise, but requires some computational resources for calculations. A default PyCELP generated database can be found here to help get started (33Gb download). Just extract the two database folders in the CLEDB_BUILD directory and you should be set to running the examples.
Afterward, both 1-line and 2-line implementations of CLEDB can be tested with synthetic data using the two provided Jupyter notebook examples
The test data are hosted separately. These are called by enabling the corresponding 1.a-1.e cells in the test notebooks and scripts. See the documentation for details regarding the included datafiles.
- 1.a synthetic CLE 3 dipole data.
- 1.b synthetic CLE current-sheet data will be available soon.
- 1.c Only for internal testing.
- 1.d CoMP observation data.
- 1.e CoMP doppler analysis results for the 1.d datacube.
For terminal only compute systems, the test data can be downloaded via the shell interface with the following method:
i. Load the following gdrive wrapper script into your bash window directly, or introduce it in your .bash_alias setup.
function gdrive_download () { CONFIRM=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate "https://docs.google.com/uc?export=download&id=$1" -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p'); wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$CONFIRM&id=$1" -O $2; rm -rf /tmp/cookies.txt; }
ii. Download the file using its gdrive FILE_ID from the download link (1.a test data FILE_ID = 1beyDfZbm6epMne92bqlKXcgPjYI2oGRR):
gdrive_download FILE_ID local_path/local_name (sometimes needs to be run two times to set cookies correctly!)
Note: The script versions of all tests test_1line.py and test_2line.py together with the test_cledb_slurm.sh are slurm enabled to be used for headless RC system runs. These offer the same functionality as the notebooks (from which they are directly generated from). See the dedicated README-SLURM for additional information.
Both test examples are expected to fully execute with parallel job spawning via Numba/JIT in a correct installation.
- Paraschiv & Judge, SolPhys, 2022 covered the scientific justification of the algorithm, and the setup of the CLEDB inversion.
- Judge, Casini, & Paraschiv, ApJ, 2021 discussed the importance of scattering geometry when solving for coronal magnetic fields.
- Ali, Paraschiv, Reardon, & Judge, ApJ, 2022 performed a spectroscopic exploration of the infrared regions of emission lines available for inversion with CLEDB.
- Dima & Schad, ApJ, 2020 discussed potential degeneracies in using certain line combinations. The one-line CLEDB inversion utilizes the methods and results described in this work.
- Schiffmann, Brage, Judge, Paraschiv & Wang, ApJ, 2021 performed large-scale Lande g factor calculations for ions of interest and discusses degeneracies in context of their results.
- Casini & Judge, ApJ, 1999 and Judge & Casini, ASP proc., 2001 described the theoretical line formation process implemented in CLE, the coronal forward-synthesis code that is currently utilized by CLEDB.