==================== What's new in 1.4.2 ==================== Main changes: ============= - Python 2.7 is not supported anymore - Python 3.6 and 3.7 are supported - Several changes to try and make installation easier (on clusters, windows, mac....) and less verbose for users - More explicit names for default saved configurations - Major bug fix in one of the methods for computing synthetic signal - Minor bug fixes in interactive figures - Minor bug fixes in Plasma2D interpolation - New configurations (ITER and JET) available - First version of a class handling 2D XRay bragg spectrometers - First tools for magnetic field line tracing available on WEST - Better documentation, more ressources - More informative error messages - extra tools for computing LOS length, closest point to magnetic axis... - Better PEP8 compliance Detailed changes: ================= Installation / portability: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Bug fixes for installation on ITER and Gateway clusters #250 - Easier installation on Mac #183 (``requirements.txt``) - Removed explicit compiler specification in ``setup.py`` for more flexibility - When sub-packages imas2tofu or mag are missing, the warning is much more concise, but the error traceback is still accessible in a hidden dictionnary for developpers #243 - ``python setup.py clean`` now doesn't cythonize - Dropped python 2 support: #228 - merged ``_GG02`` and ``_GG03`` into the ``_GG`` file - no longer being tested in travis - no longer packaged in conda - updated README file accordingly - dropped ``funcsigs`` dependency - made necessary changes in ``setup.py`` - ``benchmarks/calc_signal_benchmark.py``: now working with python 3 Bug fixes: ~~~~~~~~~~ - Major bug fix in ``LOS_calc_signal()`` for computing the synthetic signal of a LOS camera using a particular algortihm : method='sum', minimize='hybrid', ani=True, #247 #255 - Major bug fix in ``LOS_get_sample()`` when ``minimize='hybrid'`` and ``minimize='memory'`` the limits were not set correctly in some cases the formula for sampling a LOS was wrong (``los_get_sample_core_var_res``). - Minor bug fixes in interactive figures when ``t=None`` was used (the interactivity was lost due to wrong formatting of the time array) - Minor bug fixed in Plasma 2D interpolation (``interp_t`` was not being set), imporved error messages #209 - Removed unused variable in ``_Ves_get_sampleS`` (_GG), in ``_core.py`` #190 - Gave more explicit names to some variables in ``_core.py`` to avoid bugs/typos (eg. ``I`` to ``current``) #186 - Removed a secondary ``init`` function for the class ``tf.geom.CoilsPF`` #187 - ``_checkformat_inputs_dgeom`` now is a function of ``Rays`` class - Change default separator in ``to_dict()`` from '_' to '.', #228 - Rays.calc_kInOut_IsoFlux() is now more flexible (accepts 3d np.arrays as well as lists of np.ndarrays), #188 - __repr__() is now overloaded in a more robust way so it falls back to printing the class if get_summary() fails to avoid crashing in debug mode #242 - Minor bug in time interpolation in Plasma2D methods #215 Documentation: ~~~~~~~~~~~~~~ - Updated information about support of python version #273 - Added slides of talk given at PyConFR 2019 conference - Added a **gallery** in our documentation with 3 different tutorials: - 5 minutes tutorial to show to create a geometry and 1D/2D cameras - Guide on how to create your own Geometry from scratch (vacuum vessel, structures, etc.) - How to compute the signal received by a camera using a synthetic signal. For all of these tutorial, you can see directly the codes and the resulting images, and you can get the source code or download it as a Jupyter notebook! - Minor changes to the web doc: updated install instructions to be "cleaner" now in rST and not HTML), small changes in navigation bar. - Guide on how to contribute to ToFu. New features: ~~~~~~~~~~~~~ - First version of **magnetic field line tracing** (for WEST only so far, to be improved) #213 #235 - First version of **2D XRay Bragg spectrometers** for synthetic diagnostics, modelling the diagnotics geometry and providing 2d spectral fitting routines (to be improved) #267 - When computing a signal ``LOS_calc_signal`` emissivity function can now return a 1D array if ``t=None`` #217 #252 - Three functions added to ``tf.geom.Rays``: #211 - ``calc_length_in_isoflux()``: compute the length inside a set of isoflux surfaces of each LOS - ``calc_min_geom_radius()``: compute the minimal geometrical radius (impact parameter) of each LOS - ``calc_min_rho_from_Plasma2D()``: compute the minimum normalized radius (or any field with a minimum on the axis) for each LOS - New **ITER configuration** available! #220 #227 - New **JET configuration** available! #282 - imas2tofu now more robust with respect to one-time-step only data fields and can handle basic rectangular meshes in addition to triangular meshes #218, #280 - More explicit names for default configurations #264 - The github homepage now includes a badge to the gitter chatroom #277 Contributors: ============= Many thanks to all developpers: - Didier Vezinet (@Didou09) - Laura Mendoza (@lasofivec) - Florian Le Bourdais (@flothesof) - Jorge Morales (@jmoralesFusion) - Koyo Munechika (@munechika-koyo) - Louwrens Van Dellen (@Louwrensth) What's next (indicative): ========================= - Migrating from nosetests (ongoing for @lasofivec : issues #95 and #232 ) - Easier binary and source installs from pip and conda for all platforms, including unit tests on alla platforms (ongoing for @lasofivec and @flothesof : issue #92 and #259 ) - Solid angles for Volume-Of-Sight and radiative heat loads computation (ongoing for @lasofivec : Issues #71, #72, #73, #74, #75, #76, #77, #78 ) - Tools and classes to handle 2D Bragg X-Ray crystal spectrometer (ongoing for @Didou09 : Issues #202 and #263) - Generic data classe to incorporate plateau-finding, data analysis and 1d Bayesian fitting routines and classes (ongoing for @Didou09 and @jmoralesFusion and @MohammadKozeiha: issues #208, #260 and #262) - More general magnetic field line tracing workflow - Better unit tests coverage - More complete documentation List of issues and PR closed: ============================= - Issues: #30, #180, #183, #185, #186, #187, #188, #189, #190, #201, #209, #211, #213, #215, #217, #218, #220, #224, #227, #228, #230, #235, #243, #247, #248, #250, #252, #255, #264, #277 - PR: #173, #175, #179, #181, #182, #184, #191, #192, #193, #194, #195, #196, #197, #199, #206, #207, #210, #212, #222, #223, #225, #226, #229, #231, #233, #234, #236, #237, #238, #240, #242, #244, #245, #246, #249, #251, #253, #254, #256, #257, #258, #261, #265, #267, #269, #270, #273, #278, #279, #280, #282