Recent Releases of radis

radis - 0.16.1

Spring 2025 - Bug fix๐Ÿฃ

Highlights

Other contributions

Full Changelog: https://github.com/radis/radis/compare/0.16...0.16.1

Atmosphere - Radiative Transfer - Python
Published by minouHub 10 days ago

radis - 0.16

Spring 2025 - Major release ๐Ÿฃ

Highlights

  • Performance: GPU for all - GPU computation available for any brand of GPU using Vulkan
  • NIST atomic spectra are now live!
  • Compatibility with the most recent 2024 HITEMP release and older versions
  • New examples examples in the Docs
  • Python 3.8 is not supported anymore, see https://devguide.python.org/versions/

Pull request details : https://github.com/radis/radis/pull/780

๐Ÿ”ฌ Physics Features

โš™๏ธUser-interface

๐Ÿ› Important Bug fixes

Other contributions

New Contributors since version 0.15

Full Changelog: https://github.com/radis/radis/compare/0.15.2...0.16

Atmosphere - Radiative Transfer - Python
Published by minouHub 26 days ago

radis - 0.15.2

Fall 2024 release - Minor improvements and iOS compatibility

What's Changed

Full Changelog: https://github.com/radis/radis/compare/0.15.1...0.15.2

Atmosphere - Radiative Transfer - Python
Published by minouHub 3 months ago

radis - 0.15.1

2024 Summer release ๐ŸŒž - Bug fix and early development๐Ÿ”ง

Highlights

  • Early release of atomic spectra using the Kurucz database (@code29563 GSOC 2024 and @menasrac GSOC 2023)
  • Bug and development fix of 0.15

Pull request details : https://github.com/radis/radis/pull/684


๐Ÿ”ฌ Physics Features

๐Ÿ› Important bug fixes and ๐Ÿ”ง internal development

๐Ÿ“ Documentation

โš™๏ธ User-interface

๐Ÿƒ Performance improvement


New Contributors

Full Changelog: https://github.com/radis/radis/compare/0.15...0.15.1

Atmosphere - Radiative Transfer - Python
Published by minouHub 9 months ago

radis - 0.15

2024 Summer release ๐ŸŒž

Highlights

  • Performance: GPU for all ! (no need for specific hardware)
  • Performance: Low-memory calculations (multiple orders of magnitude improvements)
  • Docs fully reorganized
  • 15 new contributors!

Pull request details : https://github.com/radis/radis/pull/667


๐Ÿ”ฌ Physics Features

Important notice: multi-molecule calculations will intentionally crash if broadening coefficients are not available for all the species [according to Radis "Better Crash Than Hide" policy]. See #653 for future workarounds

โš™๏ธUser-interface

๐Ÿƒ Performance improvement

  • Calculation with Vaex (beforehand, only loading of database was performed with Vaex) : #576, #580

To use Vaex

from radis import config 
config["DATAFRAME_ENGINE"] = "vaex"

Memory Performances

image

Time Performance
image

  • Cuda driver by @dcmvdbekerom in https://github.com/radis/radis/pull/604 : gets rid of cupy and CUDA toolkit dependencies.
    In layman terms, this means you don't need to install excessive software just to make use of GPU capabilities. "GPU for all" !

An example to compare CPU and GPU codes:

from radis import SpectrumFactory
fixed_conditions = {
    "path_length": 1,
    "wmin": 2000,
    "wmax": 3000,
    "pressure": 0.1,
    "wstep": 0.001,
    "mole_fraction": 0.01, 
    "verbose":0}
Tgas = 1000
sf = SpectrumFactory(
    **fixed_conditions,
    broadening_method="fft",
    molecule='CO2'
)
sf.fetch_databank("hitemp")

s1_gpu = sf.eq_spectrum_gpu(
    Tgas=Tgas,  # K
    backend="gpu-cuda",  # runs on GPU
    diluent={'air':0.99})
s1_cpu = sf.eq_spectrum(    
    Tgas=Tgas,  # K
    diluent={'air':0.99}
)

integral_GPU = s1_gpu.get_integral("absorbance")
integral_CPU = s1_cpu.get_integral("absorbance")
print(integral_GPU, integral_CPU, integral_GPU/integral_CPU)

๐Ÿ› Important Bug fixes

