Skip to main content

A small UI for running CQL3D

Project description

CQL3DUI

A simple user-interface for the Bounce-Averaged Fokker-Planck code CQL3D.

Author: Matthew Poulos (CompX)
Email: poulos@compxco.com


Overview

CQL3DUI is a simple Python/Tkinter-based GUI for the Fortran-based code CQL3D. The interface allows users to:

  1. Import, export, view, and edit cqlinput files (Fortran namelists).
  2. Load and run pre-compiled CQL3D executables.
  3. Plot and visualize the resulting output (NetCDF) from CQL3D.

Detailed information and documentation on CQL3D can be found at:


Installation

To install CQL3DUI, open a terminal and run:

pip install cql3dui

To run CQL3DUI from within any directory, simply type:

cqlui

Running Example Tests

A set of example tests are provided in the folder cql3dtests.

Finding the Test Files

To locate these tests on your machine, type the following in a terminal:

pip show cql3dui

Look for the line starting with Location:. This points to the directory where the package is installed (usually ending in site-packages). Navigate to that path, and then into the folder /cql3dui/cql3dtests.

Directory Structure

The contents of the test folder are organized as follows:

cql3dtests/
├── cqlinput_folder/                                        # Namelist files
│   ├── test1_cqlinput_eoved_.16_multi-flux-surface_test1.0
│   ├── test2_cqlinput_freidberg_full_eps.3_short_w_sxr_201024
│   ├── test3_cqlinput_96143_one_ray.1_short_201024
│   ├── test4_cqlinput_MAST-like_test.0
│   ├── test5_cqlinput_H0.short_mmsv8_adjust.4
│   └── test6_cqlinput_eoved_.16_multi-flux-surface0.2.11
├── eqdsk_folder/                                           # Equilibrium files
│   ├── eqdsk_freidberg_full_eps
│   ├── eqdsk_MAST-like
│   ├── g096143.01440
│   └── g122080.03100
└── rffile_folder/                                          # RF files
    ├── genray_test4.nc
    ├── genrayfw_18rays.nc
    └── rayech

Workflow

1. Import, View, and Edit Namelists

To import a test case (e.g., Test 1.0):

  1. Click the Import Namelist button in the top left.
  2. Navigate to cql3dtests/cqlinput_folder/.
  3. Select any of the test files.

Editing Features:

  • Navigation: Use the GUI tabs to navigate through the file.
  • Tooltips: Hover the cursor over any namelist variable to see a short description.
  • Documentation: Click on any variable to highlight it within the cqlinput_help documentation (displayed in the right panel).
  • Export: Click Export Namelist to save the variables currently in the UI to a file.

2. Load and Run CQL3D

Prerequisite: You must have a pre-compiled CQL3D Fortran executable.

  1. Click the Select CQL3D Executable button (lower left) and navigate to your compiled executable. The UI will remember this location for future runs.
  2. Click the Run CQL3D button (lower right).

What happens next?

  • A runs folder is created in the current directory (if it doesn't exist).
  • A subfolder labeled by the date and time is created inside runs.
  • The current namelist variables are saved to a cqlinput file inside that subfolder.
  • File Linking: The code checks if auxiliary files (eqdsk, rffile, fpld_dsk) are required.
    • It looks for subfolders (eqdsk_folder, rffile_folder, fpld_folder) in the original working directory.
    • If found, it creates symbolic links (aliases) in the run folder for the required files.
  • A separate thread is launched to execute CQL3D.
  • After completion, a terminal window pops up showing the output and any errors.

3. Plot and Visualize Output

Once CQL3D has successfully completed:

  1. Click the Plot Results button (lower right).
  2. By default, the UI loads the NetCDF (.nc) file from the last successful run.
  3. Optional: If no .nc file exists or you wish to view a different run, click Load .nc file (top right).

Navigate through the various options to visualize the physics results.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cql3dui-0.0.4.tar.gz (119.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cql3dui-0.0.4-py3-none-any.whl (134.2 kB view details)

Uploaded Python 3

File details

Details for the file cql3dui-0.0.4.tar.gz.

File metadata

  • Download URL: cql3dui-0.0.4.tar.gz
  • Upload date:
  • Size: 119.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for cql3dui-0.0.4.tar.gz
Algorithm Hash digest
SHA256 662b9abecdedd16d3380916921bc3b3c09d4b33d822f25786f514c2b7091521f
MD5 fa74f4b374976bb9b6cdf1f9b78d2ec9
BLAKE2b-256 ec06c5639a6812584076ff41ae8ecf4fb157bc6ad4eec0d7c5c674bc54511e24

See more details on using hashes here.

File details

Details for the file cql3dui-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: cql3dui-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 134.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for cql3dui-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ff801787368afa0501996ac11139b26a321042b203408da351bdfa1538d7f3e3
MD5 2ab9ed09706e1f4c9c675531cfe5b0d6
BLAKE2b-256 af645b5b2dbc45412174e354d8728dad6c79cad75ca192478b7c4941b9c68401

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page