Includes functions to upload DESC and VMEC data to the stellarator database.
Project description
Stellarator-Database
Includes the functions required to upload DESC or VMEC results to the stellarator database. You can access the database here.
This is still a work in progress.
Install using pip
If you are on Linux, WSL or MacOS, you should be able to install stelladb
directly from PyPi.
pip install stelladb
You may have difficulty installing on Windows due to simsopt
dependency. More detailed instructions will come for that. For now, you can use the repo on Windows with slight difference on building the environment.
Install using GIT
Clone GIT repo
git clone https://github.com/PlasmaControl/Stellarator-Database.git
Once you get the files,
cd Stellarator-Database
Building conda environment
conda create --name db 'python>=3.9, <=3.12'
conda activate db
pip install -r requirements.txt
If you are on Windows, simsopt
might need additional instructions. If you just want to upload DESC results, follow these steps for creating conda environment,
conda create --name db 'python>=3.9, <=3.12'
conda activate db
pip install desc-opt selenium
Then, you can upload to database inside the repo, or anywhere where you can access the module stelladb
. You can either git clone the whole repository or you can just get the stelladb
folder of the repo and copy it to where you want to call the functions from.
Sample usage
For more detailed explanation, refer to the tutorial.ipynb
notebook in the repo.
from desc.examples import get
from stelladb import save_to_db_desc
eq = get("HELIOTRON")
# if you are using DESC, you can directly upload Equilibrium or
# EquilibriumFamily objects. For EquilibriumFamily, only the last
# Equilibrium will be uploaded.
save_to_db_desc(eq, config_name="test-HELIOTRON", user="username")
# if you have an outfile, supply the name of it without extension
# For DESC example, we need to save it first to get the .h5 file
eq.save("test_output_HELIOTRON.h5")
save_to_db_desc("test_output_HELIOTRON", config_name="another-HELIOTRON", user="username")
# use copy parameter, if you want the local copy of the files that are uploaded
# default value is False
save_to_db_desc(eq, config_name="HELIOTRON-test-name", user="username", copy=True)
You can give config_name
as you wish. However, if there is an existing configuration with same parameters in the database, you will get following error,
Configuration data already exists in the database with name: HELIOTRON.
Then, you should change your config_name
to match that and try again.
VMEC Utilities are not tested yet!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for stelladb-0.2.11-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8916374cceba8f85f5529a1e36c6396d44a03122fc2a0a37f396d6e0162f2009 |
|
MD5 | 2e7caac22c127b88c29f2fd6098fca49 |
|
BLAKE2b-256 | 8b8d43c9bc426fa0b994f3773f67d99682480361d877d68a1eab064ef4953b18 |