meso-web

Sources of the |Méso|Star> website
git clone git://git.meso-star.fr/meso-web.git
Log | Files | Refs | README | LICENSE

commit 9e3fc91dc643e6d6de943049f4dc53cde42a1f28
parent 81e16b67b4c54031afdb600afe7513d69fe95c41
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Wed, 25 Jun 2025 14:17:11 +0200

htrdr: begin the markdown translation

Only the overview section is currently translated

Diffstat:
Dhtrdr/CLEMENT.jpg | 2--
Mhtrdr/Makefile | 23+++++++++++++++--------
Dhtrdr/htrdr.html.in | 439-------------------------------------------------------------------------------
Ahtrdr/htrdr.md.in | 353+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mhtrdr/htrdr_build.sh | 20++++++--------------
Ahtrdr/images/CLEMENT.jpg | 2++
Rhtrdr/CLEMENT_lw_9000_10000.jpg -> htrdr/images/CLEMENT_lw_9000_10000.jpg | 0
Rhtrdr/downward_flux_500x500x2048_lw_4000_100000_425.156.jpg -> htrdr/images/downward_flux_500x500x2048_lw_4000_100000_425.156.jpg | 0
Rhtrdr/downward_flux_500x500x2048_sw_380_4000_879.349.jpg -> htrdr/images/downward_flux_500x500x2048_sw_380_4000_879.349.jpg | 0
Rhtrdr/gulder_horizontal_slides.jpg -> htrdr/images/gulder_horizontal_slides.jpg | 0
Rhtrdr/titan_1280x960x4096.jpg -> htrdr/images/titan_1280x960x4096.jpg | 0
Rhtrdr/titan_transit.jpg -> htrdr/images/titan_transit.jpg | 0
Ahtrdr/thumbs/CLEMENT.jpg | 2++
Ahtrdr/thumbs/CLEMENT_lw_9000_10000.jpg | 2++
Ahtrdr/thumbs/black.jpg | 2++
Ahtrdr/thumbs/black.png | 2++
Ahtrdr/thumbs/downward_flux_500x500x2048_lw_4000_100000_425.156.jpg | 2++
Ahtrdr/thumbs/downward_flux_500x500x2048_sw_380_4000_879.349.jpg | 2++
Ahtrdr/thumbs/gulder_horizontal_slides.jpg | 2++
Ahtrdr/thumbs/titan_1280x960x4096.jpg | 2++
Ahtrdr/thumbs/titan_1280x960x4096_2.jpg.jpg | 2++
Ahtrdr/thumbs/titan_transit.jpg | 2++
22 files changed, 396 insertions(+), 463 deletions(-)

