Releases: JuliaFusion/OWCF
v1.7
In this new release, the OWCF has been upgraded with the following:
- The OWCF is now more Windows-friendly. The OWCF tests can now be run on Windows without producing errors
- The installation of the OWCF has now been made even easier with an installation script install_OWCF.jl. To install the OWCF, the user simply types
julia install_OWCF.jland follows the instructions. To manually specify the path to a Python executable is no longer needed - The README has been updated to be more pedagogical and explain the requirements for Julia and Pythons versions and packages in detail. The README is now considered to be a better guide for installation than the OWCF .pdf manuals.
- The OWCF apps have been re-written as Jupyter notebooks. This is to fascilitate robustness and long-term support. In addition, the app documentation has been enhanced
- The support for using the OWCF on SLURM computational clusters has been switched from ClusterManagers.jl to SlurmClusterManager.jl, ensuring long-term support
- Several bug fixes have been made
- The bounds for the regularization strength can now be customized when using the solveInverseProblem.jl OWCF tool
- The robustness for loading magnetic equilibrium data has been improved
What's Changed
- Updated README by @henrikjaerleblad in #108
- Small documentation fix, added gaussian basis by @henrikjaerleblad in #111
- Small bug fixes, upgraded .gitignore and solveInverseProblem by @henrikjaerleblad in #112
- Customizable regularization strength bounds by @henrikjaerleblad in #113
- Improved magnetic equilibrium robustness by @henrikjaerleblad in #114
- Small bug fixes, upgrade to Julia 1.11.7 by @henrikjaerleblad in #115
- Notebooks, Windows-friendly, install-script and much more by @henrikjaerleblad in #116
- Updated README by @henrikjaerleblad in #117
- Updated README yet again by @henrikjaerleblad in #118
- Updated install script by @henrikjaerleblad in #119
- Updated README by @henrikjaerleblad in #120
- Small README update, Windows-bug dirty fix for OWCF tests by @henrikjaerleblad in #121
Full Changelog: v1.6...v1.7
v1.6
The OWCF has undergone major upgrades since the last version. The most important changes include:
- Use Julia v1.11.6 (the latest stable release as of 15th of July 2025)
- Possibility to truly take finite Larmor radius (FLR) effects into account when computing synthetic measurements
- The OWCF tests, which ensure correct functionality after installation/development
- Use electromagnetic wave heating in the ion cyclotron range of frequencies (ICRF) when reconstructing the fast-ion distribution by solving an inverse problem with the OWCF/solveInverseProblem.jl tool
- Updated README
- Robustness upgrades for many of the OWCF tools
- Bug fixes
- The possibility to include plots of the results as output of several of the OWCF tools
These changes unfortunately make old start files unusable. So please upgrade your start files by using the templates in the OWCF/templates/ subfolder.
Also, please upgrade your Julia to v1.11.6, if you have not already.
A detailed list of all the changes can be found below.
Enjoy!
What's Changed
- Small bug fix due to git conflict resolution by @henrikjaerleblad in #76
- Added NBI neutron spec tutorial by @henrikjaerleblad in #78
- OWCF tests and ICRF prior by @henrikjaerleblad in #77
- More tests, small bug fixes, updated tutorials and script names by @henrikjaerleblad in #79
- Updated README and many small updates by @henrikjaerleblad in #80
- README update, work on OWCF tests, small bug fixes by @henrikjaerleblad in #81
- More OWCF tests work by @henrikjaerleblad in #82
- Robustness improvement for ps2os related functions by @henrikjaerleblad in #83
- README update, and dependencies maintanence date by @henrikjaerleblad in #84
- Robustness update for createCustomLOS.jl by @henrikjaerleblad in #85
- Further robustness updates to ps2os by @henrikjaerleblad in #86
- createCustomLOS update by @henrikjaerleblad in #87
- OWCF tests work, bug fixes, renaming+moving of files by @henrikjaerleblad in #88
- Tests work and added temp_n_dens utility by @henrikjaerleblad in #89
- Bug fixes, test development by @henrikjaerleblad in #90
- Test development, small bug fixing by @henrikjaerleblad in #91
- Small createCustomLOS upgrade by @henrikjaerleblad in #92
- Small bug fix to solveInverseProblem.jl by @henrikjaerleblad in #93
- Small solveInverseProblem bug fix by @henrikjaerleblad in #94
- Upgraded robustness for createCustomLOS, and OWCF tests work by @henrikjaerleblad in #95
- Further robustness upgrade to createCustomLOS.jl by @henrikjaerleblad in #96
- plot upgrades, debug plot upgrades and new functions by @henrikjaerleblad in #97
- Tests developement, calcOrbWeights bug fixes, createCustomLOS upgrade by @henrikjaerleblad in #98
- Small bug fixes, minor upgrades by @henrikjaerleblad in #99
- Bug fixes, improvements, rewriting by @henrikjaerleblad in #100
- Small plot bug fix to solveInverseProblem by @henrikjaerleblad in #101
- Improved OWCF tests robustness by @henrikjaerleblad in #102
- Further OWCF tests work, new GUI function by @henrikjaerleblad in #103
- FLR, upgraded DRESS I/O, bug fixes by @henrikjaerleblad in #104
- OWCF logo, first version by @henrikjaerleblad in #105
- Fixed small bug in forward.py by @henrikjaerleblad in #106
- Upgrade to use Julia 1.11.6 by @henrikjaerleblad in #107
Full Changelog: v1.5...v1.6
v1.5
The OWCF can now compute (some) expected diagnostic spectra by utilizing the analytical equations discussed in
- A. Valentini et al, Nucl. Fusion 2025, DOI 10.1088/1741-4326/adc1df
- A. Valentini et al 2025 Nucl. Fusion 65 026001, DOI 10.1088/1741-4326/ad9bc8
- A. Valentini et al 2025 Rev. Sci. Instrum 95, DOI 10.1063/5.0216680
In addition:
- The fusion reaction syntax has been updated.
- Diagnostic viewing cones from the LINE21 code or extra/createCustomLOS.jl can now be loaded purely in Julia via vcone.jl.
- FLR effects can now be included in a limited part of the OWCF (full implementation to follow soon)
- Flat thermal profiles can be included in a limited part of the OWCF (full implementation to follow soon)
- (E,mu,Pphi) is dropped in favour in (E,Lambda,Pphi_n)
- Lots of more smaller updates
What's Changed
- More FLR effects, bug fixes, docs etc by @henrikjaerleblad in #63
- Flat thermal profiles, robustness by @henrikjaerleblad in #64
- Bug fixes, robustness update by @henrikjaerleblad in #65
- (E,Lambda,Pphi_n) instead of (E,mu,Pphi) by @henrikjaerleblad in #67
- Small bugfix by @henrikjaerleblad in #68
- Package updates and optimization by @henrikjaerleblad in #69
- Updated magnetic equilibrium load procedure by @henrikjaerleblad in #70
- Removed the orbit_grid() function in extra/dependencies.jl by @henrikjaerleblad in #71
- Bug fix in fusreact, initial tests developement by @henrikjaerleblad in #72
- Continued test development by @henrikjaerleblad in #73
- Two small bug fixes by @henrikjaerleblad in #74
- Implementation of 1step and 2step analytical orbit spectra by @anvalen97 in #66
Full Changelog: v1.4.1...v1.5
v1.4.1
- The tool for creating custom diagnostic sightlines (extra/createCustomLOS.jl) has been given a proper update, including post-processing and plotting.
- In extra/dependencies.jl, there is now a tool for computing the topological map in constants-of-motion space. However, it is in beta and might still be prone to bugs.
- New syntax updates overall, to enhance performance and robustness
- Clarification for solveInverseProblem.jl
- Further inter-script interoperability implemented
What's Changed
- Clarifying single-CPU for first version of solveInverseProblem by @henrikjaerleblad in #59
- Further implementation of inter-script compatibility by @henrikjaerleblad in #60
- One last bug by @anvalen97 in #54
- Further script interoperability implementation by @henrikjaerleblad in #61
- Small update and bugfixes by @henrikjaerleblad in #62
Full Changelog: v1.4.0...v1.4.1
v1.4.0
The inverse problem solving tool of the OWCF. It is a first working version, and includes established methods such as 0th and 1st order Tikhonov regularization, collision physics regularization, non-negativity constraint etc. The tool can be used to reconstruct fast-ion distributions of any dimensionality between (and including) 1D and 6D. The user can specify measurement regions to exclude from the problem, use TRANSP distributions to rescale weight functions to have WF match experimental data, specify thresholds for measurements and signal noise and more. The tool may also be used to solve inverse problems in any coordinate system, such as energy-pitch, v_parallel-v_perp, orbit space, constants-of-motion space etc. Plots of the L-curve, S vs WF and reconstructed fast-ion distribution can be requested to be saved as .png files as well as a .gif file. The documentation is currently at a basic level and will be successively improved in the next versions.
What's Changed
- Small bug fixes, re-naming of compSolovev.jl to createSolovev.jl by @henrikjaerleblad in #43
- New tools for custom thermal plasma profiles and FI distributions by @henrikjaerleblad in #44
- Fixed calcSpec bug by @henrikjaerleblad in #45
- Small bug in createCustomFIDistribution.jl by @henrikjaerleblad in #46
- Fixed small warning and bug in helper/createCustomFIDistribution.jl by @henrikjaerleblad in #47
- Fixed small bug in helper/createCustomFIDistribution.jl by @henrikjaerleblad in #48
- Expanded allowed type for temp_n_dens function from Float64 to Real by @henrikjaerleblad in #49
- Bug fix: B_dir for DRESS by @henrikjaerleblad in #50
- Some package updates, unit conversion tool, ViewingCone tool in Julia… by @henrikjaerleblad in #51
- Fixed missing 9Be; nuclear wallet additions by @anvalen97 in #52
- Convert units update. Work on inverse problem solving algorithm by @henrikjaerleblad in #53
- Updates to misc/convert_units.jl, progress on solveInverseProblem.jl … by @henrikjaerleblad in #55
- N-dimensional Gaussian tool added to extra/dependencies.jl; progress … by @henrikjaerleblad in #56
- First version of inverse problem solving tool, small bug fixes by @henrikjaerleblad in #58
Full Changelog: v1.3.0...v1.4.0
v1.3.0
The OWCF can now be used to compute gamma-ray spectra for the 9Be(alpha,n)12C two-step fusion reaction.
Slowing-down functions (collisional physics) can now be computed with damping.
What's Changed
- Update ps2os flip pitch documentation by @henrikjaerleblad in #33
- Slowing-down functions with damping by @henrikjaerleblad in #34
- Fixed ps2os-bug in case of sign(dot(J,B))<0 and B-field-oriented sign… by @henrikjaerleblad in #36
- Fixed visualizeProgress keyword argument bug in ps2os pipeline by @henrikjaerleblad in #37
- Linear SD funcs, plasma rotation bugfix by @henrikjaerleblad in #38
- Test by @henrikjaerleblad in #39
- Removed test commit by @henrikjaerleblad in #40
- Insignificant update by @henrikjaerleblad in #41
- Andrea 2stepGRS by @anvalen97 in #42
New Contributors
- @anvalen97 made their first contribution in #42
Full Changelog: v1.2.2...v1.3.0
v1.2.2
What's Changed
- Minor os2com bugfix by @henrikjaerleblad in #31
- Added plasma rotation to calc2DW, added flr effects to calc2DW, minor bug fixes and updates by @henrikjaerleblad in #32
Full Changelog: v1.2.1...v1.2.2
v1.2.1
Compared to v1.2.0, this new release includes:
What's Changed
- (E,p,R,z) weights computation by @henrikjaerleblad in #22
- Possible installation bug fix by @henrikjaerleblad in #23
- Added tutorials by @henrikjaerleblad in #24
- Fixed scope-of-variables bugs by @henrikjaerleblad in #25
- Added feature in orbitsWebApp.jl so that new COM-file is created if a… by @henrikjaerleblad in #26
- Fixed forbidden variable name 'count', added extra time-suffix naming by @henrikjaerleblad in #27
- Added new tutorial material. Updated Manifest+Project with Contours.j… by @henrikjaerleblad in #28
- Fixed small i=0 bug by @henrikjaerleblad in #29
- Option to include flr effects. Transform f(E,pm,Rm) to f(E,mu,Pphi;si… by @henrikjaerleblad in #30
In addition, this version includes several bug fixes as well as smaller utility upgrades.
Enjoy!
Full Changelog: v1.2.0...v1.2.1
v1.2.0
Compared to v1.1.0, this new release includes:
- The possibility to compute velocity-space weight functions (two-dimensional)
- The possibility to average weight functions to obtain better statistics
- The possibility to include instrumental response to signals and weight functions
- The possibility to load thermal temperature and density data directly from TRANSP, and extract the data from a timepoint of interest
- The possibility to create completely custom diagnostic sightlines
In addition, this version includes several bug fixes as well as smaller utility upgrades.
Enjoy!
v1.1.0
Compared to v1.0, this new release includes new apps, bug fixed, performance enhancements and much more.
This includes, for example:
- modeAnalysisWebApp.jl. This web application lets the user investigate Alfvén eigenmodes for a particular magnetic equilibrium
- A Jacobian computation scheme to compute the Jacobian from (x,y,z,vx,vy,vz) Cartesian coordinates to (E,p,R,z) guiding-centre coordinates
- A new file-saving scheme that does not overwrite, but creates a new file with the ending '(1)', '(2)' etc when saving OWCF quantities.
Enjoy!