By signing in you accept the Terms of Use and acknowledge the Privacy Policy and Cookie Policy: https://gitlab.eufus.psnc.pl/-/users/terms

Skip to content
The "Marconi big-run multi-ion" version

Changes are numerous, notably the selection of "big run" improvements
and changes:
* !48 The "Bas rotation Airflow" merge
   * Updated files in scheduling/airflow directory to be compatible with
        version 1.3
   * Updated qualikizrun.py to use pathlib.Path wherever possible
   * Tested using qualikiz_tools==1.3, QuaLiKiz==2.8.1,
   * apache-airflow==1.10.14 in Marconi cluster
   * Note: Path.resolve() function fails when attempting to follow a broken
        symlink. This causes some tests to fail in comparison to the
        os.readlink() implementation when testing against dummy run folders
        with placeholder links. A similar Path.readlink() function will
        supposedly be available in Python 3.9, but currently uses a mix of
        the two.
* !50 The "Bas Macheral rotation" merge
   * Addition of the recalculation of rotation variables when assuming
     no poloidal rotation and no ion density and temperature curvature.
        * Added a function recalc_rot() to the QuaLiKizXpoint.
        * Added an option "recalc_rot_var" to the QuaLiKizXpoint.
        * Perform the recalculation in the QuaLiKizPlan if the
          "recalc_rot_var" is set to True.
        * Added three functions to conversion.py that calculate either
          gammaE, Machtor or Autor.
        * In the QuaLiKizPlan, there are remnants of a mixed generator, which
          scans gammaE and Machtor in parallel but the remaining variables
          rectangularly. This can be reworked in a more general form.
   * For more information, see README_BAS.txt
* !51 The "QLFlux Bas Pythontools extravaganza" merge
   * This MR contains mechanisms to interact with the new QuaLiKiz
     QLFLux scan mechanism, see
     https://gitlab.com/qualikiz-group/QuaLiKiz/-/tree/karel/QLflux.
      * Add the generate_ql subcommand to qualikiz_tools input
      * Implement QuaLiKizQLFluxScan to scan type; for scanning over
      * quasilinear fluxes
      * Tests for QL flux
      * Move to pathlib for paths

The "hobbying of Karel" changes:
* !49 The "Static Code Analysis" merge
   * This MR adds a developer method to create a new file
     qualikiz_tools/qualikiz_io/datamap.json which contains information
     on the sizes, types and "class" of QuaLiKiz in- and output
     variables. This file should not change often, so I'm just version
     controlling it in this repo so one does not need QuaLiKiz itself to
     use the QuaLiKiz-pythontools. This map can be ingested for a
     planned class-based interface to the QuaLiKiz IO, as well as have a
     human and machine readable description of QuaLiKiz IO.
* !52 The "Hotfix for CI" merge
   * Use name instead of stem for building link to qlk binary
   * Fix core detection tests for 10+ cores

The "Improved CI and packaging" changes:
* !53 The "Relative bound, remove binary equivalence" merge
* !54 !55 The "Improved documentation" merges
* !56 The "Python packageing and Heimdalification" merge
   * This MR makes major changes to the QuaLiKiz-pythontools CI, namely:
      * Removes the broken and hacky Heimdall-like install job (6e3f683b)
      * Bring CI in line with other "Karel Pythontools" (39983795)
      * Additionally run the documentation generation on branches named
      * (39983795, fd3ec654)
         * karel/*
         * feature/*
         * bugfix/*
         * hotfix/*
      * Use pip/python cache and venv as in gitlab.com examples. (8f106c8e,c1414148)
      * Use bash env variables for pip and python (beb4c5b5)
      * install_docker_heimdall_like -> install_docker_heimdall_like_user_install and install like it is on Heimdall (0ff745ef, fd833700)
      * Test the non-editable install in install_docker_heimdall_like_user_install_noneditable
      * Build manylinux Python packages (e07e5c9d, 29d20d70)
      * Use default stages build, run, test, and deploy; Removed doc stage. (d9a35126)
      * Remove logic from setup.py and move it to pyproject.toml and setup.cfg (c90cf5a9, fe2cc0ba)
      * Deploy packages to test.pypi (for now) (cb6f040f, 1df9354d, 649bb955, 1c13b256)

The "Improved CLI and plotting" changes:
* !51 The "Fix CLI plotting" merge
   * Fix the plot subcommand for the qualikiz_tools CLI.
      * Uses native Python argparse instead of the extra package docopt. The idea is to eventually move all CLIs to argparse.
      * Has --help and usage information
      * Adds the now-working sub-subcommand plot_fluxlike, which produces a plot of a 1D scan + relevant spectra
   * Replaces the Michele discrete slider by the now-working snapping slider from matplotlib https://matplotlib.org/devdocs/gallery/widgets/slider_snap_demo.html
   * Many fixes to the unholy monster of Frankenstein from @MicheleDiffer and @Karel-van-de-Plassche plot_fluxlike.py
      * Fix since-broken usage of xarray and pandas
      * Fix FutureWarnings from pandas
      * Fix multirun plotting
      * Add more axis labels
   * Add helper function to generate unique filenames (for figures)
   * Add/fix helper functions to generate "pretty names" for QuaLiKiz variables in pretty_names.py
   * Bump matplotlib version number
   * Always regenerate netCDFs on plot

Merges in this release in chronological order:
* https://gitlab.com/qualikiz-group/QuaLiKiz-pythontools/-/merge_requests/48
* https://gitlab.com/qualikiz-group/QuaLiKiz-pythontools/-/merge_requests/49
* https://gitlab.com/qualikiz-group/QuaLiKiz-pythontools/-/merge_requests/50
* https://gitlab.com/qualikiz-group/QuaLiKiz-pythontools/-/merge_requests/52
* https://gitlab.com/qualikiz-group/QuaLiKiz-pythontools/-/merge_requests/53
* https://gitlab.com/qualikiz-group/QuaLiKiz-pythontools/-/merge_requests/54
* https://gitlab.com/qualikiz-group/QuaLiKiz-pythontools/-/merge_requests/55
* https://gitlab.com/qualikiz-group/QuaLiKiz-pythontools/-/merge_requests/51
* https://gitlab.com/qualikiz-group/QuaLiKiz-pythontools/-/merge_requests/56
* https://gitlab.com/qualikiz-group/QuaLiKiz-pythontools/-/merge_requests/57