๐Ÿ“ Documentation

image


What's Changed

New Contributors

Full Changelog: https://github.com/radis/radis/compare/0.13.1...0.15

Atmosphere - Radiative Transfer - Python
Published by erwanp 9 months ago

radis - 0.14

Description

The major release 0.14 after 0.13, brings essential fixes to the interface, and the final implementations of the Google Summer of Code 2022 new features with gallery examples.

Main changes :

  • non air mixtures automatically taken into account when using Hitran #495
  • fitting modules examples #520
  • Radis now uses a common API with Exojax to fetch databases

Pull Request Link: https://github.com/radis/radis/pull/532

What's Changed

Features:

Docs:

New Contributors

Full Changelog: https://github.com/radis/radis/compare/0.13.1...0.14

Atmosphere - Radiative Transfer - Python
Published by anandxkumar over 2 years ago

radis - 0.13.1

Description

Intermediary version between 0.13 and 0.14, brings important fixes to the experimental GPU mode, many other interface fixes, as well as the first implementations of the Google Summer of Code 2022 new features.

Pull Request : https://github.com/radis/radis/pull/517

What's Changed

Features:

  • Fetch hitran update by @Supriya1702 in https://github.com/radis/radis/pull/505 : you can now fetch non-air broadening parameters, as well as any other parameter available in the HITRAN database.
from radis.io.hitran import fetch_hitran

df = fetch_hitran("CO",["n_CO2","gamma_CO2"])
print(df)
print(df.columns) 

image

Performance:

Interface:

Fixes:

Docs:

Refactor:

Full Changelog: https://github.com/radis/radis/compare/0.13.0...0.13.1


๐Ÿ“ฃ Other News

  • Extreme amounts of change and improvement in Radis-App, have a look . Web app : https://radis.app/ ; Source Code : https://github.com/suzil/radis-app
  • We presented Radis at the ASA-HITRAN 2022 conference. The records from the conference are not available, but a rehearsal video is available in our new Youtube channel above. We discuss the history, goals, features, algorithms, latest changes and future of Radis.

Atmosphere - Radiative Transfer - Python
Published by erwanp over 2 years ago

radis - 0.13.0

Spring release ๐ŸŒฑ

Pull request details : https://github.com/radis/radis/pull/472

๐Ÿ”ฌ (Physics) Features

  • #462 adding GEISA database support by @TranHuuNhatHuy
s = calc_spectrum(1000 / u.cm, 10000 / u.cm,
                   molecule="CH4",
                   mole_fraction=1900e-9,
                   isotope='1,2,3',
                   wstep='auto',
                   pressure=1.01325 * u.bar,
                   Tgas=296 * u.K,
                   path_length=100 * u.cm,
                    databank='geisa',    # GEISA-2020 
                   verbose=False,
                   export_lines=True,
                   )
import matplotlib.pyplot as plt
plt.figure(figsize=(12,6))
s.plot("xsection", yscale='log', nfig='same')
s.line_survey()

image

GEISA database can be accessed as a Pandas DataFrame using fetch_geisa() :

from radis.io.geisa import fetch_geisa
df = fetch_geisa("H2O")
print(df)
                 wav           int  airbrd  ...  ierrT Tdpnself ierrU
0           0.052583  2.154000e-33  0.0923  ...    0.0    -0.99 -0.99
1           0.181997  2.486000e-35  0.0399  ...    0.0    -0.99 -0.99
2           0.184013  8.470000e-36  0.0399  ...    0.0    -0.99 -0.99
3           0.187637  5.255000e-29  0.0900  ...    0.0    -0.99 -0.99
4           0.363402  2.041100e-33  0.0800  ...    0.0    -0.99 -0.99
             ...           ...     ...  ...    ...      ...   ...
362217  25332.871900  8.100000e-28  0.1056  ...    0.0    -0.99 -0.99
362218  25333.215510  1.560000e-28  0.1078  ...    0.0    -0.99 -0.99
362219  25334.143900  4.750000e-28  0.0905  ...    0.0    -0.99 -0.99
362220  25335.071700  8.260000e-28  0.1102  ...    0.0    -0.99 -0.99
362221  25336.948790  7.170000e-29  0.1125  ...    0.0    -0.99 -0.99

