commit 35b422e400bb18100de6d5973e88a51f0fd8cf04
parent 439427c4d6681d9929676de25864fa89c759c0ad
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 18 Jul 2025 18:12:37 +0200
ART: begin the markdown translation
Diffstat:
| M | art/Makefile | | | 8 | ++++---- |
| D | art/art.html.in | | | 68 | -------------------------------------------------------------------- |
| A | art/art.md | | | 64 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| M | art/art_build.sh | | | 8 | ++++---- |
| D | art/hr_ppart.html.in | | | 135 | ------------------------------------------------------------------------------- |
| A | art/hr_ppart.md | | | 115 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| D | art/kdistribution.html.in | | | 85 | ------------------------------------------------------------------------------- |
| A | art/kdistribution.md | | | 83 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| D | art/kspectrum.html.in | | | 176 | ------------------------------------------------------------------------------- |
| A | art/kspectrum.md | | | 169 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
10 files changed, 439 insertions(+), 472 deletions(-)
diff --git a/art/Makefile b/art/Makefile
@@ -73,19 +73,19 @@ art_build.sh: ../meso-menu.sh
################################################################################
# html
################################################################################
-art.html: art.html.in art_build.sh
+art.html: art.md art_build.sh
@echo "Building $@"
@$(SHELL) art_build.sh overview > $@
-kspectrum.html: kspectrum.html.in art_build.sh Makefile $(KSPECTRUM_IMG)
+kspectrum.html: kspectrum.md art_build.sh Makefile $(KSPECTRUM_IMG)
@echo "Building $@"
@$(SHELL) art_build.sh kspectrum $(KSPECTRUM_VERSION) > $@
-kdistribution.html: kdistribution.html.in art_build.sh Makefile
+kdistribution.html: kdistribution.md art_build.sh Makefile
@echo "Building $@"
@$(SHELL) art_build.sh kdistribution $(KDISTRIBUTION_VERSION) > $@
-hr_ppart.html: hr_ppart.html.in art_build.sh $(HR_PPART_IMG)
+hr_ppart.html: hr_ppart.md art_build.sh $(HR_PPART_IMG)
@echo "Building $@"
@$(SHELL) art_build.sh hr_ppart > $@
diff --git a/art/art.html.in b/art/art.html.in
@@ -1,68 +0,0 @@
-<header>
- <h1>Atmospheric Radiative Transfer</h1>
-</header>
-
-<p>We propose a number of open-source codes selected within our
-<b>A</b>tmospheric <b>R</b>adiative <b>T</b>ransfer toolchain. Each code is
-released under the copyleft licenses, which means anyone has the right to modify
-and redistribute the code within specific conditions; please refer to their
-license for details.</p>
-
-The codes currently available are briefly described bellow.
-
-<h3><a href="kspectrum.html">Kspectrum</a></h3>
-
-<p>produces high-resolution synthetic spectra of any gas mixture, in arbitrary
-thermodynamic conditions (pressure, temperature and molar composition) from
-public spectroscopic databases. Please note this code does NOT compute
-application-specific opacities (collision-induced absorption, continua, ...)
-and does NOT perform radiative transfer computations. This is all about adding
-energetic transitions contributions.</p>
-
-<h3><a href="kdistribution.html">Kdistribution</a></h3>
-
-<p>produces k-distribution data sets from the high-resolution spectra that have
-been produced by kspectrum. The output spectral data is intended to be used
-subsequently by radiative transfer codes that are based on the k-distribution
-spectral model.</p>
-
-<h3><a href="hr_ppart.html">HR_PPart</a></h3>
-
-<p>performs atmospheric radiative transfer computations using high-resolution
-spectra produced by kspectrum. This code is based on analytic radiative
-transfer solutions, and is suitable for non-scattering atmospheres: in the case
-of the terrestrial atmosphere, it means in the LW, and for clear-sky
-configurations only. This version is intended to be used in the case of the
-terrestrial atmosphere: it can compute collision-induced opacities and also the
-water vapour continuum, in order to add these opacities to high-resolution
-spectra, before actually performing radiative transfer computations.</p>
-
-<h3><a href="ppart_lw.html">PPart_LW</a></h3>
-
-<p>performs atmospheric radiative transfer computations using the
-k-distribution spectral model, in the LW part of the spectrum. This code is
-based on the same analytic solutions of radiative transfer than HR_PPart. It
-was recently updated to use a variable quadrature order in each spectral
-interval. The atmosphere is supposed to absorb and emit radiation (LW
-computation).</p>
-
-
-<h3><a href="ppart_sw.html">PPart_SW</a></h3>
-
-<p>performs atmospheric radiative transfer computations using the
-k-distribution spectral model, in the SW part of the spectrum. Even if it is
-based on the same analytic radiative transfer solutions than HR_PPart and
-PPart_LW, and should therefore not be suitable for the SW range because of
-Rayleigh scattering, we still maintain this tool as a toy model: the atmosphere
-is supposed to absorb solar radiation only: scattering and self-emission are
-neglected.</p>
-
-<h3><a href="karine.html">Karine</a></h3>
-
-<p>performs atmospheric radiative transfer computations using the
-k-distribution spectral model, in the LW part of the spectrum. This code is
-based on a Monte-Carlo algorithm, which means scattering (both by the gas and
-by clouds) is taken into account. A inhomogeneous atmosphere is stratified into
-a succession of homogeneous layers, that can also contain cloud particles and
-aerosol particles.</p>
-
diff --git a/art/art.md b/art/art.md
@@ -0,0 +1,64 @@
+# Atmospheric Radiative Transfer
+
+We propose a number of open-source codes selected within our
+*A*tmospheric *R*adiative *T*ransfer toolchain.
+Each code is released under the copyleft licenses, which means anyone
+has the right to modify and redistribute the code within specific
+conditions; please refer to their license for details.
+
+The codes currently available are briefly described bellow :
+
+- [Kspectrum](kspectrum.html) produces high-resolution synthetic spectra
+ of any gas mixture, in arbitrary thermodynamic conditions (pressure,
+ temperature and molar composition) from public spectroscopic
+ databases.
+ Please note this code does *NOT* compute application-specific
+ opacities (collision-induced absorption, continua, ...) and does *NOT*
+ perform radiative transfer computations.
+ This is all about adding energetic transitions contributions.
+
+- [Kdistribution](kdistributio.html) produces k-distribution data sets
+ from the high-resolution spectra that have been produced by kspectrum.
+ The output spectral data is intended to be used subsequently by
+ radiative transfer codes that are based on the k-distribution spectral
+ model.
+
+- [HR\_PPart](hr_ppart.html) performs atmospheric radiative transfer
+ computations using high-resolution spectra produced by kspectrum.
+ This code is based on analytic radiative transfer solutions, and is
+ suitable for non-scattering atmospheres: in the case of the
+ terrestrial atmosphere, it means in the LW, and for clear-sky
+ configurations only.
+ This version is intended to be used in the case of the terrestrial
+ atmosphere: it can compute collision-induced opacities and also the
+ water vapour continuum, in order to add these opacities to
+ high-resolution spectra, before actually performing radiative transfer
+ computations.
+
+- [PPart\_LW](ppart_lw.html) performs atmospheric radiative transfer
+ computations using the k-distribution spectral model, in the LW part
+ of the spectrum.
+ This code is based on the same analytic solutions of radiative
+ transfer than HR\_PPart.
+ It was recently updated to use a variable quadrature order in each
+ spectral interval.
+ The atmosphere is supposed to absorb and emit radiation (LW
+ computation).
+
+- [PPart\_SW](ppart_sw.html) performs atmospheric radiative transfer
+ computations using the k-distribution spectral model, in the SW part
+ of the spectrum.
+ Even if it is based on the same analytic radiative transfer solutions
+ than HR\_PPart and PPart\_LW, and should therefore not be suitable for
+ the SW range because of Rayleigh scattering, we still maintain this
+ tool as a toy model: the atmosphere is supposed to absorb solar
+ radiation only: scattering and self-emission are neglected.
+
+- [Karine](karine.html) performs atmospheric radiative transfer
+ computations using the k-distribution spectral model, in the LW part
+ of the spectrum.
+ This code is based on a Monte-Carlo algorithm, which means scattering
+ (both by the gas and by clouds) is taken into account.
+ A inhomogeneous atmosphere is stratified into a succession of
+ homogeneous layers, that can also contain cloud particles and aerosol
+ particles.
diff --git a/art/art_build.sh b/art/art_build.sh
@@ -20,7 +20,7 @@
overview()
{
print_header -s ART -n Overview -r ../
- cat art.html.in
+ md2html art.md
print_footer
}
@@ -32,7 +32,7 @@ kspectrum()
fi
print_header -s ART -n Kspectrum -r ../
- VERSION="$1" envsubst < kspectrum.html.in
+ sed "s/@VERSION@/$1/g" kspectrum.md | md2html
print_footer
}
@@ -44,14 +44,14 @@ kdistribution()
fi
print_header -s ART -n Kdistribution -r ../
- VERSION="$1" envsubst < kdistribution.html.in
+ sed "s/@VERSION@/$1/g" kdistribution.md | md2html
print_footer
}
hr_ppart()
{
print_header -s ART -n HR_PPart -r ../
- cat hr_ppart.html.in
+ md2html hr_ppart.md
print_footer
}
diff --git a/art/hr_ppart.html.in b/art/hr_ppart.html.in
@@ -1,135 +0,0 @@
-<header>
- <h1>HR PPart
- <span class=subtitle>
- High-Resolution Plane-Parallel atmospheric radiative transfer
- </span>
- </h1>
-</header>
-
-<div class="news">
- <p><b>Download HR_PPart</b></p>
- <ul>
- <li>Sources:
- <a href="downloads/hr_ppart.tgz">tarball</a> /
- <a href="downloads/hr_ppart.tgz.sig">pgp</a></li>
- </ul>
-</div>
-
-<p>The purpose of HR_PPart is to perform radiative transfer computations using
-high-resolution spectra that have been produced using <a
-href="kspectrum.html">Kspectrum</a>. Radiative transfer will actually be
-computed for every wavenumber that defines the input high-resolution spectra.
-This code is based on analytic radiative transfer solutions that are valid only
-in the case of a emitting and absorbing, but non-scattering, atmosphere. This
-code should therefore be used, in the case of the terrestrial atmosphere, for
-clear-sky LW computations only. However, this code provides the possibility to
-use cloud data: the scattering optical thickness is then partly integrated in
-the absorption optical thickness. This is only an approximation, not intended
-to provide accurate results. Reference results are only achieved for a purely
-absorbing atmosphere.</p>
-
-<h2>Installation</h2>
-
-<div class="img" style="width: 20em">
- <a href="emission_altitude_500-505.svg">
- <img src="emission_altitude_500-505.svg" alt="emission-altitude_500-505">
- </a>
- <div class="caption">
- Emission altitude signal in the [500-505] inv. cm spectral range, for a
- Mid-Latitude Summer standard atmosphere.
- </div>
-</div>
-
-<p>Download and extract the archive (<code>tar -zxvf hr_ppart.tgz</code>); then
-move into the HR_PPart directory, and use the <code>make all</code> command to
-compile. You should use the <code>make clean</code> command in the case you
-want to recompile from scratch only (when include files are modified). If only
-source files are modified, the <code>make all</code> command will recompile
-modified files.</p>
-
-<p>HR_PPart has been parallelized, which means you will have to launch it using
-the "mpirun" command:</p>
-
-<pre class=code>
-mpirun -np <NPROCS> ./analytic_RT.exe
-</pre>
-
-<p>with <code><NPROCS></code> the number of processes requested for the
-computation; MacOS users might encounter a error where the OS considers the
-user requested a number of processes higher than recommended. You can bypass it
-using the <code>-oversubscribe</code> option:</p>
-
-<pre class=code>
-mpirun -oversubscribe -np <NPROCS>./analytic.exe
-</pre>
-
-<p><b>Prerequistes</b>: only a fortran compiler is needed (no external
-libraries). the "gfortran" compiler has been used for development, but other
-common compilers should work too (ifort, pgfortran, <i>etc.</i>).</p>
-
-<h2>Usage</h2>
-
-<div class="img" style="width: 20em">
- <a href="Te_signal_500-505.svg">
- <img src="Te_signal_500-505.svg" alt="Te_signal_500-505">
- </a>
- <div class="caption">
- Emission temperature signal in the [500-505] inv. cm spectral range, for a
- Mid-Latitude Summer standard atmosphere.
- </div>
-</div>
-
-<p>Before performing a computation, you should specify where high-resolution
-spectra of interest are located: you need to provide a link named
-<code>hires_spectra</code> within the <code>/data</code> directory. This link
-should be pointing to a directory that contains all spectra produced by
-Kspectrum for a given atmospheric profile, in addition to the
-<code>composition.in</code> and <code>molparam.in</code> files used by
-Kspectrum in order to produce these spectra. This directory should also contain
-a simple ascii file named <code>profile_parameters.in</code> with the following
-structure:</p>
-
-<pre class=code>
-Input data for program "analytic_RT"
-
-Temperature of ground (K)
-294.0D+0
-Temperature of space (K)
-3.0D+0
-Ground emissivity
-1.0D+0
-</pre>
-
-Simulation input is provided through the <code>data.in</code> and
-<code>options.in</code> files (located in the main <code>HR_PPart</code>
-directory):
-
-<ul>
- <li> the <code>options.in</code> file provides the possibility to perform a
- angular integration, or perform a single-direction radiative transfer
- computation. It provides the possibility to use a specular or a diffuse
- reflective ground. It provides many options for pre-computing spectral data
- (collision-induced opacities, water continuum). The last options provide a
- way to disable the computation of time-consuming results, and also to disable
- the recording of specific spectral data, which should further speed up the
- computation.</li>
-
- <li> the <code>data.in</code> file lets the user specify the spectral
- integration domain, the probe pressure (some results are computed at a given
- "probe" pressure level) and the direction to use for a single-direction
- radiative transfer computation.</li>
-</ul>
-
-<p>Results are located into the <code>/results</code> directory; several
-gnuplot scripts are provided in order to visualise various results.</p>
-
-<h2>License</h2>
-
-<p>Copyright © 2014-2018 Centre National de la Recherche Scientifique
-(CNRS), <a href="mailto:contact@meso-star.com">|Méso|Star></a>.</p>
-
-<p>HR_PPart is free software released under the CeCILL v2.1 license. You are
-welcome to redistribute it under certain conditions; refer to the <a
-href="http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt">license</a>
-for details.</p>
-
diff --git a/art/hr_ppart.md b/art/hr_ppart.md
@@ -0,0 +1,115 @@
+# HR\_PPart
+
+The purpose of HR\_PPart is to perform radiative transfer computations
+using high-resolution spectra that have been produced using
+[Kspectrum](kspectrum.html).
+Radiative transfer will actually be computed for every wavenumber that
+defines the input high-resolution spectra.
+This code is based on analytic radiative transfer solutions that are
+valid only in the case of a emitting and absorbing, but non-scattering,
+atmosphere.
+This code should therefore be used, in the case of the terrestrial
+atmosphere, for clear-sky LW computations only.
+However, this code provides the possibility to use cloud data: the
+scattering optical thickness is then partly integrated in the absorption
+optical thickness.
+This is only an approximation, not intended to provide accurate results.
+Reference results are only achieved for a purely absorbing atmosphere.
+
+[](emission_altitude_500-505.svg)
+
+> Emission altitude signal in the [500-505] inv. cm spectral range, for
+> a Mid-Latitude Summer standard atmosphere.
+
+[](Te_signal_500-505.svg)
+
+> Emission temperature signal in the [500-505] inv. cm spectral range,
+> for a Mid-Latitude Summer standard atmosphere.
+
+## Quick start
+
+- Sources: [tarball](downloads/hr_ppart.tgz) /
+ [pgp](downloads/hr_ppart.tgz.sig)
+
+### Prerequisites
+
+Only a fortran compiler is needed (no external libraries).
+The "gfortran" compiler has been used for development, but other common
+compilers should work too (ifort, pgfortran, etc.).
+
+### Installation
+
+Download and extract the archive (`tar -zxvf hr_ppart.tgz`); then move
+into the HR\_PPart directory, and use the `make all` command to compile.
+You should use the `make clean` command in the case you want to
+recompile from scratch only (when include files are modified).
+If only source files are modified, the `make all` command will recompile
+modified files.
+
+HR\_PPart has been parallelized, which means you will have to launch it
+using the "mpirun" command:
+
+ mpirun -np <NPROCS> ./analytic_RT.exe
+
+with `<NPROCS>` the number of processes requested for the computation;
+MacOS users might encounter a error where the OS considers the user
+requested a number of processes higher than recommended.
+You can bypass it using the `-oversubscribe` option:
+
+ mpirun -oversubscribe -np <NPROCS> ./analytic.exe
+
+## Usage
+
+Before performing a computation, you should specify where
+high-resolution spectra of interest are located: you need to provide a
+link named `hires_spectra` within the `/data` directory.
+This link should be pointing to a directory that contains all spectra
+produced by Kspectrum for a given atmospheric profile, in addition to
+the `composition.in` and `molparam.in` files used by Kspectrum in order
+to produce these spectra.
+This directory should also contain a simple ascii file named
+`profile_parameters.in` with the following structure:
+
+ Input data for program "analytic_RT"
+
+ Temperature of ground (K)
+ 294.0D+0
+ Temperature of space (K)
+ 3.0D+0
+ Ground emissivity
+ 1.0D+0
+
+Simulation input is provided through the `data.in` and `options.in`
+files (located in the main `HR_PPart` directory):
+
+- the `options.in` file provides the possibility to perform a angular
+ integration, or perform a single-direction radiative transfer
+ computation.
+ It provides the possibility to use a specular or a diffuse reflective
+ ground.
+ It provides many options for pre-computing spectral data
+ (collision-induced opacities, water continuum).
+ The last options provide a way to disable the computation of
+ time-consuming results, and also to disable the recording of specific
+ spectral data, which should further speed up the computation.
+
+- the `data.in` file lets the user specify the spectral
+ integration domain, the probe pressure (some results are computed at a given
+ "probe" pressure level) and the direction to use for a single-direction
+ radiative transfer computation.
+
+Results are located into the `/results` directory; several
+gnuplot scripts are provided in order to visualise various results.
+
+## License
+
+Copyright © 2014-2018 Centre National de la Recherche Scientifique (CNRS)
+Copyright © 2014-2018 |Méso|Star>
+([contact@meso-star.com](mailto:contact@meso-star.com))
+
+HR\_PPart is free software released under the CeCILL v2.1 license.
+You are welcome to redistribute it under certain conditions; refer to
+the
+[license](http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt)
+for details.
+
diff --git a/art/kdistribution.html.in b/art/kdistribution.html.in
@@ -1,85 +0,0 @@
-<header>
- <h1>Kdistribution
- <span class=subtitle>
- Production of k-distribution data sets
- </span>
- </h1>
-</header>
-
-<div class="news">
- <p><b>Download Kdistribution ${VERSION}</b></p>
- <ul>
- <li>Sources:
- <a href="downloads/kdistribution_light${VERSION}.tgz">tarball</a> /
- <a href="downloads/kdistribution_light${VERSION}.tgz.sig">pgp</a></li>
- <li>Installation script:
- <a href="downloads/install_kdistribution_light${VERSION}.bash">bash</a></li>
- <li>Manual:
- <a href="downloads/kdistribution_light${VERSION}_manual.pdf">pdf</a></li>
- </ul>
-</div>
-
-<p>Kdistribution computes k-distribution data sets from high-resolution spectra
-that have been produced by <a href="kspectrum.html">Kspectrum</a>. The user
-should specify some basic information to the code by editing the
-<code>options.in</code> and <code>data.in</code> input files:</p>
-
-<ul>
- <li><code>options.in</code>: various quadratures can be selected; a Legendre
- quadrature is used by default. Then the quadrature order should be specified,
- and various quadrature-dependant parameters can be adjusted. One interesting
- option is the possibility to use quadratic splines over high-resolution
- spectra instead of a linear interpolation between two successive values of
- the absorption coefficient.</li>
-
- <li><code>data.in</code>: lets the user specify the first and last levels of
- the high-resolution spectra set that should be converted to k-distribution
- data.</li>
-</ul>
-
-<p>Before using the code, the user should create a link named
-<code>hires_spectra</code> within the <code>/data</code> directory; this link
-should be pointing to the directory that contains the high-resolution spectra
-produced by Kspectrum for a given atmospheric profile, as well as the
-<code>composition.in</code> file used by Kspectrum. The <code>data</code>
-directory should also contain a file named <code>narrowbands.in</code> used to
-describe the spectral intervals over which the k-distribution data set should
-be computed. This file has to use the same format as the
-<code>narrowbands.in</code> Kspectrum input data file. However, the
-<code>narrowbands.in</code> file used by Kdistribution does not necessarily
-have to be identical to the file used by Kspectrum.</p>
-
-<h2>Installation</h2>
-
-<p>You will have to download both the <code>.tgz</code> file and the
-installation script, and place both files in the same directory. Then run the
-installation script. This will mainly uncompress the archive.</p>
-
-<p><b>Prerequisites</b>: all you need is a fortran compiler. The gfortran
-compiler is used for development, but compilation should also work with other
-fortran compilers (ifort, pgfortran, <i>etc.</i>).</p>
-
-<p>Then you can try to compile Kdistribution: go to the main Kdistribution
-directory, then use the <code>make all</code> command to compile. The most
-common sources of failure can be fixed by editing the <code>Makefile</code>
-file in order to check compilation options (and more specifically options
-related to the target architecture and optimisations). Whenever you modify a
-source file, you can re-compile using the <code>make all</code> command. But in
-the case you have to modify a include file, you will have to erase all existing
-object files first using the <code>make clean</code> command, before
-recompiling from scratch using the <code>make all</code> command again.</p>
-
-<h2>License</h2>
-
-<p>Copyright © 2014-2018 <a
-href="mailto:contact@meso-star.com">|Méso|Star></a>.<br>
-Copyright © 2008-2014 Fondation Sciences et Technologies pour
-l'Aéronotique et l'Espace, Institut Mines-Télécom Albi-Carmaux, Centre National
-de la Recherche Scientifique (CNRS), Université Bordeaux 1, Université Paul
-Sabatier.</p>
-
-<p>Kdistribution is free software released under the CeCILL v2.1 license. You
-are welcome to redistribute it under certain conditions; refer to the <a
-href="http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt">license</a>
-for details.</p>
-
diff --git a/art/kdistribution.md b/art/kdistribution.md
@@ -0,0 +1,83 @@
+# Kdistribution
+
+Kdistribution computes k-distribution data sets from high-resolution
+spectra that have been produced by [Kspectrum](kspectrum.html).
+The user should specify some basic information to the code by editing
+the `options.in` and `data.in` input files:
+
+- `options.in`: various quadratures can be selected; a Legendre
+ quadrature is used by default.
+ Then the quadrature order should be specified, and various
+ quadrature-dependant parameters can be adjusted.
+ One interesting option is the possibility to use quadratic splines
+ over high-resolution spectra instead of a linear interpolation between
+ two successive values of the absorption coefficient.
+
+- `data.in`: lets the user specify the first and last levels of the
+ high-resolution spectra set that should be converted to k-distribution
+ data.
+
+Before using the code, the user should create a link named
+`hires_spectra` within the `/data` directory; this link should be
+pointing to the directory that contains the high-resolution spectra
+produced by Kspectrum for a given atmospheric profile, as well as the
+`composition.in` file used by Kspectrum.
+The `data` directory should also contain a file named `narrowbands.in`
+used to describe the spectral intervals over which the k-distribution
+data set should be computed.
+This file has to use the same format as the `narrowbands.in` Kspectrum
+input data file.
+However, the `narrowbands.in` file used by Kdistribution does not
+necessarily have to be identical to the file used by Kspectrum.
+
+
+## Quickstart
+
+- Sources: [tarball](downloads/kdistribution_light@VERSION@.tgz) /
+ [pgp](downloads/kdistribution_light@VERSION@.tgz.sig)
+- Installation script: [bash](downloads/install_kdistribution_light@VERSION@.bash)
+- Manual: [pdf](downloads/kdistribution_light@VERSION@_manual.pdf)
+
+### Prerequisites
+
+All you need is a fortran compiler.
+The gfortran compiler is used for development, but compilation should
+also work with other fortran compilers (ifort, pgfortran, etc.).
+
+Then you can try to compile Kdistribution: go to the main Kdistribution
+directory, then use the `make all` command to compile.
+The most common sources of failure can be fixed by editing the
+`Makefile` file in order to check compilation options (and more
+specifically options related to the target architecture and
+optimisations).
+Whenever you modify a source file, you can re-compile using the `make
+all` command.
+But in the case you have to modify a include file, you will have to
+erase all existing object files first using the `make clean` command,
+before recompiling from scratch using the `make all` command again.
+
+### Installation
+
+You will have to download both the `.tgz` file and the installation
+script, and place both files in the same directory.
+Then run the installation script.
+This will mainly uncompress the archive.
+
+
+## Copyright notice
+
+Copyright © 2014-2018 |Méso|Star>
+([contact@meso-star.com](mailto:contact@meso-star.com))
+Copyright © 2008-2014 Centre National de la Recherche Scientifique (CNRS)
+Copyright © 2008-2014 Fondation Sciences et Technologies pour l'Aéronotique et l'Espace
+Copyright © 2008-2014 Institut Mines-Télécom Albi-Carmaux
+Copyright © 2008-2014 Université Bordeaux 1
+Copyright © 2008-2014 Université Paul Sabatier
+
+## License
+
+Kdistribution is free software released under the CeCILL v2.1 license.
+You are welcome to redistribute it under certain conditions; refer to
+the
+[license](http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt)
+for details.
diff --git a/art/kspectrum.html.in b/art/kspectrum.html.in
@@ -1,176 +0,0 @@
-<header>
- <h1>Kspectrum
- <span class=subtitle>
- Molecular absorption spectra for arbitrary gas mixtures
- </span>
- </h1>
-</header>
-
-<div class="news">
- <p><b>Download Kspectrum ${VERSION}</b></p>
- <ul>
- <li>Sources:
- <a href="downloads/kspectrum${VERSION}.tgz">tarball</a> /
- <a href="downloads/kspectrum${VERSION}.tgz.sig">pgp</a></li>
- <li>Installation script:
- <a href="downloads/install_kspectrum${VERSION}.bash">bash</a></li>
- <li>Manual:
- <a href="downloads/kspectrum${VERSION}_manual.pdf">pdf</a></li>
- </ul>
-</div>
-
-<p>Kspectrum computes the synthetic absorption spectrum for a gas mixture in
-arbitrary thermodynamic conditions (pressure, temperature and molar
-composition) from public spectroscopic databases. The main and only purpose of
-the code is to produce high-resolution absorption spectra for a given set of
-thermodynamic conditions; in particular, Kspectrum will <b>NOT</b> perform the
-following tasks:</p>
-
-<ul>
- <li> compute molecular absorption for any other source than allowed energetic
- transitions: even if some limited effort has been put into the representation
- of collision-induced absorption and continua, these sources of opacity will
- have to be computed separately for each application in a separate step.</li>
-
- <li> perform radiative transfer computations: one of the main ideas behind
- Kspectrum is that the resulting absorption spectra can be used for a wide
- variety of applications, possibly in complex 3D scenes (as, for instance, in
- combustion engines). Dedicated tools will have to be used in order to solve
- radiative transfer; Kspectrum by itself will only be used to produce the
- input spectral data.</li>
-</ul>
-
-<div class="img" style="width: 20em">
- <a href="k001.svg">
- <img src="k001.svg" alt="k001">
- </a>
- <div class="caption">
- Absorption spectrum for terrestrial air, at ground level, for a
- Mid-Latitude Summer standard atmospheric profile. The absorption
- coefficient is also provided for each one of the three molecular species
- used in the gas mixture (logscale).
- </div>
-</div>
-
-<h3>Spectroscopic databases</h3>
-
-<p>Kspectrum uses the
-<a href="http://hitran.org">HITRAN</a> spectroscopic database in
-order to retrieve transition parameters (versions 2004, 2008 and 2012).
-Additionally, it can use the
-<a href="http://hitran.org/hitemp/">HITEMP</a>-2010 and
-<a href="ftp://ftp.iao.ru/pub">CDSD</a>-4000 databases (respectively
-for water and carbon dioxide) at high-temperature levels. Further development
-would be required for additional databases (HITRAN-2016 ? GEISA ?)</p>
-
-<h3>Reference results</h3>
-<p>The main idea behind Kspectrum was initially to develop a code that would
-not need to use numerical simplifications such as a line profile truncation
-(assuming the distant line-wing profile is well known, which is obviously not
-the case). The resulting code was therefore capable of adding the contribution
-of every known transition at every wavenumber, in order to produce a value of
-the absorption coefficient with a known accuracy; also, a custom spectral
-discretisation algorithm was implemented in order to produce a non-uniform
-spectral grid according to a second accuracy criteria. Further versions quickly
-acquired the possibility to perform a line-wings truncation and use a specified
-constant spectral step, but the original algorithms that give the possibility
-to compute reference results (in the sense that a numerical accuracy is
-provided over resulting spectra) are still available.</p>
-
-<div class="img" style="width: 20em">
- <a href="tau_cumulated_1180-1200.svg">
- <img src="tau_cumulated_1180-1200.svg" alt="tau-cumul">
- </a>
- <div class="caption">
- Plot of the atmospheric cumulated optical depth as a function of
- wavenumber, for a clear-sky Mid-Latitude Summer standard terrestrial
- atmospheric profile. Two kspectrum results are provided: using a 25 inverse
- centimeters truncation of the line profile, and without any truncation. The
- same result (with a truncation) obtained from the 4A code is also
- presented.
- </div>
-</div>
-
-<h3>Physical models</h3>
-
-<p>This code can take into account the Lorentz and the Voigt line profiles, as
-well as common sub-lorentzian corrective profiles. The isotopic composition can
-be specified, making this code suitable for non-terrestrial applications. The
-code was mainly thought for thermal infrared applications, but absorption
-spectra can be produced for any spectral range as long as transition parameters
-are available. As a general rule, Kspectrum was designed to remain as
-polyvalent as possible; one immediate disadvantage is that special sources of
-opacity, such as collision-induced absorption or continua, should be computed
-separately for any given application. Also, line-mixing processes have not yet
-been taken into consideration, and require further developments.</p>
-
-<h3>Some neat features</h3>
-<p>Every time-consuming step of the computation has been parallelised, even
-though the parallel architecture is far from optimal and should require a major
-revision: the computation time does not scale very well with the number of
-processes because of inter-processes communication, and also it was not thought
-for multi-node clusters. But at least Kspectrum will run faster on a reasonably
-good single node (approx. 20 cores). Also, the code has been implemented with
-the obsessions of:</p>
-
-<ul>
- <li>working with arbitrary large numbers of transitions. For instance, the
- CDSD-4000 database holds the parameters for more than 6 hundred millions of
- transitions for carbon dioxide; Kspectrum will, in time, eventually compute
- the contribution of every transition at every wavenumber of the spectrum.</li>
-
- <li>being able to resume interrupted runs: whether your PC crashes or Kspectrum
- reaches the maximum computation time allowed by the cluster's queue, it will
- be possible to resume an interrupted computation instead of starting over from
- scratch: as in a video game, Kspectrum performs frequent backups of the
- current run.</li>
-</ul>
-
-<h2>Installation</h2>
-
-<p>You will have to download both the <code>.tgz</code> file and the
-installation script, and place both files in the same directory. Then run the
-installation script. This will uncompress the archive, compile and run a small
-program that will generate an example composition file (for Venus' atmosphere).
-The installation script will also try to link Line-by-Line spectroscopic
-databases to your new installation of Kspectrum, but will most probably fail if
-you are not a frequent Kspectrum user, and you will have to read the
-documentation in order to link LBL databases yourself (and probably download
-then first if you have not already done so). Please <a
-href="mailto:vincent.eymet@meso-star.com">contact us</a> if you want a specific
-setup script for your machine so that the linking step is performed when you
-download the next version.</p>
-
-<p><b>Prerequisites:</b> all you need is a fortran compiler. We are using
-gfortran for development, but it should also work with other fortran compilers
-(ifort, pgfortran, <i>etc.</i>). You should export the name of your fortran
-compiler into the F77 environment variable; for instance, using the bash
-interpreter:</p>
-
-<pre class="code">
-export F77=gfortran
-</pre>
-
-<p>Then you can try to compile Kspectrum: go to the main Kspectrum directory,
-then use the <code>make all</code> command to compile. The most common sources
-of failure can be fixed by editing the "Makefile" file in order to check
-compilation options (and more specifically options related to the target
-architecture and optimisations). Whenever you modify a source file, you can
-re-compile using the <code>make all</code> command. But in the case you have to
-modify an include file, you will have to erase all existing object files first
-using the <code>make clean</code> command, before recompiling from scratch
-using the <code>make all</code> command again.</p>
-
-<h2>License</h2>
-
-<p>Copyright © 2014-2018 <a
-href="mailto:contact@meso-star.com">|Méso|Star></a>.<br>
-Copyright © 2008-2014
-Fondation Sciences et Technologies pour l'Aéronotique et l'Espace, Institut
-Mines-Télécom Albi-Carmaux, Centre National de la Recherche Scientifique
-(CNRS), Université Bordeaux 1, Université Paul Sabatier.</p>
-
-<p>Kspectrum is free software released under the CeCILL v2.1 license. You are
-welcome to redistribute it under certain conditions; refer to the <a
-href="http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt">license</a>
-for details.</p>
diff --git a/art/kspectrum.md b/art/kspectrum.md
@@ -0,0 +1,169 @@
+# Kspectrum
+
+Kspectrum computes the synthetic absorption spectrum for a gas mixture
+in arbitrary thermodynamic conditions (pressure, temperature and molar
+composition) from public spectroscopic databases.
+The main and only purpose of the code is to produce high-resolution
+absorption spectra for a given set of thermodynamic conditions; in
+particular, Kspectrum will *NOT* perform the following tasks:
+
+- compute molecular absorption for any other source than allowed
+ energetic transitions: even if some limited effort has been put into
+ the representation of collision-induced absorption and continua, these
+ sources of opacity will have to be computed separately for each
+ application in a separate step.
+
+- perform radiative transfer computations: one of the main ideas behind
+ Kspectrum is that the resulting absorption spectra can be used for a
+ wide variety of applications, possibly in complex 3D scenes (as, for
+ instance, in combustion engines).
+ Dedicated tools will have to be used in order to solve radiative
+ transfer; Kspectrum by itself will only be used to produce the input
+ spectral data.
+
+[](k001.svg)
+
+> Absorption spectrum for terrestrial air, at ground level, for a
+> Mid-Latitude Summer standard atmospheric profile.
+> The absorption coefficient is also provided for each one of the three
+> molecular species used in the gas mixture (logscale).
+
+## Spectroscopic databases
+
+Kspectrum uses the [HITRAN](http://hitran.org) spectroscopic database in
+order to retrieve transition parameters (versions 2004, 2008 and 2012).
+Additionally, it can use the [HITEMP](http://hitran.org/hitemp/)-2010
+and [CDSD](ftp://ftp.iao.ru/pub)-4000 databases (respectively for water
+and carbon dioxide) at high-temperature levels.
+Further development would be required for additional databases
+(HITRAN-2016 ? GEISA ?).
+
+## Reference results
+
+The main idea behind Kspectrum was initially to develop a code that
+would not need to use numerical simplifications such as a line profile
+truncation (assuming the distant line-wing profile is well known, which
+is obviously not the case).
+The resulting code was therefore capable of adding the contribution of
+every known transition at every wavenumber, in order to produce a value
+of the absorption coefficient with a known accuracy; also, a custom
+spectral discretisation algorithm was implemented in order to produce a
+non-uniform spectral grid according to a second accuracy criteria.
+Further versions quickly acquired the possibility to perform a
+line-wings truncation and use a specified constant spectral step, but
+the original algorithms that give the possibility to compute reference
+results (in the sense that a numerical accuracy is provided over
+resulting spectra) are still available.
+
+[](tau_cumulated_1180-1200.svg)
+
+> Plot of the atmospheric cumulated optical depth as a function of
+> wavenumber, for a clear-sky Mid-Latitude Summer standard terrestrial
+> atmospheric profile.
+> Two kspectrum results are provided: using a 25 inverse centimeters
+> truncation of the line profile, and without any truncation.
+> The same result (with a truncation) obtained from the 4A code is also
+> presented.
+
+## Physical models
+
+This code can take into account the Lorentz and the Voigt line profiles,
+as well as common sub-lorentzian corrective profiles.
+The isotopic composition can be specified, making this code suitable for
+non-terrestrial applications.
+The code was mainly thought for thermal infrared applications, but
+absorption spectra can be produced for any spectral range as long as
+transition parameters are available.
+As a general rule, Kspectrum was designed to remain as polyvalent as
+possible; one immediate disadvantage is that special sources of opacity,
+such as collision-induced absorption or continua, should be computed
+separately for any given application.
+Also, line-mixing processes have not yet been taken into consideration,
+and require further developments.
+
+## Some neat features
+
+Every time-consuming step of the computation has been parallelised, even
+though the parallel architecture is far from optimal and should require
+a major revision: the computation time does not scale very well with the
+number of processes because of inter-processes communication, and also
+it was not thought for multi-node clusters.
+But at least Kspectrum will run faster on a reasonably good single node
+(approx. 20 cores).
+
+Also, the code has been implemented with the obsessions of:
+
+- working with arbitrary large numbers of transitions.
+ For instance, the CDSD-4000 database holds the parameters for more
+ than 6 hundred millions of transitions for carbon dioxide;
+ Kspectrum will, in time, eventually compute the contribution of every
+ transition at every wavenumber of the spectrum.
+
+- being able to resume interrupted runs: whether your PC crashes or
+ Kspectrum reaches the maximum computation time allowed by the
+ cluster's queue, it will be possible to resume an interrupted
+ computation instead of starting over from scratch: as in a video game,
+ Kspectrum performs frequent backups of the current run.
+
+## Quickstart
+
+- Sources: [tarball](downloads/kspectrum@VERSION@.tgz) /
+ [pgp](downloads/kspectrum@VERSION@.tgz.sig)
+- Installation script: [bash](downloads/install_kspectrum@VERSION@.bash)
+- Manual: [pdf](downloads/kspectrum@VERSION@_manual.pdf)
+
+### Preqrequisites
+
+All you need is a fortran compiler.
+We are using gfortran for development, but it should also work with
+other fortran compilers (ifort, pgfortran, etc.).
+You should export the name of your fortran compiler into the F77
+environment variable; for instance, using the bash interpreter:
+
+ export F77=gfortran
+
+Then you can try to compile Kspectrum: go to the main Kspectrum
+directory, then use the `make all` command to compile.
+The most common sources of failure can be fixed by editing the
+"Makefile" file in order to check compilation options (and more
+specifically options related to the target architecture and
+optimisations).
+Whenever you modify a source file, you can re-compile using the `make
+all` command.
+But in the case you have to modify an include file, you will have to
+erase all existing object files first using the `make clean` command,
+before recompiling from scratch using the `make all` command again.
+
+### Installation
+
+You will have to download both the `.tgz` file and the installation
+script, and place both files in the same directory.
+Then run the installation script.
+This will uncompress the archive, compile and run a small program that
+will generate an example composition file (for Venus' atmosphere).
+The installation script will also try to link Line-by-Line spectroscopic
+databases to your new installation of Kspectrum, but will most probably
+fail if you are not a frequent Kspectrum user, and you will have to read
+the documentation in order to link LBL databases yourself (and probably
+download then first if you have not already done so).
+Please [contact us](mailto:contact@meso-star.com) if you want a specific
+setup script for your machine so that the linking step is performed when
+you download the next version.
+
+## Copyright notice
+
+Copyright © 2014-2018 |Méso|Star>
+([contact@meso-star.com](mailto:contact@meso-star.com))
+Copyright © 2008-2014 Centre National de la Recherche Scientifique (CNRS)
+Copyright © 2008-2014 Fondation Sciences et Technologies pour l'Aéronotique et l'Espace
+Copyright © 2008-2014 Institut Mines-Télécom Albi-Carmaux
+Copyright © 2008-2014 Université Bordeaux 1
+Copyright © 2008-2014 Université Paul Sabatier
+
+## License
+
+Kspectrum is free software released under the CeCILL v2.1 license.
+You are welcome to redistribute it under certain conditions; refer to
+the
+[license](http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt)
+for details.