Juelich Rapid Spectral Simulation Code

The Juelich Rapid Spectral Simulation Code (JURASSIC) is a fast infrared radiative transfer model for the analysis of atmospheric remote sensing measurements.
https://github.com/slcs-jsc/jurassic

Category: Atmosphere
Sub Category: Radiative Transfer

Keywords

atmosphere atmospheric-science high-performance-computing infrared meteorology radiative-transfer remote-sensing stratosphere troposphere

Keywords from Contributors

measurements

Last synced: 17 minutes ago
JSON representation

Repository metadata

The Juelich Rapid Spectral Simulation Code (JURASSIC) is a fast infrared radiative transfer model for the analysis of atmospheric remote sensing measurements.

README.md

Juelich Rapid Spectral Simulation Code

The Juelich Rapid Spectral Simulation Code (JURASSIC) is a fast
infrared radiative transfer model for the analysis of atmospheric
remote sensing measurements.

logo

release (latest by date)
commits since latest release (by SemVer)
last commit
top language
code size
repo size
codacy
codecov
tests
docs
status
license
doi
SWH

Introduction

The Jülich Rapid Spectral Simulation Code (JURASSIC) is a radiative
transfer model for simulating infrared radiation in the Earth's
atmosphere. It combines radiative transfer approximations,
spectroscopic lookup tables, and retrieval tools for atmospheric remote
sensing applications.

Statement of need

Infrared limb, nadir, and zenith observations are widely used to study
temperature, composition, and dynamical variability in the atmosphere.
Interpreting these measurements requires radiative transfer calculations,
but full line-by-line models can be too computationally expensive for
large satellite datasets, sensitivity studies, or iterative retrieval
workflows.

JURASSIC addresses this use case by combining radiative transfer
approximations with precomputed spectroscopic lookup tables. It is
intended for users who need many infrared radiance or transmittance
calculations with configurable atmospheric states, instrument settings,
and observation geometries.

The model has been used in studies of satellite remote sensing and
middle-atmosphere dynamics, including temperature retrievals, trace-gas
retrievals, and gravity-wave analyses. It complements line-by-line
radiative transfer models by providing a faster modelling option for
workflows where lookup-table approximations are appropriate.

Features

JURASSIC provides a comprehensive and efficient framework for infrared
radiative transfer simulations, offering key capabilities to support
research, operational, and development workflows:

  • Efficient radiative transfer approximations: JURASSIC implements
    the Emissivity Growth Approximation (EGA) and the Curtis–Godson
    Approximation (CGA) to model infrared radiative transfer. These
    methods enable rapid yet accurate simulations of atmospheric
    radiances and transmittances across a broad spectral range.

  • Lookup-table spectroscopy: Band
    transmittances are derived from pre-calculated lookup tables based
    on detailed line-by-line spectroscopy. This approach maintains
    spectroscopic accuracy while largely reducing computational cost,
    making the model suitable for large-scale and near-real-time
    applications.

  • Optimal estimation retrieval framework: In addition to forward
    modelling, JURASSIC includes an optimal estimation retrieval
    module for inverse modelling of atmospheric state variables. This
    enables the derivation of geophysical parameters such as
    temperature or trace gas volume mixing ratios from observed
    radiances, providing a complete forward–inverse modelling system
    within the same framework.

  • Flexible configuration and modular design: The model supports
    customizable spectral bands, instrument configurations, and
    atmospheric input fields, allowing users to integrate JURASSIC
    into diverse workflows and existing analysis pipelines.

  • Comparison with reference models: Published studies have
    compared JURASSIC results with radiative transfer codes such as
    KOPRA, RFM, and SARTA.

  • Parallel execution for HPC environments: JURASSIC supports
    workflow-level parallelism, OpenMP acceleration across the tool
    suite, and MPI-based task distribution for retrieval workloads.
    This enables efficient execution on multicore CPUs and HPC
    clusters for large datasets and campaign-style processing.

  • Open source and community-oriented: JURASSIC is distributed
    under the GNU General Public License (GPL), fostering
    transparency, collaboration, and community-driven development
    within the atmospheric and remote sensing research community.

Getting started

Prerequisites

This documentation describes the installation of JURASSIC on a Linux
system. A number of standard tools (gcc, git, make) and software
libraries are needed to install JURASSIC.