[362222 rows x 31 columns]

โš™๏ธUser-interface

  • #467 radiance & emisscoeff units are now consistent with waverange unit ; i.e. plotting in cm-1 will yield a default radiance in ~mW/cm2/sr/cm-1 while plotting in nm will yield a default radiance in ~mW/cm2/sr/nm @AllanHOlesenBW (major refactor under the hood)
  • #448 normalize options
  • #471 line-survey works for multiple molecules
from radis import calc_spectrum
import astropy.units as u

s4 = calc_spectrum(1950 / u.cm, 1980 / u.cm,
                   mole_fraction={'CH4':1900e-9, 'CO2':400e-6},
                    isotope='1,2,3',
                    pressure=1.01325 * u.bar,
                    Tgas=296 * u.K,
                    path_length=100 * u.cm,
                    databank='geisa',
                    verbose=False,
                    export_lines=True)

s4.line_survey(overlay='abscoeff', barwidth=0.001)

image

๐Ÿƒ Performance improvement

  • #464 : less RAM usage when generating ExoMol database files.

๐Ÿ› Bug fixes

  • #454
  • #458
  • #464 : fix ExoMol parsing errors

๐Ÿ“ Documentation


Detail

Full Changelog: https://github.com/radis/radis/compare/0.12.1...0.13.0

Atmosphere - Radiative Transfer - Python
Published by erwanp almost 3 years ago

radis - 0.12.1

Fix of 0.12.0

Main physics change:

What's Changed

Features :

Fixes :

New Contributors

Full Changelog: https://github.com/radis/radis/compare/0.11.1...0.12.1

Atmosphere - Radiative Transfer - Python
Published by erwanp about 3 years ago

radis - 0.12.0

0.12.0

Christmas release ๐ŸŽ… , adding GPU support as well as many new small features and improvements, and an important bug fix for HITRAN users.

See PR #415


Changes since 0.11.1 (November 2021) :

๐Ÿ”ฌ (Physics) Features

nothing new

โš™๏ธUser-interface

  • #380 GPU widgets are released ! ๐ŸŽ‰

https://user-images.githubusercontent.com/16088743/121789972-f34ab280-cbda-11eb-99b0-d7ba019d80d5.mp4

  • #414 : support for cross-sections
>>> s = radis.test_spectrum()
>>> s.plot("xsection")

COspectrum2502421670720 new quantities added: ['xsection']

image

  • #413 automatically compute spectral array if possible ; no need to "update".
# will always work if possible :
s.take("abscoeff"/"emisscoeff"/"xsection"/"transmittance_noslit"/ etc.)
s.plot("abscoeff"/"emisscoeff"/"xsection"/"transmittance_noslit"/ etc.)
s.get("abscoeff"/"emisscoeff"/"xsection"/"transmittance_noslit"/ etc.)
  • #412
  • #409 custom user download , requested by @Springder

๐Ÿƒ Performance improvement

  • #380 unleashes the power of the GPU !

๐Ÿ› Bug fixes

  • #416 important : all large-range HITRAN calculations of 0.11 may have had missing lines
  • #408
  • #410

๐Ÿ“ Documentation

  • #404
  • #289
  • #406

๐Ÿ CI / Dev / Tests

nothing new

๐Ÿ—๏ธ Refactor / change in architecture

nothing new

Full Changelog: https://github.com/radis/radis/compare/0.11.1...0.12.0

Atmosphere - Radiative Transfer - Python
Published by erwanp over 3 years ago

radis - 0.11.1

Hotfix of 0.11.0

What's Changed

Full Changelog: https://github.com/radis/radis/compare/0.11.0...0.11.1

Atmosphere - Radiative Transfer - Python
Published by erwanp over 3 years ago

radis - 0.11.0

0.11.0

Last major release of 2021 with extreme performance improvements when computing large range spectra. And by large range, we mean full-range, i.e. 0 - 30,000 cm-1 !

See PR https://github.com/radis/radis/pull/400


Changes since 0.10.3 (September 2021) :

