Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.4.0 #392

Merged
merged 90 commits into from
Feb 3, 2023
Merged

Release 1.4.0 #392

merged 90 commits into from
Feb 3, 2023

Conversation

jacklovell
Copy link
Member

No description provided.

vsnever and others added 30 commits June 16, 2021 20:00
…bmodule. Added code examples to docstrings. Added 'pipelines' property.
…anging the property which affects the resolution.
Make EFITEquilibirum.f_profile available to users.
Fix f_profile definition in EFITEquilibrium docstring and changelog.
vsnever and others added 17 commits October 17, 2022 21:52
…itched to use pre-calculated core profiles by default.
* Update python and numpy versions in CI

- Remove Python 3.6
- Only test oldest and newest supported numpy versions

* Update pyopencl version in CI

v2022.2.4 fixes POCL library not found issue.

* Use newest pre-built numpy in CI

Add --prefer-binary flag when installing dependencies, to avoid trying
to build newer numpy versions from source on older Pythons.
I decided to do new PR, because at the end there were many changes:

    laser geometry is now segmented cylinder as suggested by @mattngc. This propagated into handling of information between plasma, laser node, laser model and scattering model. This was neccessary to simplify handling of notifications, deletions and etc.
        laser model and spectrum hold no plasma and laser reference. Their methods return requested properties (e.g. laser power) in laser node frame.
        Laser material now obtains all the information from plasma, laser spectrum and laser model needed by the scattering model.
        Scattering model works in the frame of reference of the laser node. Method for scattered spectrum calcullation must now get all the neccessary plasma and laser variables (e.g. Te, ne, directions, etc.)
    laser models were rewritten and new added (uniform, bivariate and trivariate normal spatial distributions, Gaussian beam model). Lasers are now described by pulse energy and pulse temporal lengh, this is transformed to spatial power densities using given distributions.
    laser spectrum power spectral density was corrected.

Unittests checking the following were added:

    laser node
        initialisation
        propagation of notifications between laser model, laser spectrum, scattering model, laser geometry and laser material
        position of the laser segments compared to the expected one
    laser spectrum
        initialisation and changes
        normalisation of models
    laser models
        initialisation
        polarisation direction
        correct values of power for spatial points
        integration of laser power over pulse spatial extent is compared to expected pulse energy
    scattering model
        scaterred spectrum traced by a ray is compared to expected values calculated by semi-analytical approach.
Add classes for common spectroscopic instruments
Add more accurate Gaunt factor for Bremsstrahlung emission model
Add Gaussian quadrature integration for line shape models
Add full profiles for Generomak plasma
@vsnever
Copy link
Member

vsnever commented Dec 22, 2022

@jacklovell, I just noticed that "Bug fixes" section is repeated twice in changelog.md. Also, "Fix wavelength indexing in Bremsstrahlung emission model. (#352)" and "Fixed Bremsstrahlung trapezium evaluation (#384)." are fixing the same bug. Keep only the last one.

@jacklovell
Copy link
Member Author

Good catch. I'll fix that. I'll also go through the commit history and check that all the changes are accurately reflected in the changelog.

@jacklovell
Copy link
Member Author

Cherab 1.4.0rc1 has been uploaded to PyPI: sdist and manylinux wheels for Python 3.7, 3.8, 3.9 and 3.10. 3.10 is built on manylinux2014 as earlier ones couldn't build the wheel due to dependency issues: the others are built on manylinux1 to match Raysect.

Please test these by running pip install cherab==1.4.0rc1 on as many python installations as you can: I've tested all 4 versions on the Culham Freia machines and they seem to work OK.

@vsnever
Copy link
Member

vsnever commented Jan 2, 2023

I tested it on the ITER cluster and everything works fine.

The only thing I noticed, CHANGELOG.md contains two identical entries: "Fixed generomak plasma edge data paths" under "Bug fixes" section.

@Mateasek
Copy link
Member

Sorry for the delay. I tested the releaset with major python distributions we use at COMPASS and all seems to be fine, so from my side I think we can go ahead.

@jacklovell jacklovell marked this pull request as ready for review February 3, 2023 17:07
@jacklovell jacklovell merged commit 547e7d3 into master Feb 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants