Github update history
| Commit Tag | Date | Description |
|---|---|---|
| initial | 20210802 | Self explanatory. |
| update-slurm | 20210828 | - Implemented initial slurm-enabled and batch versions for both jupyter and database build scripts. - Updated and extended documentation. |
| update-numbaproc | 20210906 | - Implemented a parallel enable/disable keyword for numba enhanced functions. - Functions that don't benefit from parallel splitting are hard-coded to parallel=False. |
| update-tidbits | 20210908 | - Small updates for optional plotting; save/load datacubes, etc. - Implemented slurm tidbits; standard scripts can now be run inside interactive sessions on RC systems. - Revised how calculations are computed in the CLEDB_BLOS module. - Updated constants and ctrlparams classes. |
| update-CLEDB_BUILD | 20210915 | - Updated database building scripts. - Fully implemented the batch run version with $scratch partition use. - Updated documentation accordingly. |
| update-databugfixes | 20220816 | - Bug fixes update after running comp inversions. - Fixed bugs in obs_qurotate (PREPINV module) and cledb_quderotate (PROC module). - Fixed the cledb_obsderotate (PROC module) function. - Added angle correction (azimuth derotate) to bphi calculation in cledb_phys (PROC module). - cledb_getsubset routine (PROC module) is optimized and re-written. - Introduced the "integrated" control parameter. - Updated the conda distribuition and python 3.10, numpy, numba, etc. - Bugfix update to CLE 2.0.3 executables in BUILD module. |
| update-readthedocs | 20230205 | - Transfered the code documentation from a latex based distribution to a Sphinx webpage format. - The level of detail is increased when compared to the previous latex builds. - The source along with a static PDF are included in the current code distribution. - The html build is hosted on cledb.readthedocs.io. |
| update-iqud | 20230223 | Major update. - CLE is updated to 2.0.4. A number of issues with the forward-synthesis are resolved as outlined in the CLE README. - CLE incurred a small fix to height and depth calculations. Databases need to be recomputed with CLE >= 2.0.4 - Small bugfix updates to the task scheduling scripts in BUILD. - The database compression routine sdb_dcompress introduced numerical instability at particular field geometries. It is now disabled. - Databases are now uncompressed and of np.float32 type. Consequentially, double precision in related functions is changed to single float. - The PREPINV obs_integrate routine is rewritten to improve execution time. Noise statistics and observation rms are enabled. - The PROC functions "cledb_invproc", cledb_matchiquv, cledb_partsort, cledb_getsubset, blos_proc, spectro_proc, cdf_statistics are updated for fixing bugs and mitigating numerical warnings/issues. - Partially implemented the IQUD (IQU+Doppler) functionality to invert vector fields in the absence of Stokes V. - Introduced the additional ctrlparams "iqud" keyword that works alongside the "integrated" control parameter. - Updated functions in the PROC module to enable IQUD setup matches. New functions cledb_matchiqud and cledb_getsubsetiqud are added. The original subset funcrtion is renamed to cledb_getsubsetiquv. - Keyword ingestion partially implemented. A new obs_headstructproc function is added to PREPINV. Additional keys have been added to ctrlparams to support keyword ingestion. - PREPINV module can now recognize CoMP/uCoMP keywords at input. - A new CoMP test example is now available. The test script for Stokes two-line matching had been updated. - Numba activate/deactivate and caching enabled/disabled keywords are implemented in the ctrlparams class. - Updated the numba, numpy, and scipy package versions under the currently stable Python 3.10 conda env. - Numba optimization/improvement of several functions (obs_integrate, cdf_statistics, cledb_matchiquv, cledb_matchiqud, cledb_partsort, cledb_getsubset). - Updated the documentation to describe the functions, parameters and variables related to the IQUD and line-integrated observations. |
| "update-Cryo-uCoMP-parralel" | 20240805 | Major update. - A new PyCELP database generation tool has been implemented and tested. - Multithreading approaches are implemented. New builds will move away from numba parallelization and will be using the multithreading library. - CoMP/uCoMP header information can start to be ingested directly from reading the fits files. |
| "update-pycelpbuild" 0.7.0-beta |
ongoing | Major sets of Updates. - Fully implemented code changes to enable using the new PyCELP databases. Both CLE and PyCELP databases can now be used. - Density information has been extracted from the database and is now used as an input variable in the database selection. - Major code changes that now fully enable IQUD runs in the absence of reliable Stokes V measurements. - MURAM, DKIST Cryo-NIRSP and CoMP data ingestion and examples are implemented. - Complete overhaul of parallelization and Numba code optimization. Code run is overwhelmingly sped-up, even without Numba optimization. Numba is temporarily disabled by default. - Updated the package bases with python 3.13, Numpy 2.2, and compatible Numba, scipy, Astropy, etc. Retested and fixed compatibility with distribution. - Implementation of issue tracking and masking along all inversion modules. - Partial implementation of parameter and analysis mode to reduce solar and telluric effects on spectra. - A stack of unit tests along with workflow deployment when pushing changes have been implemented. - Major documentation updated with the new updates. Docstrings using the numpydoc convention are added for all functions. ReadTheDocs documentation now automatically builds an API page. A small review of the entire documentation will be pursued. - OSI License, contribution, collaboration and code of conduct information added. - Code is prepared for beta release. A beta prelease is generated. - Codebase is now Compatible with PyHC standards. A review request with the PyHC team will be initiated. |
TODO list last update: 0.7.0-beta
-
Add the ISSUEMASK setup as outlined in the documentation.update-pycelpbuild -
Needed observation keywords are currently manually implemented, where a synthetic CLE observation is used. Information from observation keywords will need to be ingested after observations will become available.update-iqud: Keywords are now ingested with data. -
Develop and use a public test case for more convoluted MURAM data.*update-pycelpbuild" Implemented -
Implement additional numba compiler flags and options. Make numba active/disabled with a ctrlparam. Implement numba caching.update-iqud -
After more information on input data is obtained, implement the LEV2CALIB_WAVE and LEV2CALIB_ABSINT functions as outlined in the documentation.update-iqud: DKIST Lev-1 data will contain the needed corrections. -
Implement ML_LOSDISENTANGLE to separate multiple LOS contributions in observations, as outlined in the documentation.
-
Implement a noise uncertainty quantification method (RMS computations and relevance against signal).update-iqud -
Introduce the option to invert using PyCELp built databases.update-Cryo-uCoMP-parralel -
Prepare for beta status, code distribution release, and inclusion in the PyHC ecosystem.