Giter Site home page Giter Site logo

jadex.jl's Introduction

Jadex

Docs License DOI

High-performance and extensible re-implementation of the Fortran 77 code RADEX (van der Tak et al. 2007, A&A 468, 627) in the Julia programming language. A Python wrapper is provided using PyJulia. Distinguishing features of this implementation include:

  • Improved performance (~110x).
  • Improved convergence rate through Ng-acceleration
  • User definable escape probability and background radiation field.
  • Multi-threaded parameter grid calculations with interpolation.
  • Cross-platform: tested on Linux, MacOS, and Windows.
  • Python interface provided using PyJulia.
  • Test and validation suite.
  • Extensible design.

For cases where the same input parameters are used, results from Jadex are expected to match RADEX within five significant figures. These differences arise in-part from the use of higher precision mathematical constants and general numerical instability for levels with very small populations. Jadex has been validated against the RADEX wrapper SpectralRadex for a suite of species and physical conditions (see test/validation.jl).

Installation

To install Jadex, open an interactive Julia session, press the ] key to enter the package management mode, and execute the command add Jadex. To execute the test suite, run test Jadex from package mode.

To use the Python wrapper, first install Jadex per the above instruction and then follow the PyJulia installation instructions. Jadex can then be imported from Python by calling from julia import Jadex.

For validation purposes, optional compilation instructions are included in src/wrap_slatec.jl for compiling and linking the slatec.f Fortran file from RADEX into a shared library. The resulting libslatec.so is then wrapped and can be called to factor the rate matrix and solve for the level populations.

Documentation

Please refer to the online https://autocorr.github.io/Jadex.jl for the Quickstart guide, User Guide, and API reference. The documentation source files are also supplied in the docs/ folder distributed with Jadex.

Citing this work

If you use Jadex in an academic work, we ask that you cite the following references, including the original publication for RADEX (van der Tak et al. 2007):

@ARTICLE{2007A&A...468..627V,
       author = {{van der Tak}, F.~F.~S. and {Black}, J.~H. and {Sch{\"o}ier}, F.~L. and {Jansen}, D.~J. and {van Dishoeck}, E.~F.},
        title = "{A computer program for fast non-LTE analysis of interstellar line spectra. With diagnostic plots to interpret observed line intensity ratios}",
      journal = {\aap},
     keywords = {radiative transfer, methods: numerical, radio lines: ISM, infrared: ISM, submillimeter, Astrophysics},
         year = 2007,
        month = jun,
       volume = {468},
       number = {2},
        pages = {627-635},
          doi = {10.1051/0004-6361:20066820},
archivePrefix = {arXiv},
       eprint = {0704.0155},
 primaryClass = {astro-ph},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2007A&A...468..627V},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

If one uses the collision rate files from the LAMDA database, the following citation should be included in addition to the source references listed on the page for the specie(s) used.

@ARTICLE{2005A&A...432..369S,
       author = {{Sch{\"o}ier}, F.~L. and {van der Tak}, F.~F.~S. and {van Dishoeck}, E.~F. and {Black}, J.~H.},
        title = "{An atomic and molecular database for analysis of submillimetre line observations}",
      journal = {\aap},
     keywords = {astronomical data bases: miscellaneous, atomic data, molecular data, radiative transfer, ISM: atoms, ISM: molecules, Astrophysics},
         year = 2005,
        month = mar,
       volume = {432},
       number = {1},
        pages = {369-379},
          doi = {10.1051/0004-6361:20041729},
archivePrefix = {arXiv},
       eprint = {astro-ph/0411110},
 primaryClass = {astro-ph},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2005A&A...432..369S},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

License and Acknowledgements

Copyright Brian Svoboda (2021) and distributed under the terms of the GPL v3 software license. RADEX is authored by Floris van der Tak and contributors.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.