Mandatory build and runtime dependencies include:

  • GNU Scientific Library (GSL) for numerical calculations
  • netCDF-C and HDF5 libraries for file input/output
  • GNU C compiler with OpenMP support

A complete list of mandatory and optional dependencies is provided in the
dependencies file.

Installation

To install JURASSIC, follow these steps:

1. Download JURASSIC

Get the latest or a previous version from the
JURASSIC releases page. After
downloading, extract the release file:

unzip jurassic-x.y.zip

Alternatively, to get the latest development version, clone the GitHub repository:

git clone https://github.com/slcs-jsc/jurassic.git

2. Install dependencies

For the default build, the JURASSIC git repository includes bundled
third-party libraries that can be compiled and installed using a build
script:

cd [jurassic_directory]/libs
./build.sh

This builds the bundled third-party libraries into libs/build/.

Alternatively, if you prefer to use existing system libraries, install
the required dependencies manually. Distribution-specific package
information, optional tools, and version details are collected in the
dependencies file.

3. Optional: adjust the Makefile for non-default setups

Navigate to the source directory and adjust the Makefile as needed:

cd [jurassic_directory]/src
edit Makefile

Pay special attention to the following settings:

  • Edit the LIBDIR and INCDIR paths to point to the directories
    where the necessary libraries are located on your system.

  • By default, the JURASSIC binaries are linked dynamically. If you
    used the bundled libs, ensure that your runtime environment can find
    the shared libraries in libs/build/lib. The example scripts in
    projects/ set this automatically. If you installed system libraries
    in standard paths, no additional setup is needed. If you prefer
    static linking, you can enable it by setting the STATIC flag, which
    allows you to copy and use the binaries on other machines. However,
    in some cases, either static or dynamic linking may not be feasible
    or could cause specific issues.

4. Compile JURASSIC

For the default bundled-library build, no changes to the Makefile are
usually required:

cd [jurassic_directory]/src
make [-j]

Run the regression test suite to verify the installation:

make check

This uses the include and library paths prepared in libs/build/.

Run the examples

JURASSIC includes a projects directory containing example setups
that demonstrate different observation geometries and typical model
workflows. This directory can also be used to store your own
experiments.

Running the examples provided in the projects directory is a convenient
way to verify that the installation was successful. Example simulations
are provided for three observation geometries. The example scripts set
the runtime library path for the bundled-library build automatically and
use gnuplot to generate diagnostic plots:

# Limb
cd [jurassic_directory]/projects/limb && ./run.sh

# Nadir
cd [jurassic_directory]/projects/nadir && ./run.sh

# Zenith
cd [jurassic_directory]/projects/zenith && ./run.sh

Each example performs a complete radiative transfer simulation. Inside
the corresponding example directory, the scripts generate an observation
geometry file,

cat obs.tab

a standard mid-latitude atmospheric profile,

cat atm.tab

and simulated radiances for two or three detector channels:

cat rad.tab

Kernel functions (Jacobians) are calculated using a finite-difference
method:

cat kernel.tab

The simulation output is automatically compared with reference data to
verify the correctness of the results. Additionally, gnuplot is used
to generate plots of the simulated radiances and kernel functions.

Lookup tables

JURASSIC relies on precomputed spectroscopic lookup tables derived
from high-resolution line-by-line calculations. These tables provide
band transmittances used by the radiative transfer approximations
implemented in the model. Precomputed lookup tables for common
configurations are available from the
JURASSIC data repository.

Users may either download these datasets or generate custom lookup
tables tailored to specific spectral bands or instrument configurations.
Creating custom lookup tables requires access to a line-by-line
radiative transfer model capable of calculating high-resolution
absorption spectra of a homogeneous gas cell. The lookup tables
distributed with JURASSIC were generated using the
Reference Forward Model (RFM) from the University of Oxford.
Other line-by-line models may be used if they provide the required
homogeneous-gas-cell absorption spectra.

Further information

More detailed information for new users and developers is available in
the JURASSIC manual. The
GitHub wiki collects links
to manuals, repository files, and related resources.

