Releases: yt-project/libyt
Releases · yt-project/libyt
v0.4.0
Bug Fix
- Fix setting ownership flag when preparing local particle data for other remote processes.
- Need
cstdioheader before includingreadline/readline.hheader (Only happens in Fedora 42)
Enhancement
- Update doc and readme
- Do code coverage
Security
- Set permission in GitHub Action workflow.
- Add security policy
SECURITY.md.
v0.3.0
Enhancements
- Support dimensionality 2 and 1. Previously, only dimensionality 3 is supported.
Fix
- Fix index conversion when dealing with remote memory access and using derived field. (This bug was accidentally introduced when I was refactoring.)
- GitHub Action drop the support for runner ubuntu-20.04, which we use it to test Python3.7. Change the runner to ubuntu-22.04
v0.2.0
Summary
No API changes compared to v0.1.0.
This version refactored the code base to prepare for future development.
Enhancement Details
- Support using
pybind11to bind simulation object to Python. (-DUSE_PYBIND11=ON/OFF) - Refactor the code base to make future development and adding new data structure easier.
- Do unit testing (
googletest) and memory profile (valgrind). - Use
doxygento document the code. - Use
clang-formatandcmake-formatto format the code.
v0.1.0
This is the very first release of libyt!
It is an in situ analysis tool that allows researchers to analyze and visualize data using yt or other Python packages in MPI parallel computing during simulation runtime.
Features
In Situ Analysis
- Support in situ analysis using Python in MPI parallel computing. It also supports serial computing.
- Support binding AMR grid structured simulation (like GAMER and Enzo) to
ytand do analysis with it. This includes:- binding AMR grid hierarchy
- binding simulation field/particle data
- binding user-defined C function to Python and enabling back-communication from Python to simulation
- Generally, it supports all
ytfunctions that does data IO in every process. - Easy conversion from post-processing script to inline script. For example, this save a projection plot:
import yt_libyt # import libyt's yt frontend import yt # import yt #yt.enable_parallelism() # make yt works in parallel computing (require mpi4py) def yt_inline(): ds = yt_libyt.libytDataset() # <--> yt.load("Data") proj = yt.ProjectionPlot(ds, "x", ("gas", "density")) if yt.is_root(): proj.save()
Entry Points to Interact with Simulations
- Support interactive Python prompt and reloading Python script features so that user can use it to interact with the simulation data in the memory using Python without the need to store it on a hard disk first.
- Support using Jupyter Notebook/JupyterLab to interact with the simulation data in the memory using Python without the need to store it on a hard disk first.
Related Repos
yt-libyt-v0.1.0: aytfrontend forlibyt.jupyter-libyt-v0.1.0: a Jupyter provisioner for connecting Jupyter Notebook/JupyterLab tolibytkernel.