diff --git a/htrdr/CLEMENT.jpg b/htrdr/CLEMENT.jpg @@ -1 +0,0 @@ -#$# git-wad 9d6c853f3abbf14375eca49457613c9bab0d4c8f6a457e2c4e940273d9a1ccbf 280047 -\ No newline at end of file diff --git a/htrdr/Makefile b/htrdr/Makefile @@ -81,16 +81,23 @@ MAN=\ $(HTRDR_DIR)/share/man/man5/smsh.5 OVERVIEW_IMG=\ - CLEMENT.jpg\ - CLEMENT_lw_9000_10000.jpg\ - downward_flux_500x500x2048_sw_380_4000_879.349.jpg\ - downward_flux_500x500x2048_lw_4000_100000_425.156.jpg\ + images/CLEMENT.jpg\ + images/CLEMENT_lw_9000_10000.jpg\ + thumbs/CLEMENT.jpg\ + thumbs/CLEMENT_lw_9000_10000.jpg\ + images/downward_flux_500x500x2048_sw_380_4000_879.349.jpg\ + images/downward_flux_500x500x2048_lw_4000_100000_425.156.jpg\ + thumbs/downward_flux_500x500x2048_sw_380_4000_879.349.jpg\ + thumbs/downward_flux_500x500x2048_lw_4000_100000_425.156.jpg\ downloads/teapot_city_clouds.mp4\ - gulder_horizontal_slides.jpg\ + images/gulder_horizontal_slides.jpg\ + thumbs/gulder_horizontal_slides.jpg\ gulder_sideview.jpg\ R8tr3.1.ARMCu.OUT.218.jpg\ - titan_1280x960x4096.jpg\ - titan_transit.jpg + images/titan_1280x960x4096.jpg\ + images/titan_transit.jpg\ + thumbs/titan_1280x960x4096.jpg\ + thumbs/titan_transit.jpg ATMSPK_IMG=\ DZVAR.jpg\ @@ -167,7 +174,7 @@ htrdr_build.sh: ../meso-menu.sh # Overview ################################################################################ htrdr.html: \ - htrdr.html.in \ + htrdr.md.in \ $(HTRDR_README) \ $(OVERVIEW_IMG) \ htrdr_build.sh \ diff --git a/htrdr/htrdr.html.in b/htrdr/htrdr.html.in @@ -1,439 +0,0 @@ -<header> - <h1><code style="color: #000000">htrdr</code> - <span class=subtitle> - The Monte-Carlo radiative transfer simulator - </span> - </h1> -</header> - -<div class="news"> - <p><b><code>htrdr</code> ${VERSION} is available</b></p> - <ul> - <li><a href="#INSTALL">Install</a> from source - </li> - </ul> -</div> - -<p><code>htrdr</code> evaluates the intensity at any position (probe) of the -scene, in any direction, in the presence of <b>surfaces</b> and an <b>absorbing -and diffusing semi-transparent medium</b>, for both <b>internal</b> (longwave) -or <b>external</b> (shortwave) <b>radiation sources</b>. The intensity is -calculated using the <b>Monte-Carlo</b> method: a number of optical paths are -simulated backward, from the probe position and into the medium. Various -algorithms are used, depending on the specificities of the nature and shape of -the radiation source.</p> - -<div class="news"> - <p><b>Related articles</b></p> - <ul> - <li><p> - <a href="https://doi.org/10.1007/s10546-022-00750-5">Caliot et al.</a> - <br>(BLM 2022) - <br><a href="https://hal.science/hal-03813906/">open access</a> - </p></li> - <li><p> - <a href="https://doi.org/10.1126/sciadv.abp8934">Villefranque et al.</a> - <br>(Science Advances 2022) - <br><a href="https://arxiv.org/abs/2204.14227">open access</a> - </p></li> - <li><p> - <a href="https://doi.org/10.1016/j.jqsrt.2021.107725">Sans et al.</a> - <br>(JQSRT 2021) - <br><a href="https://imt-mines-albi.hal.science/hal-03224186v1">open - access</a> - </p></li> - <li><p> - <a href="https://doi.org/10.1029/2018MS001602">Villefranque et al.</a> - <br>(JAMES 2019) - <br><a href="https://arxiv.org/abs/1902.01137">open access</a> - </p></li> - </ul> -</div> - -<p>Applications are theoretically possible to any configuration. However, it -all eventually comes down to the possibility of using the physical data of -interest, in their most common formats, in each scientific community. -<code>htrdr</code> is currently suitable for three main application fields:</p> - -<ol> -<li> - <p><a href="man/man1/htrdr-atmosphere.1.html">Atmospheric radiative - transfer</a>: a clear-sky atmosphere is vertically stratified, neglecting - Earth sphericity, and described in terms of absorption coefficients as a - function of height and spectral quadrature point as per a correlated-k model. - Cloud physical properties are provided on a 3D rectangular grid. Surface - geometrical and optical properties can be provided for an arbitrary number of - geometries. Internal radiation and solar radiation are taken into - account.</p> -</li> -<li> - <p><a href="man/man1/htrdr-combustion.1.html">Combustion processes</a>: - thermodynamic data is provided at the nodes of an unstructured tetrahedral - mesh, while surface properties can still be provided for various materials. - The radiation source is only external: a monochromatic laser sheet - illuminates the inside of the combustion chamber for diagnostic purposes.</p> -</li> -<li> - <div class="img" style="width: 20em"> - <a href="titan_1280x960x4096.jpg"> - <img src="titan_1280x960x4096.jpg" alt="Titan"> - </a> - <a href="titan_transit.jpg"> - <img src="titan_transit.jpg" alt="Titan_transit"> - </a> - <div class="caption"> - Images of Titan rendered with <a - href="man/man1/htrdr-planets.1.html">htrdr-planets</a>. Its 3D atmosphere - is composed of a gas mixture and two aerosol modes for haze and clouds. In - the bottom image, the source is positioned behind Titan to simulate a - transit situation, i.e. a solar eclipse by Titan. - </div> - </div> - <p><a href="man/man1/htrdr-planets.1.html">Planetary science</a>: takes into - account the geometry of a "ground" of arbitrary shape, described by a - triangular mesh, with the possibility of using an arbitrary number of - materials. The radiative properties of a gas mixture must be provided on a - tetrahedral mesh, using the k-distribution spectral model. The radiative - properties of an arbitrary number of aerosol and hydrometeores can also be - provided on their individual tetrahedral mesh. Calculations can be made for - both internal and external radiation sources. In the case of an external - source, a sphere of arbitrary size and position is used. This sphere can - radiate as a Planck source at a specified brightness temperature, or be - associated with a high-resolution radiance spectrum.</p> -</li> -</ol> - -<p>Since any radiative transfer observable is expressed as an integral of the -radiance, and since there is a strict equivalence between the integral to be -solved and the underlying Monte-Carlo algorithm (each integral is associated -with the sampling of a random variable), the algorithms that calculate the -radiance are used for computing various quantities:</p> - -<ul> -<li> - <p><b>Images</b> on a camera sensor, in a given field of view. For combustion - applications, only monochromatic images are supported. In atmospheres and in - planetary science, spectral integration is also possible, both for solar and thermal - images: CIE colorimetry is used for solar images, while thermal images are in - fact brightness temperature maps, obtained from the incoming radiative flux - over a specified spectral interval.</p> -</li> -<li> - <p><b>Flux density maps</b>, on a grid of sensors, integrated over an entire - hemisphere. In the case of combustion chambers, flux density maps can be - calculated, while spectrally integrated flux density maps are also possible - for atmospheric application, both for solar and thermal radiation.</p> -</li> -</ul> - -<div class="video"> - <video style="width:100%; text-align:center" - controls poster="R8tr3.1.ARMCu.OUT.218.jpg"> - <source src="downloads/teapot_city_clouds.mp4" type="video/mp4"> - Your browser does not support the video tag. - </video> - <div class="caption"> - This film demonstrates the capacity of Monte-Carlo path-tracing methods to - handle large scale ratios from large cloud fields to cities to buildings to - trees and down to a teapot. The 4D cloud field has been produced by the - Meso-NH (<a - href="https://www.ann-geophys.net/16/90/1998/angeo-16-90-1998.html">Lafore et - al 1998</a>, <a href="https://www.geosci-model-dev.net/11/1929/2018/">Lac et - al 2018</a>) Large Eddy model. Spectral materials are defined in particular - from data from the Spectral Library - of impervious Urban Materials (<a - href="https://zenodo.org/record/4263842">Kotthaus et al 2013</a>) . Each frame was - rendered with <a href="man/man1/htrdr-atmosphere.1.html">htrdr-atmosphere</a> - using 8192 samples per pixel component. The resulting images are then - post-processed with the <a href="man/man1/htpp.1.html">htpp</a> program. - Refer to the video for a complete description of how it was produced. - </div> -</div> - -<h2 id="rel_projects">Related projects</h2> - -<div class="img" style="width: 20em"> - <a href="CLEMENT.jpg"> - <img src="CLEMENT.jpg" alt="CLEMENT"> - </a> - <a href="CLEMENT_lw_9000_10000.jpg"> - <img src="CLEMENT_lw_9000_10000.jpg" alt="CLEMENT_lw"> - </a> - <div class="caption"> - Images rendered with <a - href="man/man1/htrdr-atmosphere.1.html">htrdr-atmosphere</a> of a - 1000<sup>3</sup> cloud field produced by the Meso-NH (<a - href="https://www.ann-geophys.net/16/90/1998/angeo-16-90-1998.html">Lafore et - al 1998</a>, <a href="https://www.geosci-model-dev.net/11/1929/2018/">Lac et - al 2018</a>) Large Eddy Model. The initial conditions and model set-up for - the simulation are described in <a - href="https://rmets.onlinelibrary.wiley.com/doi/full/10.1002/qj.3614">Strauss - et al. (2019)</a>. - The infrared rendering is calculated in [9, 10]&nbsp;µm spectral range; the - color map displays the brightness temperature in Kelvin. - </div> -</div> - -<p><code>htrdr</code> has been used, developped and extended in the following -research projects:</p> - -<ul> - <li>The development of <code>htrdr</code> began with the <a - href="https://anr.fr/Projet-ANR-16-CE01-0010">High-Tune</a> project. - Originally, it simulated the radiative transfer of an <b>external source</b> - (solar) in a scene composed of a triangulated ground and an - <b>atmosphere</b>, neglecting Earth sphericity, in the presence of a <b>cloud - field</b> provided over a structured grid. It was later extended in order to - take into account a <b>non-gray surface</b>, and the possibility to perform - radiative transfer computations for a <b>internal source</b> (ground and - atmosphere).</li> - - <li>In project <a - href="https://www.umr-cnrm.fr/spip.php?article1204">ModRadUrb</a> the - emphasis was put on taking into account the representation of <b>complex - geometries</b> (detailled city scenes) using <b>spectral properties of an - arbitrary number of materials</b>. The solver was extended to solve upward - and downward <b>hemispherical atmospheric fluxes</b> on a plane positioned - anywhere in the scene, both in the visible and the infrared spectral - ranges.</li> - - <li>In project <a href="https://anr.fr/Projet-ANR-18-CE46-0012">MCG-Rad</a> - the <code>htrdr</code> codebase was used to explore a whole new class of - radiative transfer algorithms: instead of relying on the full atmospheric - radiative properties data set (prerequisite for current algorithms), the - so-called <b>line sampling</b> algorithms will <b>not</b> require <b>nor</b> - compute the absorption coefficient of the atmosphere. Instead, it will sample - energetic transitions and use a Line-by-Line parameters database (such as <a - href="https://hitran.org/">HITRAN</a>) in order to perform a <b>rigorous - spectral integration</b>, both in the visible and the infrared spectral - ranges.</li> - - <li>In project <a href=https://anr.fr/Project-ANR-18-CE05-0015>Astoria</a>, - <code>htrdr</code> was used to produce images in the visible, in the presence - of <b>combustion chambers</b> where radiation scattering is performed by soot - aggregates. One of the main difficulty resides in the fact that the chamber - is <b>illuminated by a laser</b>: the classical solar radiative transfer - algorithm then fails to converge because of the collimated radiation source, - and a <a href="https://doi.org/10.1016/j.jqsrt.2021.107725">new algorithm</a> - was thus designed in order to ensure numerical convergence.</li> - - <li>In project <a href="https://anr.fr/Projet-ANR-21-CE49-0020">Rad-Net</a>, - <code>htrdr</code> was adapted for applications in <b>planetary science</b> - and <b>astrophysics</b>. The application is now a scene composed of an - <b>arbitrary number of solid surfaces</b> (a planet, satellites) represented - by triangular meshes and materials which describe their <b>spectral - reflectivity/emissivity</b> properties. The <b>3D atmopshere</b> is defined by - a number of participating semi-transparent media (a gas mixture and an - arbitrary number of aerosol modes) whose radiative properties are provided at - the nodes of a <b>unstructured tetrahedral volumetric grid</b>, independant - for ach medium.</li> -</ul> - -<h2>A straight interface</h2> - -<div class="img" style="width: 20em"> - <a href="city.jpg"><img src="city.jpg" alt="city"></a> - <div class="caption"> - Image rendered with <a - href="man/man1/htrdr-atmosphere.1.html">htrdr-atmosphere</a>, of a city - procedurally generated with spectral materials defined in particular from - data from the <a href="https://zenodo.org/record/4263842">Spectral Library - of impervious Urban Materials</a>. The entire dataset (geometry, materials - and cloud field) is included in the <a - href="htrdr-atmosphere-spk.html">atmosphere Starter-Pack</a>. - </div> -</div> - -<p><code>htrdr</code> is a <b>command-line tool</b> that performs computations -on input data, writes the rendered image and nothing more. No assumption is -made on how input data are created, the only requirement is compliance with -the expected file formats. In the same spirit, the output image is written in -plain text, as a list of raw pixel estimations, which makes it easier to -post-process. - -<p>This thin interface is, by nature, particularly well suited to be -<b>extended</b> and <b>integrated</b> into any workflow. For instance, one can -save the cloud properties used by <a -href="man/man1/htrdr-atmosphere.1.html">htrdr-atmosphere</a> directly in the - -<a href=man/man5/htcp.5.html>htcp</a> file format or use the <a -href=man/man1/les2htcp.1.html>les2htcp</a> tool to convert cloud properties -from <a href="https://www.unidata.ucar.edu/software/netcdf/">NetCDF</a> to -<code>htcp</code>. In the same way, the output image can be post-processed -through <a href="http://www.gnuplot.info">gnuplot</a> or converted in a regular -PPM image by the <a href="man/man1/htpp.1.html">htpp</a> program, and then -visualised in an image viewer as for instance <a -href="https://feh.finalrewind.org/">feh</a> or <a -href="https://imagemagick.org/script/display.php">display</a>. - -<h2 id="INSTALL">Installation</h2> - -<div class="img" style="width: 20em"> - <a href="gulder_horizontal_slides.jpg"> - <img src="gulder_horizontal_slides.jpg" alt="gulder_horizontal_slides"> - </a> - <div class="caption"> - Renderings in the visible range calculated by <a - href="man/man1/htrdr-combustion.1.html">htrdr-combustion</a> of a laminar - sooting flame seen from above and illuminated by a laser sheet. The images - display radiation that is emitted by the laser, scattered and transmitted by - the combustion medium. The laser sheet is horizontal, and intersects the - medium at various heights. One can see the difference in the scattered signal - between the left and right parts of the image; since the laser propagates - from the left to the right, it is progressively attenuated while traveling - the medium. The intensity of radiation subject to scattering therefore - decreases. In addition to these trapping effect these images provide some - insight about the scattering cross-section of the medium as a function of - height. Scattering properties of soot gradually increase from the injection - position to a height of approximately 35&nbsp;mm. A steep decrease follows: - the image for a height of 40&nbsp;mm is very similar to the image obtained at - 10&nbsp;mm. - </div> -</div> - -<div class="img" style="width: 20em"> - <a href="gulder_sideview.jpg"> - <img src="gulder_sideview.jpg" alt="CLEMENT"> - </a> - <div class="caption"> - Images in the visible range rendered with <a - href="man/man1/htrdr-combustion.1.html">htrdr-combustion</a> of a sooting - flame illuminated by an horizontal laser sheet that runs through the central - axis of the flame; the camera is looking at the centre of the flame, but its - normal is oriented respectively at an angle of 30, 60 and 90 degrees relative - to the main direction of the laser sheet. One can see the trapping of - radiation by the medium and the decrease of scattering intensity decreases - with the angle of observation, otherwise known as the scattering angle and - the decrease of the scattered intensity with the angle of observation. - </div> -</div> - -<p>No pre-compiled version of <code>htrdr</code> is provided; it must be -compiled directly from its source tree. A simple way is to rely on -<a href="https://gitlab.com/meso-star/star-build/">star-build</a>, -which automates the build and installation of <code>htrdr</code> and its -dependencies from source code. - -<h3>Prerequisites</h3> - -<p>To build <code>htrdr</code> with <code>star-build</code>, first make -sure your system has the following prerequisites:</p> - -<ul> - <li>POSIX shell</li> - <li>POSIX make</li> - <li>curl</li> - <li>git</li> - <li>mandoc</li> - <li>pkg-config</li> - <li>sha512sum</li> - <li>GNU Compiler Collection in version 8.3 or higher</li> - <li>netCDF4 library and headers</li> - <li>OpenMPI library and headers in version 2 or higher</li> -</ul> - -<h3>Build</h3> - -<p>Assuming that the aforementioned prerequisites are available, the -build procedure is summed up to:</p> - -<pre class="code"> -~ $ git clone \ - https://gitlab.com/meso-star/star-build.git -~ $ cd star-build -~/star-build $ make \ - PREFIX=~/htrdr_${VERSION} \ - BUILD=src/rad-apps/htrdr_${VERSION}.sh -</pre> - -<p>With <code>PREFIX</code> defining the path where <code>htrdr</code> -will be installed and <code>BUILD</code> defining the installation -script to be run.</p> - -<p>By default, the whole <code>htrdr</code> project is built but you may -prefer to deploy <code>htrdr</code> only for a specific application, -i.e. only for atmospheric radiative transfer, combustion processes or -planetary science. For example, to install only the atmospheric part of -<code>htrdr</code>:</p> - -<pre class="code"> -~/star-build $ make \ - PREFIX=~/htrdr_${VERSION} \ - BUILD=src/rad-apps/htrdr_${VERSION}.sh \ - ATMOSPHERE=ENABLE \ - COMBUSTION=DISABLE \ - PLANETS=DISABLE -</pre> - -<div class="img" style="width: 20em"> - <div style="width: 49.5%; float: left; padding-right: 1%" > - <a href="downward_flux_500x500x2048_sw_380_4000_879.349.jpg"> - <img src="downward_flux_500x500x2048_sw_380_4000_879.349.jpg" alt="downward_flux_sw"> - </a> - </div> - <div style="width: 49.5%; float: left; padding-right: 0%"> - <a href="downward_flux_500x500x2048_lw_4000_100000_425.156.jpg"> - <img src="downward_flux_500x500x2048_lw_4000_100000_425.156.jpg" alt="downward_flux_lw"> - </a> - </div> - <div class="caption"> - Shortwave (left) and longwave (right) downward flux density maps in - W/m<sup>2</sup> computed by <a - href="man/man1/htrdr-atmosphere.1.html">htrdr-atmosphere</a> at 1&nbsp;meter - height with the <a href=htrdr-atmosphere-spk.html>DZVAR</a> cloud field. The - shortwave and longwave spectral integration ranges are [0.38, 4]&nbsp;µm and - [4, 100]&nbsp;µm, respectively. Their spatially-avaraged flux is - 879.349&nbsp;W/m<sup>2</sup> in shortwave and 425.159&nbsp;W/m<sup>2</sup> - in longwave. In both cases, 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. - </div> -</div> - -<h3>Run</h3> - -<p>Evaluate the installed <code>htrdr.profile</code> file in the current -shell to register <code>htrdr</code> against it. You can then run -<code>htrdr</code> and consult its manual pages:</p> - -<pre class="code"> -~ $ . ~/htrdr_${VERSION}/etc/htrdr.profile -~ $ htrdr -h -~ $ man htrdr -</pre> - -<p>Refer to the Starter Packs -(<a href=htrdr-atmosphere-spk.html>atmosphere</a> or -<a href=htrdr-combustion-spk.html>combustion</a>), -to quickly run a <code>htrdr</code> rendering; these archives provide -input data and scripts that are good starting points to use -<code>htrdr</code>. - -${RELEASE_NOTES} - -<h2>History</h2> - -<p><code>htrdr</code> has been funded by the <a -href="https://anr.fr/Projet-ANR-21-CE49-0020">ANR Rad-Net</a> since -2021. |Méso|Star&gt; is subcontractor of the project.</p> - -<p><code>htrdr</code> was funded by the <a -href="https://anr.fr/Project-ANR-18-CE05-0015">ANR Astoria</a> from 2018 -to 2022. |Méso|Star&gt; was sub-contractor of the project.</p> - -<p><code>htrdr</code> was funded by the <a -href="https://www.ademe.fr/">ADEME</a> (MODEVAL-URBA-2019) from 2019 to -2022. |Méso|Star&gt; was partner of the project with <a -href="https://www.umr-cnrm.fr/">CNRM</a>.</p> - -<p><code>htrdr</code> was funded by the <a -href="https://anr.fr/Project-ANR-16-CE01-0010">ANR High-Tune</a> from -2016 to 2019. |Méso|Star&gt; was sub-contractor of the project. Visit -the <a href="http://www.umr-cnrm.fr/high-tune/?lang=en"> High-Tune -project web site</a>.</p> - -${COPYING} diff --git a/htrdr/htrdr.md.in b/htrdr/htrdr.md.in @@ -0,0 +1,353 @@ +# `htrdr` + +`htrdr` evaluates the intensity at any position (probe) of the scene, in +any direction, in the presence of *surfaces* and an *absorbing and +diffusing semi-transparent medium*, for both *internal* (longwave) or +*external* (shortwave) *radiation sources*. +The intensity is +calculated using the *Monte-Carlo* method: a number of optical paths are +simulated backward, from the probe position and into the medium. +Various algorithms are used, depending on the specificities of the +nature and shape of the radiation source. + +<video style="width:100%; text-align:center" controls poster="R8tr3.1.ARMCu.OUT.218.jpg"> + <source src="downloads/teapot_city_clouds.mp4" type="video/mp4"> +</video> + +> This film demonstrates the capacity of Monte-Carlo path-tracing +> methods to handle large scale ratios from large cloud fields to cities +> to buildings to trees and down to a teapot. +> The 4D cloud field has been produced by the +> Meso-NH +> ([Lafore et al. 1998](https://www.ann-geophys.net/16/90/1998/angeo-16-90-1998.html), +> [Lac et al. 2018](https://www.geosci-model-dev.net/11/1929/2018/)) +> Large Eddy model. +> Spectral materials are defined in particular from data from the +> Spectral Library of impervious Urban Materials +> ([Kotthaus et al. 2013](https://zenodo.org/record/4263842)). +> Each frame was rendered with +> [htrdr-atmosphere](man/man1/htrdr-atmosphere.1.html) +> using 8192 samples per pixel component. +> The resulting images are then +> post-processed with the [htpp](man/man1/htpp.1.html) program. +> Refer to the video for a complete description of how it was produced. + +Applications are theoretically possible to any configuration. +However, it all eventually comes down to the possibility of using the +physical data of interest, in their most common formats, in each +scientific community. +`htrdr` is currently suitable for three main application fields: + +1. [Atmospheric radiative transfer](man/man1/htrdr-atmosphere.1.html): a + clear-sky atmosphere is vertically stratified, neglecting Earth + sphericity, and described in terms of absorption coefficients as a + function of height and spectral quadrature point as per a + correlated-k model. + Cloud physical properties are provided on a 3D rectangular grid. + Surface geometrical and optical properties can be provided for an + arbitrary number of geometries. + Internal radiation and solar radiation are taken into account. + +2. [Combustion processes](man/man1/htrdr-combustion.1.html): + thermodynamic data is provided at the nodes of an unstructured + tetrahedral mesh, while surface properties can still be provided for + various materials. + The radiation source is only external: a monochromatic laser sheet + illuminates the inside of the combustion chamber for diagnostic + purposes. + +3. [Planetary science](man/man1/htrdr-planets.1.html): takes into + account the geometry of a "ground" of arbitrary shape, described by a + triangular mesh, with the possibility of using an arbitrary number of + materials. + The radiative properties of a gas mixture must be provided on a + tetrahedral mesh, using the k-distribution spectral model. + The radiative properties of an arbitrary number of aerosol and + hydrometeores can also be provided on their individual tetrahedral + mesh. + Calculations can be made for both internal and external radiation + sources. + In the case of an external source, a sphere of arbitrary size and + position is used. + This sphere can radiate as a Planck source at a specified brightness + temperature, or be associated with a high-resolution radiance + spectrum. + +[![Titan](thumbs/titan_1280x960x4096.jpg)](images/titan_1280x960x4096.jpg) + +> Images of Titan rendered with +> [htrdr-planets](man/man1/htrdr-planets.1.html). +> Its 3D atmosphere is composed of a gas mixture and two aerosol modes +> for haze and clouds. + +[![Titan transit](thumbs/titan_transit.jpg)](images/titan_transit.jpg) + +> Rendering of Titan in transit situation, i.e. the source is +> positioned behind Titan to simulate a solar eclipse by Titan. + +Since any radiative transfer observable is expressed as an integral of +the radiance, and since there is a strict equivalence between the +integral to be solved and the underlying Monte-Carlo algorithm (each +integral is associated with the sampling of a random variable), the +algorithms that calculate the radiance are used for computing various +quantities: + +- *Images* on a camera sensor, in a given field of view. + For combustion applications, only monochromatic images are supported. + In atmospheres and in planetary science, spectral integration is also + possible, both for solar and thermal images: CIE colorimetry is used + for solar images, while thermal images are in fact brightness + temperature maps, obtained from the incoming radiative flux over a + specified spectral interval. + +- *Flux density maps*, on a grid of sensors, integrated over an entire + hemisphere. + In the case of combustion chambers, flux density maps can be + calculated, while spectrally integrated flux density maps are also + possible for atmospheric application, both for solar and thermal + radiation. + +[![Clouds](thumbs/CLEMENT.jpg)](images/CLEMENT.jpg) + +[![Clouds infrared](thumbs/CLEMENT_lw_9000_10000.jpg)](images/CLEMENT_lw_9000_10000.jpg) + +> Images rendered with +> [htrdr-atmosphere](man/man1/htrdr-atmosphere.1.html) +> of a 1000³ cloud field produced by the Meso-NH +> ([Lafore et al. 1998](https://www.ann-geophys.net/16/90/1998/angeo-16-90-1998.html), +> [Lac et al. 2018](https://www.geosci-model-dev.net/11/1929/2018/)) +> Large Eddy Model. +> The initial conditions and model set-up for the simulation are +> described in +> [Strauss et al. 2019](https://rmets.onlinelibrary.wiley.com/doi/full/10.1002/qj.3614). +> The infrared rendering is calculated in [9, 10]&nbsp;µm spectral range; +> the color map displays the brightness temperature in Kelvin. + +## Related articles + +- [Caliot et al. 2022](https://doi.org/10.1007/s10546-022-00750-5), + "Model of Spectral and Directional Radiative Transfer in Complex Urban + Canopies with Participating Atmospheres", Boundary-Layer Meteorology + ([open access](https://hal.science/hal-03813906/)) + +- [Villefranque et al. 2022](https://doi.org/10.1126/sciadv.abp8934), + "The “teapot in a city”: A paradigm shift in urban climate modeling", + Science Advances + ([open access](https://arxiv.org/abs/2204.14227)) + +- [Sans et al. 2021](https://doi.org/10.1016/j.jqsrt.2021.107725) + "Null-collision meshless Monte Carlo - A new reverse Monte Carlo + algorithm designed for laser-source emission in absorbing/scattering + inhomogeneous media", Journal of Quantitative Spectroscopy and + Radiative Transfer + ([open access](https://imt-mines-albi.hal.science/hal-03224186v1)) + +- [Villefranque et al. 2019](https://doi.org/10.1029/2018MS001602) + "A Path-Tracing Monte Carlo Library for 3-D Radiative Transfer in + Highly Resolved Cloudy Atmospheres", Journal of Advances in Modeling + Earth Systems + ([open access](https://arxiv.org/abs/1902.01137)) + + +<span id="rel_projects"/> + +## Related projects + +`htrdr` has been used, developped and extended in the following +research projects: + +- The development of `htrdr` began with the + [High-Tune](https://anr.fr/Projet-ANR-16-CE01-0010) project. + Originally, it simulated the radiative transfer of an *external source* + (solar) in a scene composed of a triangulated ground and an + *atmosphere*, neglecting Earth sphericity, in the presence of a *cloud + field* provided over a structured grid. + It was later extended in order to take into account a *non-gray + surface*, and the possibility to perform radiative transfer + computations for a *internal source* (ground and atmosphere). + +- In project + [ModRadUrb](https://www.umr-cnrm.fr/spip.php?article1204) the + emphasis was put on taking into account the representation of *complex + geometries* (detailled city scenes) using *spectral properties of an + arbitrary number of materials*. + The solver was extended to solve upward and downward *hemispherical + atmospheric fluxes* on a plane positioned anywhere in the scene, both + in the visible and the infrared spectral ranges. + +- In project + [MCG-RaD](https://anr.fr/Projet-ANR-18-CE46-0012) + the `htrdr` codebase was used to explore a whole new class of + radiative transfer algorithms: instead of relying on the full + atmospheric radiative properties data set (prerequisite for current + algorithms), the so-called *line sampling* algorithms will *not* + require *nor* compute the absorption coefficient of the atmosphere. + Instead, it will sample energetic transitions and use a Line-by-Line + parameters database (such as [HITRAN](https://hitran.org/)) in order + to perform a *rigorous spectral integration*, both in the visible and + the infrared spectral ranges. + +- In project + [Astoria](https://anr.fr/Project-ANR-18-CE05-0015). + `htrdr` was used to produce images in the visible, in the presence + of *combustion chambers* where radiation scattering is performed by soot + aggregates. + One of the main difficulty resides in the fact that the chamber is + *illuminated by a laser*: the classical solar radiative transfer + algorithm then fails to converge because of the collimated radiation + source, and a + [new algorithm](https://doi.org/10.1016/j.jqsrt.2021.107725) + was thus designed in order to ensure numerical convergence. + +- In project + [Rad-Net](https://anr.fr/Projet-ANR-21-CE49-0020) + `htrdr` was adapted for applications in *planetary science* and + *astrophysics*. + The application is now a scene composed of an *arbitrary number of + solid surfaces* (a planet, satellites) represented by triangular + meshes and materials which describe their *spectral + reflectivity/emissivity* properties. + The *3D atmopshere* is defined by a number of participating + semi-transparent media (a gas mixture and an arbitrary number of + aerosol modes) whose radiative properties are provided at the nodes of + a *unstructured tetrahedral volumetric grid*, independant for ach + medium. + +[![Gulder horizontal slides](thumbs/gulder_horizontal_slides.jpg)](images/gulder_horizontal_slides.jpg) + +> Renderings in the visible range calculated by +> [htrdr-combustion](man/man1/htrdr-combustion.1.html) of a laminar +> sooting flame seen from above and illuminated by a laser sheet. +> The images display radiation that is emitted by the laser, scattered +> and transmitted by the combustion medium. +> The laser sheet is horizontal, and intersects the medium at various +> heights. +> One can see the difference in the scattered signal between the left +> and right parts of the image; since the laser propagates from the left +> to the right, it is progressively attenuated while traveling the +> medium. +> The intensity of radiation subject to scattering therefore decreases. +> In addition to these trapping effect these images provide some insight +> about the scattering cross-section of the medium as a function of +> height. +> Scattering properties of soot gradually increase from the injection +> position to a height of approximately 35 mm. +> A steep decrease follows: +> the image for a height of 40 mm is very similar to the image obtained +> at 10 mm. + +## Installation + +No pre-compiled version of `htrdr` is provided; +it must be compiled directly from its source tree. A simple way is to +rely on [star-build](https://gitlab.com/meso-star/star-build/), which +automates the build and installation of `htrdr` and its dependencies +from source code. + +### Prerequisites + +To build `htrdr` with `star-build`, first make sure your system has the +following prerequisites: + +- POSIX shell +- POSIX make +- curl +- git +- mandoc +- pkg-config +- sha512sum +- GNU Compiler Collection in version 8.3 or higher +- netCDF4 library and headers +- OpenMPI library and headers in version 2 or higher + +### Build + +Assuming that the aforementioned prerequisites are available, the build +procedure is summed up to: + + git clone https://gitlab.com/meso-star/star-build.git + cd star-build + make \ + PREFIX=~/htrdr_@VERSION@ \ + BUILD=src/rad-apps/htrdr_@VERSION@.sh + +With `PREFIX` defining the path where `htrdr` will be installed and +`BUILD` defining the installation script to be run. + +By default, the whole `htrdr` project is built but you may prefer to +deploy `htrdr` only for a specific application, i.e. only for +atmospheric radiative transfer, combustion processes or planetary +science. +For example, to install only the atmospheric part of `htrdr`: + + make \ + PREFIX=~/htrdr_@VERSION@ \ + BUILD=src/rad-apps/htrdr_@VERSION@.sh \ + ATMOSPHERE=ENABLE \ + COMBUSTION=DISABLE \ + PLANETS=DISABLE + +### Run + +Evaluate the installed `htrdr.profile` file in the current +shell to register `htrdr` against it. You can then run +`htrdr` and consult its manual pages: + + . ~/htrdr_${VERSION}/etc/htrdr.profile + htrdr -h + man htrdr + +Refer to the Starter Packs +([atmosphere](htrdr-atmosphere-spk.html), +[combustion](htrdr-combustion-spk.html) or +[planets](htrdr-planets-spk.html)) +to quickly run a `htrdr` calculation; these archives provide input data +and scripts that are good starting points to use `htrdr`. + +[![Downward ShortWave flux](thumbs/downward_flux_500x500x2048_sw_380_4000_879.349.jpg)]( +images/downward_flux_500x500x2048_sw_380_4000_879.349.jpg) + +> Shortwave downward flux density maps in W/m² computed by +> [htrdr-atmosphere](man/man1/htrdr-atmosphere.1.html) +> at 1 meter height with the [DZVAR](htrdr-atmosphere-spk.html) cloud +> field. +> The sun is located at the zenith. +> The spectral integration range is [0.38, 4] µm . +> Its spatially-avaraged flux is 879.349 W/m² . +> One can observe the contrast between the shadows of the clouds and +> fully illuminated areas. + +[![Downward LongWave flux](thumbs/downward_flux_500x500x2048_lw_4000_100000_425.156.jpg)]( +images/downward_flux_500x500x2048_lw_4000_100000_425.156.jpg) + +> Longwave downward flux density maps in W/m² computed on the same scene +> of the previous image. +> The spectral integration ranges is [4, 100] µm. +> Its spatially-avaraged is 425.159 W/m². +> Note 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. + +## History + +`htrdr` has been funded by the +[ANR Rad-Net](https://anr.fr/Projet-ANR-21-CE49-0020) since 2021. +|Méso|Star> is subcontractor of the project. + +`htrdr` was funded by the +[ANR Astoria](https://anr.fr/Project-ANR-18-CE05-0015) +from 2018 to 2022. +|Méso|Star> was sub-contractor of the project. + +`htrdr` was funded by the +[ADEME](https://www.ademe.fr/) (MODEVAL-URBA-2019) from 2019 to 2022. +|Méso|Star> was partner of the project with +[CNRM](https://www.umr-cnrm.fr/). + +`htrdr` was funded by the +[ANR High-Tune](https://anr.fr/Project-ANR-16-CE01-0010) from +2016 to 2019. +|Méso|Star> was sub-contractor of the project. +Visit the +[High-Tune project web site](http://www.umr-cnrm.fr/high-tune/?lang=en) diff --git a/htrdr/htrdr_build.sh b/htrdr/htrdr_build.sh @@ -24,21 +24,13 @@ overview() exit 1 fi - readme=$(${markdown} "$1") - release_notes=$(echo "${readme}" \ - | sed -n '/^<h2>Release notes<\/h2>/,/^<h2>Copyright notice<\/h2>/p' \ - | sed '$d' \ - | sed 's/https:\/\/gitlab.com\/meso-star\/htrdr\/-\/blob\/master\/doc\/htrdr-materials\.5\.txt/man\/man5\/htrdr-materials.5.html/g' \ - | sed 's/https:\/\/gitlab.com\/meso-star\/htrdr\/-\/blob\/master\/doc\/htrdr-obj\.5\.txt/man\/man5\/htrdr-obj.5.html/g' \ - | sed 's/https:\/\/gitlab.com\/meso-star\/mrumtl\/-\/blob\/master\/doc\/mrumtl\.5\.txt/man\/man5\/mrumtl.5.html/g' \ - | sed 's/^<h2>Release notes/<h2 id=release_notes>Release notes/') - - copying=$(echo "${readme}" \ - | sed -n '/^<h2>Copyright notice<\/h2>/,$p' \ - | sed 's/opyright (C)/opyright \&#169;/g') - print_header -s htrdr -n Overview -r ../ - VERSION=$2 RELEASE_NOTES="${release_notes}" COPYING="${copying}" envsubst < htrdr.html.in + sed "s/@VERSION@/$2/g" htrdr.md.in | md2html + sed -n '/## Release notes/,$p' "$1" \ + | sed 's/https:\/\/gitlab.com\/meso-star\/htrdr\/-\/blob\/master\/doc\/htrdr-materials\.5\.txt/man\/man5\/htrdr-materials.5.html/g' \ + | sed 's/https:\/\/gitlab.com\/meso-star\/htrdr\/-\/blob\/master\/doc\/htrdr-obj\.5\.txt/man\/man5\/htrdr-obj.5.html/g' \ + | sed 's/https:\/\/gitlab.com\/meso-star\/mrumtl\/-\/blob\/master\/doc\/mrumtl\.5\.txt/man\/man5\/mrumtl.5.html/g' \ + | md2html print_footer } diff --git a/htrdr/images/CLEMENT.jpg b/htrdr/images/CLEMENT.jpg @@ -0,0 +1 @@ +#$# git-wad 1c9c25bce6b563d939acd0e918e6734d860a2f951eac6b75b64ebbc67afa300a 280512 +\ No newline at end of file diff --git a/htrdr/CLEMENT_lw_9000_10000.jpg b/htrdr/images/CLEMENT_lw_9000_10000.jpg diff --git a/htrdr/downward_flux_500x500x2048_lw_4000_100000_425.156.jpg b/htrdr/images/downward_flux_500x500x2048_lw_4000_100000_425.156.jpg diff --git a/htrdr/downward_flux_500x500x2048_sw_380_4000_879.349.jpg b/htrdr/images/downward_flux_500x500x2048_sw_380_4000_879.349.jpg diff --git a/htrdr/gulder_horizontal_slides.jpg b/htrdr/images/gulder_horizontal_slides.jpg diff --git a/htrdr/titan_1280x960x4096.jpg b/htrdr/images/titan_1280x960x4096.jpg diff --git a/htrdr/titan_transit.jpg b/htrdr/images/titan_transit.jpg diff --git a/htrdr/thumbs/CLEMENT.jpg b/htrdr/thumbs/CLEMENT.jpg @@ -0,0 +1 @@ +#$# git-wad 9515ba1dec3ec73f40574dff0f4314b6c1eb87d4d1f2697d63f4f9e96f7b1434 58829 +\ No newline at end of file diff --git a/htrdr/thumbs/CLEMENT_lw_9000_10000.jpg b/htrdr/thumbs/CLEMENT_lw_9000_10000.jpg @@ -0,0 +1 @@ +#$# git-wad 99b859d0767e7d0f47776415758d0e1ca46573740b576319220cfbd447873924 55760 +\ No newline at end of file diff --git a/htrdr/thumbs/black.jpg b/htrdr/thumbs/black.jpg @@ -0,0 +1 @@ +#$# git-wad 518628c05a94d65ef74c29d149706628da442b845b69c984ad7fa1e783658808 1686 +\ No newline at end of file diff --git a/htrdr/thumbs/black.png b/htrdr/thumbs/black.png @@ -0,0 +1 @@ +#$# git-wad 208a4b3515dbf8c799f762ba001327e6c5ffb4c5f31c8f24a8b819edf232164e 1430 +\ No newline at end of file diff --git a/htrdr/thumbs/downward_flux_500x500x2048_lw_4000_100000_425.156.jpg b/htrdr/thumbs/downward_flux_500x500x2048_lw_4000_100000_425.156.jpg @@ -0,0 +1 @@ +#$# git-wad 351706fd619ce6bfc39396d09a9c5db48490cdf26647b2dfcd9d995662b1c241 60439 +\ No newline at end of file diff --git a/htrdr/thumbs/downward_flux_500x500x2048_sw_380_4000_879.349.jpg b/htrdr/thumbs/downward_flux_500x500x2048_sw_380_4000_879.349.jpg @@ -0,0 +1 @@ +#$# git-wad b64cccb62886b009c460cdda3354f38882f074c3f8f167bf5d038f6fd2a9d56d 70609 +\ No newline at end of file diff --git a/htrdr/thumbs/gulder_horizontal_slides.jpg b/htrdr/thumbs/gulder_horizontal_slides.jpg @@ -0,0 +1 @@ +#$# git-wad c49fe93c38dd00036f92cc2abf1d4c8fa97e60f5417ba1251ee2ccf55543e12b 30394 +\ No newline at end of file diff --git a/htrdr/thumbs/titan_1280x960x4096.jpg b/htrdr/thumbs/titan_1280x960x4096.jpg @@ -0,0 +1 @@ +#$# git-wad fe6e8b6406434c72c45d536d3c184793b697d8cc607bc61dfcad889ac7dd37c8 15158 +\ No newline at end of file diff --git a/htrdr/thumbs/titan_1280x960x4096_2.jpg.jpg b/htrdr/thumbs/titan_1280x960x4096_2.jpg.jpg @@ -0,0 +1 @@ +#$# git-wad c94e2a6d072802983241e05bd8334e558e65eeef2a9fa9f67daedef410eb98d6 25905 +\ No newline at end of file diff --git a/htrdr/thumbs/titan_transit.jpg b/htrdr/thumbs/titan_transit.jpg @@ -0,0 +1 @@ +#$# git-wad 4a339391b814a24d79a146b8b0bb53e4e58958761aed9fced1d4090e5c299200 13702 +\ No newline at end of file