High-Tune: RenDeRer Image renderer of cloudy atmospheres

HTRDR 0.6.1 is available

High Tune: RenDeRer (htrdr) was originally developed as a part of the High-Tune project to illustrate the implementation of radiative transfer algorithms in inhomogeneous media. It was then extended in the ModRadUrb project to handle longwave spectral integration and to add support of spectral reflectivities to the geometries. htrdr is actually an image renderer in the visible or infrared part of the spectrum, for scenes composed of an atmospheric gas mixture, clouds and a ground. It uses volumetric spectral data that should be provided for the pressure and temperature atmospheric vertical profile, the liquid water content in suspension within the clouds that is a result of Large Eddy Simulation computations, and the optical properties of water droplets that have been obtained from a Mie code. It also relies on the reflectivity of the ground geometry that can vary spatially and spectrally.

Related article

htrdr evaluates the intensity incoming on each pixel of the sensor array. The underlying algorithm is based on a Monte-Carlo method: it consists in simulating a given number of optical paths originating from a camera, directed to the atmosphere, taking into account light absorption and scattering phenomena.

By default the spectral integration is performed for the visible part of the spectrum in [380, 780] nanometers, for the three components of the CIE 1931 XYZ colorimetric space that are subsequently recombined in order to obtain the final color for each pixel. As an alternative, one can explicitly define the longwave or shortwave spectral range into which the wavelength are going to be continuously sampled.

During the simulation, htrdr dynamically loads/unloads cloud properties and thus it can handle clouds whose data do not feat in main memory. Furthermore, in addition of a shared memory parallelism, htrdr relies on the Message Passing Interface specification to parallelise its computations in a distribute memory environment; the htrdr binary can thus be run either directly or through a MPI process launcher like mpirun.

Rendering of a 4D cloud field produced by the Meso-NH (Lafore et al 1998, Lac et al 2018) Large Eddy model. Each frame was rendered with htrdr using 4096 samples per pixel component. The resulting images are then postprocessed with the htpp program. Refer to the video for a complete description of how it was produced.

Related projects

CLEMENT
Image rendered with htrdr of a 10003 cloud field produced by the Meso-NH (Lafore et al 1998, Lac et al 2018) Large Eddy Model. The initial conditions and model set-up for the simulation are described in Strauss et al. (2019).

High-Tune: RenDeRer is currently used, developped and extended in the following research projects.

A straight interface

CLEMENT_lw
Infrared rendering in [9, 10] micrometers of the 5003 cloud field of Strauss et al. (2019). The color map displays the brightness temperature in Kelvin.

htrdr is a command-line tool that performs computations on input data, writes the rendered image and nothing more. No assumption is made on how input data are created excepted that they have to follow the expected file formats. In the same spirit, the output image is written in plain text, as a list of raw pixel estimations, making easier the processing of its data.

This thin interface is, by nature, particularly well suited to be extended and integrated into a any workflow. For instance, one can save the cloud properties directly in the "High-Tune: cloud properties" format (htcp) or use the les2htcp tool to convert cloud properties from NetCDF to htcp. In the same way, the output image can be post-treated through gnuplot or converted in a regular PPM image by the htpp program, and then visualised in an image viewer as for instance feh or display.

Quick start

downward_flux_sw
downward_flux_lw
Shortwave (left) and longwave (right) downward flux density maps in W/m2 computed at 1 meter height with the DZVAR cloud field. The shortwave and longwave spectral integration ranges are [0.38, 4] micrometers and [4, 100] micrometers, respectively. Their spatially-avaraged flux is 879.349 W/m2 in shortwave and 425.159 W/m2 in longwave. In both cases, the spatial position is the sub-solar point, meaning that the sun is located at the zenith. In the shortwave map we observe the contrast between the shadows of the clouds and fully illuminated areas. In longwave, we can see the effect of clouds (higher values, due to the emission by the base of the cloud at higher temperatures than for a clear-sky zone) and also a "ripple" effect that is due to the spatial variations of water vapor concentration, as provided by the LES simulation.

No pre-compiled version of htrdr is provided; it must be compiled directly from its source tree. A simple way is to rely on the high_tune branch of the Star-Engine project: it provides CMake scripts that automate the download, the compilation and the installation of htrdr and its dependencies. This build procedure assumes the following prerequisites:

Build

Assuming that the aforementioned prerequisites are available, the build procedure is summed up to:

~ $ git clone -b High-Tune-0.6.1 \
  https://gitlab.com/meso-star/star-engine.git \
  High-Tune-0.6.1
~ $ mkdir High-Tune-0.6.1/build
~ $ cd High-Tune-0.6.1/build
~/High-Tune-0.6.1/build $ cmake ../cmake
~/High-Tune-0.6.1/build $ make

Run

By default htrdr is installed in the local subdirectory of High-Tune-0.6.1. Source the provided high_tune.profile file to register htrdr against the current shell.
~ $ source ~/High-Tune-0.6.1/local/etc/high_tune.profile
~ $ htrdr -h

If the AsciiDoc tool suite was installed on make invocation, the reference documentation of the htrdr program and its associated file formats should be available through man pages. Use the man command-line to consult them.

~ $ man htrdr
~ $ man htrdr-image
~ $ man htrdr-materials
~ $ man htrdr-obj
~ $ man htcp
~ $ man htmie
~ $ man mrumtl

Refer to the High-Tune: Starter Pack to quickly run a htrdr rendering; this archive provides input data and scripts that are good starting points to use htrdr.

Package

Once built, the htrdr installation can be packaged in an archive that can then be deployed on compatible systems, i.e. systems whose C library, NetCDF library and MPI implementation are compatibles with the ones available on the system used to build htrdr.

~/High-Tune-0.6.1/build $ make pkg
~/High-Tune-0.6.1/build $ ls package/High-Tune-0.6.1* # list packages

Release notes

Version 0.6.1

Version 0.6

New features

Fix

Version 0.5.1

Version 0.5

New feature

Add support of shortwave integration with respect to the Planck function for a reference temperature whose default value is the blackbody temperature of the sun. Actually this is the counterpart of the longwave integration introduced by the "infrared rendering" in the 0.4 version. The main difference is that the source of radiation is the sun rather than the medium and its boundaries.

The option -l that enabled the infrared rendering is now replaced by the new -s option that controls the spectral integration that can be CIE XYZ (i.e. regular image rendering), longwave or shortwave.

Fixes

Version 0.4

New features

Fixes

Version 0.3

Version 0.2

Version 0.1

Version 0.0.4

Version 0.0.3

License

Copyright © 2018, 2019, 2020 |Méso|Star>.
Copyright © 2018, 2019 Centre National de la Recherche Scientifique (CNRS), Université Paul Sabatier.

htrdr is free software released under the GPLv3+ license: GNU GPL version 3 or later. You can freely study, modify or extend it. You are also welcome to redistribute it under certain conditions; refer to the license for details.