๐Ÿ”ฌ (Physics) Features

  • #394 : ExoMol works for isotopes
  • #394 : add isotopic abundance in ExoMol calculations [Important ! calculations other than main isotopologue were not valid for ExoMol in 0.10.3 ]
  • #394 : add default molar_mass, abundances & full-isotope name for all 85 ExoMol species that are not present in HITRAN
  • #394 : when not available abundances of molecules are computed from a simple model based on isotopic terrestrial abundance of elements (scripts are available in test_molecule_lists)
  • #398 re-add broadening for ExoMol molecules

โš™๏ธUser-interface

  • #394 : auto-fetch the full molecule & isotopes list from ExoMol website
  • #394 simplify calc_spectrum waverange input : default is now to use wmin, wmax (unit-aware), instead of wavenum_min, wavenum_max or wavelength_min, wavelength_max (old parameters still work)
  • 399 bridge to/from Specutils
spectrum = s.to_specutils()
...
from radis import Spectrum
Spectrum.from_specutils(spectrum)
  • #399 option to return SpectrumFactory used in a calc_spectrum computation
s, sf = calc_spectrum(.... ,return_factory=True
sf.df1     # lines used 
  • #398 add fetch_hitran() which downloads all lines/isotopes of HITRAN database (Vaex compatible). It is included in calc_spectrum and SpectrumFactory.fetch_databank by default.
calc_spectrum(..., databank=("hitran", "full"))   # predownload full database & isotopes (once for all)
calc_spectrum(..., databank=("hitran", "range"))   # download only the required the range & isotope
  • #396
  • #395 s = s/s2.max() # works with units
  • #378 write/load Spectrum in HDF5 (the fastest way) with metadata
s.to_hdf5()
Spectrum.from_hdf5()
  • #378 Spectrum to pandas
s.to_pandas()
  • #369 new get_baseline functions
sb = s_exp.get_baseline(algorithm="als")
s_exp.plot()
sb.plot(nfig="same", lw=3)

image

  • #254

๐Ÿƒ Performance improvement

  • โญ #398 make vaex the default memory-mapping-engine for radis (Spyder IDE-users: you may want to deactivate this until https://github.com/spyder-ide/spyder/issues/16183 is fixed. There is a new key in the config file for that!)
  • โญ #398 only load required columns by default (makes it 8-20x faster to load databases)

Example : full HITEMP-CO2 database (0 - 30,000 cm-1 loaded in 5s instead of 80 !)

  • #394 download HITRAN full-range makes HITRAN calculations faster (no more download after the first time)
  • โญ #386 #388 make it possible to compute full-range spectra : RADIS automatically switches to a sparse-wavenumber implementation of the DLM/DIT algorithm, based on a scarcity criterion Ngridpoints/Nlines > 1

CO2/H2O full range, computed from HITRAN, for a 1-km homogeneous layer of atmosphere at 300 K, 1 bar

import astropy.units as u

from radis import calc_spectrum
calc_spectrum(
    wmin=0.5 * u.um,
    wmax=15 * u.um,  # cm-1
    mole_fraction={"CO2": 420e-6, "H2O": 0.02},
    isotope="1,2,3",
    pressure=1.01325,  # bar
    Tgas=300,  # K
    path_length=1e5,  # 1 km in cm
    verbose=2,
    databank="hitran",
    wstep="auto",
)

image

๐Ÿ› Bug fixes

  • #393
  • #391
  • #381 , #385
  • #356
  • #338 (not fully fixed, but we know the problem. Spyder-IDE users do not use this mode)

๐Ÿ“ Documentation

  • #389

๐Ÿ CI / Dev / Tests

nothing new

๐Ÿ—๏ธ Refactor / change in architecture

  • #392 : of how we compute partition functions

What's Changed

Full Changelog: https://github.com/radis/radis/compare/0.10.3...0.11.0

Atmosphere - Radiative Transfer - Python
Published by erwanp over 3 years ago

radis - 0.10.3

0.10.3

Minor update of 0.10 with a very important fix if you're combining equilibrium & non-equilibrium spectra with MergeSlabs

(see pull request : https://github.com/radis/radis/pull/375 )


Changes since 0.10.1 (August 2021) :

๐Ÿ”ฌ (Physics) Features

  • #374 includes CN for ExoMol, by @minouHub

โš™๏ธUser-interface

Nothing new

๐Ÿƒ Performance improvement

  • #373 parallel download & parsing of CO2/H2O HITEMP files, activated by default, by @brendandrury

๐Ÿ› Bug fixes

  • #370 , #371 by @CorentinGrimaldi (very important fix, if merging equilibrium and non-LTE spectra with MergeSlabs you should update)
  • #362 by @Springder
  • #358

๐Ÿ“ Documentation

  • #351
  • #365

๐Ÿ CI / Dev / Tests

Nothing here

๐Ÿ—๏ธ Refactor / change in architecture

Not here neither

Atmosphere - Radiative Transfer - Python
Published by erwanp over 3 years ago

radis - 0.10.2

Fixing packaging of 0.10.0 #273

Atmosphere - Radiative Transfer - Python
Published by erwanp over 3 years ago

radis - 0.10.1

0.10.0

(see Pull request and code changes here)

4th release of RADIS in 2021, and the largest so far !

New physics with ExoMol support, by-default truncations to account for subLorentzian behaviors, custom abundances for non-terrestrial atmospheres. Major improvements in performances (reduced memory consumption, faster database loading, up to 10x faster small CPU spectra, large range spectra are 2-30x faster, 3500x faster nonequilibrium partition functions). A few handy features for post-processing (custom plotting themes, ruler tool) or for the calculations (automatic wavenumber grid, fitting methods, new profiler, new choice of truncation & effect of neighbour lines), and even a new method to automatically cite the papers that contributed to your calculation ! ๐Ÿƒ

And also, lot's of new Examples of what can be done with RADIS :

image

10 people contributed to this version, including the major works of @anandxkumar and @gagan-aryan on their OpenAstronomy GSOC-2021 projects. ๐Ÿ‘

๐Ÿฆ Twitter feed


Changes since 0.9.29 (April 2021) :

๐Ÿ”ฌ (Physics) Features

  • #319, #320 ExoMol Support
  • #340, #343 Adds default line truncation at 50 cm-1 to account for sublorentzian behaviors in the far wings. Chi-factors will be implemented in the next version.
  • #301 for non terrestrial atmospheres

Also notice that the HITRAN team has completed major additions to the database (see "Database Update" on the the HITRAN website), and these are available in RADIS with databank='hitran'

  • #288

โš™๏ธUser-interface

  • #251 cutoff=None is valid and means cutoff=0
  • #250 Automatic wavenumber grid resolution with wstep='auto' (see Performance)
  • #281
  • #291 a ruler to measure offsets or linewidths directly on RADIS plot(show_ruler=True) and plot_diff(show_ruler=True)
  • RADIS updated to support Fitroom, a multi-dimensional fit environment. See the 1min-video
  • #348 to have your own plotting themes, like seaborn
  • #336 fitting functions, see the the fitting Examples
  • #343 : adds two independant parameters choice of truncation & effect of neighbour_lines (replaces the old parameter broadening_max_width
  • #345 : s.cite() to generate your Bibtex entry

๐Ÿƒ Performance improvement

  • #250 Automatic wavenumber grid resolution by @anandxkumar : makes sure you always have the right balance in between accuracy and performance. Will become the default mode in 0.9.31, try it before by setting wstep='auto' in calc_spectrum or SpectrumFactory . Feedback welcome !
  • #233 #234 Fast Cython implementation of add_at in LDM method, by @dcmvdbekerom
  • #252 in SpectrumFactory, do not load rovibrational energies (needed for nonequilibrium calculations) unless we actually need nonequilibrium calculations
  • #286 : only downloads the HITEMP files you need, i.e., not the full wavenumber range.
  • #287 : reduced memory usage and up to 2x faster linestrength calculations by @gagan-aryan
  • #303 : about 20% faster to load .spec files
  • #304 up to 10x faster to calculate very small spectra (~1 cm-1), by @minouHub
  • #306 : up to x20 faster database loading with vaex engine
  • #309
  • #316 500-3500x faster nonequilibrium partition functions
  • #325 new profilers
  • #323 : 2-30x faster spectra in LDM+Voigt
  • #343 : LDM + Voigt becomes the default, making large range spectra 2-30x faster. See this benchmark by @anandxkumar

Note : some performance improvements are not activated by default in this version. See partfunc="tabulation" #316 , wstep='auto' #250 , or fetch_hitemp("OH", engine="vaex") #306 . Try them !

๐Ÿ› Bug fixes

  • #211 #264 do not parse local/global quanta if missing values : fixes problem with HITEMP H2O unlabelled lines
  • #248 fix error when fetching hitran isotopes with no lines in the spectral range by @CorentinGrimaldi
  • #260 slit shape was not saved in the Spectrum conditions, fix by @CorentinGrimaldi
  • #257 fix reading of single path in config file entry by @CorentinGrimaldi
  • #218 #219 #270 fix automatic correction of slit dispersion in apply_slit() by @CorentinGrimaldi
  • #277
  • #280 (STILL OPEN)
  • #282 by @gh4ag
  • #298
  • #294
  • #308
  • #326

๐Ÿ“ Documentation

  • #261 add documentation of radis.json
  • #242 #256 improve error messages
  • #263 #246 #235 #231 improve docs
  • #230 links to source code in online docs, and clickable flow chart
  • #265 #240 add default arguments automatically (still WIP)
  • #293
  • #315
  • #331

๐Ÿ CI / Dev / Tests

  • #125
  • #324

๐Ÿ—๏ธ Refactor / change in architecture

  • Cython module architecture in #234
  • #287 , #302
  • #344 will prevent many user-problems with "convolved and non-convolved" quantities
  • #347 by @MVAMULYA
  • #321

And also:

  • RADIS-Lab was updated with preconfigured HITEMP-H2O lines. Try it out, or share it : no install needed (will be updated in the coming days with RADIS 0.9.30 support).
  • #125 One can now chat with the community directly from the RADIS website. Ask all your questions !
  • @dcmvdbekerom gave a talk describing the DIT algorithm that powers RADIS. The 15-min video is available here.
  • an automatically differentiated version of the DIT algorithm has been implemented in the Exojax code by @HajimeKawahara, to model exoplanets, brown drafts and generally for inverse problems in radiative transfer. Have a look !

Atmosphere - Radiative Transfer - Python
Published by erwanp over 3 years ago

radis - 0.9.29

(see Pull Request and code changes here)

0.9.29

3rd release of RADIS in 2021. Mainly many small bug/doc fixes. Among the new stuff: new configuration file format, lazy-loading for SpecDatabase, fast apply-slit, and Sphinx Gallery Examples. ๐Ÿš€

Changes since 0.9.28 (Feb 2021) :

๐Ÿ”ฌ (Physics) Features

Nothing new in the code. However, we released the first Spectroscopy Tutorials : https://github.com/radis/spectro101 . Have a look, feedbacks are welcome ! Future tutorials are discussed in the Wiki and on ๐Ÿ’ฌ Slack #spectroscopy-tutorials .

โš™๏ธUser-interface

  • #212 new configuration file format : ~radis.json replaces ~/.radis. Will allow to use global parameters (for plots, etc.). Auto-conversion of your existing files by @anandxkumar !
  • #229 reduce warning/error threshold of too-few-gridpoints-per-line from 5/2 to 3/1
  • #201 RADIS works for non-HITRAN molecules (they're not implemented, but you can define your own)

๐Ÿƒ Performance improvement

  • #227 CO2 3-T Treanor calculations up to 5x faster when calling non_eq_spectrum a 2nd time
  • #193 #227 fetching of Evib and Erot about ~30% faster for CO2 Treanor, and CO.
  • #206 lazy-loading feature by @gugzy when working with a SpecDatabase (i.e., a folder of spectra) : only load them on demand (when using SpecDatabase.get(Tgas=.., etc.)). Setting up the database is instantaneous, and generate a summary csv file showing all calculation/experimental conditions !
  • #220 Apply_slit is now 10x faster thanks to @CorentinGrimaldi

๐Ÿ› Bug fixes

  • #81 #214 #217 fix a wavelength range mismatch
  • #203 fix direct HITEMP download for nonequilibrium calculations (CO)
  • #202 fixed export_lines parameter not working in calc_spectrum
  • #111 #191 improve error message with unlabelled CO2 lines of HITEMP, and suggest how to fix it, by @mverleg
  • #78 #80 @gagan-aryan fixed errors with missing configuration file parameters,

๐Ÿ“ Documentation

  • #225 add more equations in function docstrings, automatically generated from Python code with pytexit
  • #221 docs improvements
  • #216 fix rendering of radis flow chart by @anandxkumar
  • #209 mention HAPI when using Astroquery
  • #205 add Sphinx gallery examples (we still need more of them : #136 is open!)
  • #207 improve Contributing guide

๐Ÿ Reliability / Tests

nothing here

๐Ÿ—๏ธ Refactor / change in architecture

nothing neither

Atmosphere - Radiative Transfer - Python
Published by erwanp about 4 years ago

radis - 0.9.28

0.9.28

2nd release of RADIS in 2021
Changes since 0.9.27 (Jan 2021) :

๐Ÿ”ฌ (Physics) Features

  • #194 automatic download of HITEMP database ๐ŸŽ‰ (except CO2 and H2O for the moment)
from astropy import units as u
from radis import calc_spectrum
calc_spectrum(
    wavenum_min=1500 / u.cm,
    wavenum_max=2400 / u.cm,
    molecule="CO",
    Tgas=3000,
    pressure=1.01325*u.bar,
    databank="hitemp",  # fetch directly
    wstep=0.003,  # accuracy
).plot()
  • #186 #200 : better handling of coarse spectral grids

โš™๏ธUser-interface

  • #194 creates a ~/.radisdb folder for local HDF5 databases automatically generated by RADIS. These files are registered in the ~/.radis config file.
  • #194 also includes direct loading of HDF5 files (for instance for future ExoMol support)
  • #183 add cutoff as calc_spectrum option
  • Spectrum.get() returns with the Spectrum calculation wunit (cm-1 or nm), not always nm by default as before (will be more straightforward wavenumber people !)
  • add radis.spectrum.utils.has_nan util function to test spectra
  • export_lines=False by default. Saves space, but no LineSurvey by default.

๐Ÿƒ Performance improvement

  • #185 faster rejection of irrelevant files (with metadata implementation), improves loading time for databases with large number of small files (typically CDSD-4000)
  • #164 prevent Memory Errors
  • #192 Improve computation performance by orders of magnitude when computing line-of-sight with hundreds of slabs

๐Ÿ› Bug fixes

  • #182
  • #186

๐Ÿ“ Documentation

  • lots of tiny doc improvements #178
  • reference https://radis.app in the GitHub readme.

๐Ÿ Reliability / Tests

  • #194 downloads the HITEMP OH database with fetch_hitemp (small enough - 900 kb - so we don't burn trees by doing that!). Can be used by other tests later.

๐Ÿ—๏ธ Refactor / change in architecture

Cleaner code :

  • #187 deprecate CPU-parallel code
  • #198 deprecate old database loading methods
  • #171

Not fixed yet in 0.9.28 :

  • #78 and #80 (NOT DONE YET)

Atmosphere - Radiative Transfer - Python
Published by erwanp about 4 years ago

radis -

Changes : https://github.com/radis/radis/pull/70

This is essentially 0.9.23 with some release fixes.

Atmosphere - Radiative Transfer - Python
Published by erwanp over 4 years ago

radis -

Changes: https://github.com/radis/radis/pull/40

Minor patch of 0.9.20

Essentially equal to 0.9.20 https://github.com/radis/radis/pull/39


Major changes:

  • Implemented Density Line Mapping (DLM) resulting in ~x100 performance improvement. See detail in #37 , #38

Minor changes:

  • possible to use an HITRAN .par file directly in calc_spectrum(databank='blabla.par')
  • updated docs

Atmosphere - Radiative Transfer - Python
Published by erwanp over 4 years ago

radis -

Changes: https://github.com/radis/radis/pull/52

Atmosphere - Radiative Transfer - Python
Published by erwanp over 4 years ago

radis -

Changes : https://github.com/radis/radis/pull/68

Atmosphere - Radiative Transfer - Python
Published by erwanp over 4 years ago

radis - 0.9.27

0.9.27

(see pull Request here : https://github.com/radis/radis/pull/168)

Happy new year ! A new minor version of RADIS was released !
Changes since 0.9.26 (Dec 2020) :

๐Ÿ”ฌ (Physics) Features

  • #160 : HITRAN CO coefficients changed. Validation tests were updated in consequence.
  • #152 : update to TIPS-2017 for partition function calculations (no more 3000 K limit for equilibrium calculations)

โš™๏ธUser-interface

  • #165 add plot_by_parts option to Spectrum.plot()
  • 887c3fe2 replace latex superscripts with unicode (nicer output)
  • 9b157683 add legendargs** option for plot_diff
  • #170 make compress=True the default (also check compress=2 in store() )
  • #173 Line survey appear in Jupyter Notebooks

Not directly related, but the radis-lab online-environment is in beta ! Discussions on ๐Ÿ’ฌ Slack #radis-lab.

๐Ÿƒ Performance improvement

  • #175

Not directly related, but radis-benchmark are now available. Contribute on https://github.com/radis/radis-benchmark and on ๐Ÿ’ฌ Slack #benchmark.

๐Ÿ› Bug fixes

  • #155 fix wildcards not working if used in a list of paths
  • #163 fix loading of Spectra generated before 0.9.26
  • bebde46c fix SpecDatabase.get_closest() failing
  • #169

๐Ÿ“ Documentation

  • #157, #146 , #145 , #138

  • Mention of radis-lab

๐Ÿ Reliability / Tests

  • Change in pre-commits / isort / black / general improvement of the code : #137, #139, #140, #141 , #142 , #147 , #149

๐Ÿ—๏ธ Refactor / change in architecture


Not fixed yet in 0.9.27 :

  • #78 and #80 (NOT DONE YET)

Atmosphere - Radiative Transfer - Python
Published by erwanp over 4 years ago

radis - 0.9.26

0.9.26

Featuring new major functionalities such as GPU support for equilibrium calculations (GSoC 2020 project with OpenAstronomy, congrats @pkj-m ), many bug fixes and perf improvement (new DLM model by @dcmvdbekerom , paper soon !), and some neat new interface features (multi-molecules @ulyssed )

๐Ÿ‘ 7 Contributors : see the pull Request


New to RADIS ?

Welcome ! Let's get started :

1๏ธโƒฃ Join the community : ๐ŸŒฑ https://radis.github.io/
2๏ธโƒฃ Read the docs and see the examples
3๏ธโƒฃ Tweet your best spectra ๐Ÿฆ๐Ÿฆ https://twitter.com/radis_radiation/status/1333686549083533314 ๐Ÿ˜‰

Already a RADIS user ?

๐Ÿ‘‰ Update (public version) :

pip install radis --upgrade

๐Ÿ‘‰ Update (developer version) :

Just pull. See more on the docs.


Main changes since 0.9.25 (Feb 7) :

For file details see the PR at #119

(Physical) Features

  • adding initial effective Hamiltonian support directly into Radis : #91

User-interface

  • read all datafiles in a folder directly : #107
  • dimensioned wmin, wmax parameters directly in calc_spectrum / SpectrumFactory : #96
  • added dimensioned units support : #106
  • calculate multiple molecules directly #108
  • new .min(), .max(), .normalize() methods #122
  • new .take() method to return a Spectrum with a single a spectral quantity , useful for chaining, ex : Spectrum.take('radiance').max() #133

Performance improvement

  • GPU calculations following the Google Summer of Code Project ! Congrats @pkj-m ๐ŸŽ‰ #117
  • improve .spec loading/writing times #86
  • improve DLM accuracy : #115 implemented by #116 #130

Bug fixes

  • #82 fixed by #83
  • #85 fixed by #88
  • #109 fixed by #122
  • #87
  • #102 fixed by #120
  • #121 fixed by #123

Reliability / Tests

  • more automatic tests : #99
  • #90 : "Regenerate levels file automatically if manually changed " safety feature to prevent potential bug
  • #100
  • Test coverage improved from 70% to ~77% but still not the 80% required for #62

Documentation


Not fixed yet in 0.9.26 :

  • #78 and #80 (NOT DONE YET)

For details see #119

Atmosphere - Radiative Transfer - Python
Published by erwanp over 4 years ago

radis -

Atmosphere - Radiative Transfer - Python
Published by erwanp over 5 years ago

radis - 0.9.21

First release with DLM implementation (x100 performance improvement). See #37 , #38

Atmosphere - Radiative Transfer - Python
Published by erwanp over 5 years ago

radis -

Atmosphere - Radiative Transfer - Python
Published by erwanp about 7 years ago