These are the main references for citing the JURASSIC model in
scientific publications:

  • Baumeister, P. F. and Hoffmann, L.: Fast infrared radiative transfer
    calculations using graphics processing units: JURASSIC-GPU v2.0,
    Geosci. Model Dev., 15, 1855–1874,
    https://doi.org/10.5194/gmd-15-1855-2022, 2022.

  • Hoffmann, L., and M. J. Alexander, Retrieval of stratospheric
    temperatures from Atmospheric Infrared Sounder radiance measurements
    for gravity wave studies, J. Geophys. Res., 114, D07105,
    https://doi.org/10.1029/2008JD011241, 2009.

  • Hoffmann, L., Kaufmann, M., Spang, R., Müller, R., Remedios, J. J.,
    Moore, D. P., Volk, C. M., von Clarmann, T., and Riese, M.: Envisat
    MIPAS measurements of CFC-11: retrieval, validation, and
    climatology, Atmos. Chem. Phys., 8, 3671-3688,
    https://doi.org/10.5194/acp-8-3671-2008, 2008.

  • You can cite the source code of JURASSIC by using the DOI
    https://doi.org/10.5281/zenodo.4572889. This DOI represents all
    versions, and will always resolve to the latest one. Specific DOIs
    for each release of JURASSIC can be found on the Zenodo website.

Please see the citation file
for further information.

Contributing

We are interested in sharing JURASSIC for operational or research
applications. Please do not hesitate to contact us if you have any
further questions or need support. Please see the
contributing guidelines
and the
code of conduct
before contributing.

License

JURASSIC is distributed under the
GNU General Public License v3.0.

Contact

Dr. Lars Hoffmann

Jülich Supercomputing Centre, Forschungszentrum Jülich

e-mail: l.hoffmann@fz-juelich.de

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Juelich Rapid Spectral Simulation Code (JURASSIC)
message: >-
  If you use this software, please cite it using the
  metadata from the CITATION.cff file.
type: software
authors:
  - given-names: Lars
    family-names: Hoffmann
    email: l.hoffmann@fz-juelich.de
    affiliation: Forschungszentrum Jülich
    orcid: 'https://orcid.org/0000-0003-3773-4377'
identifiers:
  - type: doi
    value: 10.5281/zenodo.4572889
    description: Concept DOI for all JURASSIC releases on Zenodo.
repository-code: 'https://github.com/slcs-jsc/jurassic'
abstract: >-
  The Juelich Rapid Spectral Simulation Code
  (JURASSIC) is a fast infrared radiative transfer
  model for the analysis of atmospheric remote
  sensing measurements.
keywords:
  - atmospheric science
  - remote sensing
  - radiative transfer
  - infrared
license: GPL-3.0

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 9 days ago

Total Commits: 446
Total Committers: 4
Avg Commits per committer: 111.5
Development Distribution Score (DDS): 0.007

Commits in past year: 227
Committers in past year: 3
Avg Commits per committer in past year: 75.667
Development Distribution Score (DDS) in past year: 0.009

Name Email Commits
Lars Hoffmann l****n@f****e 443
floratu458 f****l@g****m 1
The Codacy Badger b****r@c****m 1
Amir H. Nikfal a****l@g****m 1

Committer domains:


Issue and Pull Request metadata

Last synced: 3 months ago

Total issues: 0
Total pull requests: 3
Average time to close issues: N/A
Average time to close pull requests: about 17 hours
Total issue authors: 0
Total pull request authors: 2
Average comments per issue: 0
Average comments per pull request: 0.33
Merged pull request: 2
Bot issues: 0
Bot pull requests: 0

Past year issues: 0
Past year pull requests: 1
Past year average time to close issues: N/A
Past year average time to close pull requests: 2 days
Past year issue authors: 0
Past year pull request authors: 1
Past year average comments per issue: 0
Past year average comments per pull request: 1.0
Past year merged pull request: 1
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/slcs-jsc/jurassic

Top Issue Authors

Top Pull Request Authors

  • codacy-badger (2)
  • anikfal (1)

Top Issue Labels

Top Pull Request Labels


Dependencies

.github/workflows/codecov.yml actions
  • actions/checkout v3 composite
  • codecov/codecov-action v3 composite
.github/workflows/docs.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • mattnotmitt/doxygen-action v1.9.4 composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/tests.yml actions
  • actions/checkout v2 composite

Score: 4.025351690735149