commit 47bdb417219f6d87ce8b34e0f1faa4e255913634
parent 3ccf285391da9970afa5f6c87a6d22be88ade9ee
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Tue, 9 Jun 2020 15:31:19 +0200
Update the license notices and the High-Tune overview
Diffstat:
19 files changed, 147 insertions(+), 146 deletions(-)
diff --git a/art/hr_ppart.html.in b/art/hr_ppart.html.in
@@ -125,9 +125,11 @@ gnuplot scripts are provided in order to visualise various results.</p>
<h2>License</h2>
-<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>
+<p>Copyright © 2014-2018 Centre National de la Recherche Scientifique
+(CNRS), <a href="https://www.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/karine.html.in b/art/karine.html.in
@@ -116,8 +116,13 @@ to the documentation for a description of the content of these files.</p>
<h2>License</h2>
+<p>Copyright © Z014-2018 <a
+href="https://www.meso-star.com">|Méso|Star></a>.<br>
+Copyright © 2008-2014 Centre National de la Recherche Scientifique
+(CNRS), Institut Mines-Télécom Albi-Carmaux, Université Paul Sabatier.</p>
+
<p>Karine is free software released under the GPLv2+ license: GNU GPL version 2
-or later. You can freely study, modify or extend it. You are also welcome to
+or later. x You can freely study, modify or extend it. You are also welcome to
redistribute it under certain conditions; refer to the <a
href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html">license</a>
for details.</p>
diff --git a/art/kdistribution.html.in b/art/kdistribution.html.in
@@ -71,8 +71,15 @@ recompiling from scratch using the <code>make all</code> command again.</p>
<h2>License</h2>
+<p>Copyright © 2014-2018 <a
+href="https://www.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>
+href="http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt">license</a>
+for details.</p>
diff --git a/art/kspectrum.html.in b/art/kspectrum.html.in
@@ -163,9 +163,14 @@ using the <code>make all</code> command again.</p>
<h2>License</h2>
+<p>Copyright © 2014-2018 <a
+href="https://www.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>
-
-
+href="http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt">license</a>
+for details.</p>
diff --git a/art/ppart_lw.html.in b/art/ppart_lw.html.in
@@ -121,8 +121,13 @@ package.</p>
<h2>License</h2>
+<p>Copyright © 2014-2018 <a
+href="https://www.meso-star.com">|Méso|Star></a>.<br>
+Copyright © 2010-2014 Institut Mines-Télécom Albi-Carmaux, Université
+Bordeaux 1.</p>
+
<p>PPart_LW is free software released under the GPLv2+ license: GNU GPL version 2
-or later. You can freely study, modify or extend it. You are also welcome to
+or later. You can freely study, modify or extend it. You are also welcome to
redistribute it under certain conditions; refer to the <a
href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html">license</a>
for details.</p>
diff --git a/art/ppart_sw.html.in b/art/ppart_sw.html.in
@@ -117,9 +117,14 @@ package.</p>
<h2>License</h2>
-<p>PPart_SW is free software released under the GPLv2+ license: GNU GPL version 2
-or later. You can freely study, modify or extend it. You are also welcome to
-redistribute it under certain conditions; refer to the <a
+<p>Copyright © 2014-2018 <a
+href="https://www.meso-star.com">|Méso|Star></a>.<br>
+Copyright © 2010-2014 Institut Mines-Télécom Albi-Carmaux, Université
+Bordeaux 1.</p>
+
+<p>PPart_SW is free
+software released under the GPLv2+ license: GNU GPL version 2 or later. You
+can freely study, modify or extend it. You are also welcome to redistribute it
+under certain conditions; refer to the <a
href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html">license</a>
for details.</p>
-
diff --git a/high-tune/DZVAR2.jpg b/high-tune/DZVAR2.jpg
@@ -1 +1 @@
-#$# git-wad cc9abb8f50a3eeb5fedf763da383b87d51f85fe7600b11ffc12737ce331b2daa 431846
-\ No newline at end of file
+#$# git-wad 9735e671b303a71dad5f768172c9f0528db8191ea2f8fec2b4c5bcc2fc00cbfe 651688
+\ No newline at end of file
diff --git a/high-tune/L12km_BOMEX.jpg b/high-tune/L12km_BOMEX.jpg
@@ -1 +1 @@
-#$# git-wad a0a48141bba2314a90e5aea49aef16be3c4e7384257ff464fbc655675e14dd2c 484398
-\ No newline at end of file
+#$# git-wad 0f52fec536ad430fff63261e874263d50c390b7d53756f0216932b9566717bc4 584496
+\ No newline at end of file
diff --git a/high-tune/L25_Fire.jpg b/high-tune/L25_Fire.jpg
@@ -1 +1 @@
-#$# git-wad 28852c28965eaba4736e94b1cb0bf1914be90b7ffbb8cc3880ed840aced6ef30 452168
-\ No newline at end of file
+#$# git-wad 2e7bd9b90d683bacef229e94bb6233368bb139407ed3d47505744d0fb125906e 458935
+\ No newline at end of file
diff --git a/high-tune/Makefile b/high-tune/Makefile
@@ -13,8 +13,8 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-HTRDR-VERSION=0.3.0
-HTRDR-STARTER-PACK-VERSION=0.2.0
+HTRDR-VERSION=0.5.0
+HTRDR-STARTER-PACK-VERSION=0.4.0
SRC = high-tune.html.in high-tune.sh
IMG = CLEMENT.jpg DZVAR.jpg DZVAR2.jpg L12km_BOMEX.jpg L25_Fire.jpg HRES_ARMCu.jpg
diff --git a/high-tune/high-tune.html.in b/high-tune/high-tune.html.in
@@ -25,16 +25,21 @@ function poptext(Id) {
</ul>
</div>
-<p>High Tune: RenDeRer (<code>htrdr</code>) is a part of the <a
-href=http://www.umr-cnrm.fr/high-tune/>High-Tune</a> project: it illustrates
-the implementation of <b>radiative transfer</b> algorithms in <b>inhomogeneous
-media</b>. It is actually an <b>image renderer</b> in the visible part of the
+<p>High Tune: RenDeRer (<code>htrdr</code>) was originally developed as a part
+of the <a href="http://www.umr-cnrm.fr/high-tune/?lang=en">High-Tune</a>
+project to illustrate the implementation of <b>radiative transfer</b>
+algorithms in <b>inhomogeneous media</b>. It was then extended in the <a
+href="https://www.umr-cnrm.fr/spip.php?article1204&lang=en">ModRadUrb</a>
+project to handle longwave spectral integration and to add support of
+<b>spectral reflectivities</b> to the geometries. <code>htrdr</code> is
+actually an <b>image renderer</b> in the <b>visible or infrared</b> part of the
spectrum, for scenes composed of an atmospheric gas mixture, clouds and a
-ground. It uses 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
+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.
+obtained from a Mie code. It also relies on the reflectivity of the ground
+geometry that can vary spatially and spectrally.</p>
<div class="news">
<p><b>Related article</b></p>
@@ -49,11 +54,15 @@ obtained from a Mie code.
sensor array. The underlying algorithm is based on a <b>Monte-Carlo</b> 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. The computation is performed over the whole visible part
-of the spectrum, 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, and finally the whole image of the scene as seen from the required
-observation position.
+scattering phenomena.
+
+<p>By default the spectral integration is performed for the visible part of the
+spectrum in [380, 780] nanometers, for the three components of the <b>CIE 1931
+XYZ colorimetric space</b> 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 according to the <b>Planck function</b> for a reference
+temperature.</p>
<p>During the simulation, <code>htrdr</code> <b>dynamically loads/unloads</b>
cloud properties and thus it can handle clouds whose data do not feat in main
@@ -128,6 +137,17 @@ project: it provides CMake scripts that automate the download, the compilation
and the installation of <code>htrdr</code> and its dependencies. This build
procedure assumes the following prerequisites:
+<div class="img" style="width: 20em">
+ <a href="CLEMENT_lw_9000_10000.jpg">
+ <img src="CLEMENT_lw_9000_10000.jpg" alt="CLEMENT_lw">
+ </A>
+ <div class="caption">
+ Infrared rendering in [9000, 10000] nanometers of the cloud field of <a
+ href="https://rmets.onlinelibrary.wiley.com/doi/full/10.1002/qj.3614">Strauss
+ et al. (2019)</a>. The color map displays the brightness temperature in Kelvin.
+ </div>
+</div>
+
<ul>
<li><a href=https://git-scm.com>git</a> source control as well its <a
href=https://git-lfs.github.com>Large File System</a> extension.</li>
@@ -174,8 +194,11 @@ Use the <code>man</code> command-line to consult them.</p>
<pre class="code">
~ $ man htrdr
~ $ man htrdr-image
+~ $ man htrdr-materials
+~ $ man htrdr-obj
~ $ man htcp
~ $ man htmie
+~ $ man mrumtl
</pre>
<p>Refer to the <a href=starter-pack.html>High-Tune: Starter Pack</a> to
@@ -198,8 +221,15 @@ ${RELEASE_NOTES}
<h2>License</h2>
-<p><code>htrdr</code> 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 <a
-href="https://www.gnu.org/licenses/gpl.html">license</a> for details.</p>
+<p>Copyright © 2018, 2019, 2020 <a
+href="https://www.meso-star.com">|Méso|Star></a>.<br>
+Copyright © 2018,
+2019 Centre National de la Recherche Scientifique (CNRS), Université Paul
+Sabatier.</p>
+
+<p><code>htrdr</code> 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 <a href="https://www.gnu.org/licenses/gpl.html">license</a> for
+details.</p>
diff --git a/high-tune/high-tune.sh b/high-tune/high-tune.sh
@@ -32,17 +32,6 @@ fi
dir_curr=$(pwd) # Current directory
dir_temp=$(mktemp -d) # Working directory
-set +e
-if hash markdown 2> /dev/null; then
- markdown=markdown
-elif hash markdown2 2> /dev/null; then
- markdown=markdown2
-else
- echo "Cannot find the markdown[2] command"
- exit 1
-fi
-set -e
-
################################################################################
# Sign the package
################################################################################
@@ -140,14 +129,15 @@ release_notes=$(cat $dir_temp/$htspk/README.html \
echo $intro
echo "<h2>Content</h2>"
- echo "<div class=\"img\" style=\"padding-top:3em; width: 18em\">"
- echo " <a href=\"DZVAR.jpg\"><img src=\"DZVAR.jpg\" alt=\"DZVAR\"></a>"
+ echo "<div class=\"img\" style=\"padding-top:3em; width: 17em\">"
+ echo " <!--<a href=\"DZVAR.jpg\"><img src=\"DZVAR.jpg\" alt=\"DZVAR\"></a>-->"
echo " <a href=\"DZVAR2.jpg\"><img src=\"DZVAR2.jpg\" alt=\"DZVAR2\"></a>"
echo " <a href=\"L12km_BOMEX.jpg\"><img src=\"L12km_BOMEX.jpg\" alt=\"L12_BOMEX\"></a>"
echo " <a href=\"L25_Fire.jpg\"><img src=\"L25_Fire.jpg\" alt=\"L25_Fire\"></a>"
+ echo " <a href=\"city.jpg\"><img src=\"city.jpg\" alt=\"city\"></a>"
echo " <div class=\"caption\">"
- echo " Images of the DZVAR, DZVAR2, L12km_BOMEX and L25_Fire scenes rendered with"
- echo " <code>htrdr</code>."
+ echo " Images of the DZVAR, DZVAR2, L12km_BOMEX, L25_Fire and city scenes"
+ echo " rendered with <code>htrdr</code>."
echo " </div>"
echo "</div>"
@@ -202,8 +192,13 @@ release_notes=$(cat $dir_temp/$htspk/README.html \
echo "<h2>License</h2>"
echo ""
+ echo "<p>Copyright © 2018, 2019, 2020 <a"
+ echo 'href="https://www.meso-star.com">|Méso|Star></a>.<br>'
+ echo "Copyright © 2018, 2019 Centre National de la Recherche Scientifique "
+ echo "(CNRS)</p>"
+ echo ""
echo "<p>High-Tune: Starter Pack is released under the GPLv3+ license: GNU GPL"
- echo "version 3 or later. You can freely study, modify or extend it. You are also"
+ echo "version 3 or later. You can freely study, modify or extend it. You are also"
echo "welcome to redistribute it under certain conditions; refer to the <a"
echo "href=\"https://www.gnu.org/licenses/gpl.html\">license</a> for details."
diff --git a/meso-menu.sh b/meso-menu.sh
@@ -31,10 +31,13 @@ schiff_man_pages=(
high_tune_man_pages=(
"htrdr 1"
"htrdr-image 5"
+ "htrdr-materials 5"
+ "htrdr-obj 5"
"htpp 1"
"htmie 5"
"htcp 5"
"les2htcp 1"
+ "mrumtl 5"
)
print_home_sub_menu() {
@@ -102,38 +105,6 @@ print_art_sub_menu() {
echo " <li><a href=${root}art/karine.html>Karine</a></li>"
fi
echo ' </ul>'
-
- if [ "$name" == "Kspectrum" -o "$name" == "Kdistribution" ]; then
- echo ' <div id="info">'
- echo ' <p>Copyright © 2008-2014 Fondation Sciences et Technologies'
- echo " pour l'Aéronotique et l'Espace, Institut Mines-Télécom"
- echo ' Albi-Carmaux, Centre National de la Recherche Scientifique (CNRS),'
- echo ' Université Bordeaux 1, Université Paul Sabatier.</p>'
- echo ' <p>Copyright © 2014-2018 <a'
- echo ' href="https://www.meso-star.com">|Méso|Star></a>.</p>'
- echo ' </div>'
- elif [ "$name" == "HR_PPart" ]; then
- echo ' <div id="info">'
- echo ' <p>Copyright © 2014-2018'
- echo ' Centre National de la Recherche Scientifique (CNRS), '
- echo ' <a href="https://www.meso-star.com">|Méso|Star></a>.</p>'
- echo ' </div>'
- elif [ "$name" == "PPart_LW" -o "$name" == "PPart_SW" ]; then
- echo ' <div id="info">'
- echo ' <p>Copyright © 2010-2014 Institut Mines-Télécom'
- echo ' Albi-Carmaux, Université Bordeaux 1 </p>'
- echo ' <p>Copyright © 2014-2018 <a'
- echo ' href="https://www.meso-star.com">|Méso|Star></a>.</p>'
- echo ' </div>'
- elif [ "$name" == "Karine" ]; then
- echo ' <div id="info">'
- echo ' <p>Copyright © 2008-2014 Institut Mines-Télécom'
- echo ' Albi-Carmaux, Centre National de la Recherche Scientifique (CNRS),'
- echo ' Université Paul Sabatier.</p>'
- echo ' <p>Copyright © 2014-2018 <a'
- echo ' href="https://www.meso-star.com">|Méso|Star></a>.</p>'
- echo ' </div>'
- fi
echo ' </div>'
}
@@ -173,11 +144,9 @@ print_high_tune_sub_menu() {
echo " <li><a href=https://gitlab.com/meso-star/htrdr>Source code repository</a></li>"
echo ' </ul>'
echo ' <div id="info">'
- echo ' <p>Copyright © 2018, 2019, 2020'
- echo ' <a href="https://www.meso-star.com">|Méso|Star></a>.'
- echo ' Copyright © 2018, 2019'
- echo ' Centre National de la Recherche Scientifique (CNRS),'
- echo ' Université Paul Sabatier.'
+ echo ' <p>Visit the '
+ echo ' <a href="http://www.umr-cnrm.fr/high-tune/?lang=en">'
+ echo ' High-Tune project web site</a></p>'
echo ' </div>'
echo ' </div>'
}
@@ -253,13 +222,6 @@ print_solstice_sub_menu() {
echo " <li><a href=https://gitlab.com/meso-star/solstice>Source code repository</a></li>"
echo ' </ul>'
echo ' <div id="info">'
- echo ' <p>Solstice is developed by <a'
- echo ' href="https://www.meso-star.com">|Méso|Star></a> in collaboration with'
- echo ' the <a href="http://www.promes.cnrs.fr/index.php?page=home-en">PROMES</a>'
- echo ' laboratory of the National Center for Scientific Research (CNRS). Copyright'
- echo ' © 2016-2018 <a href="http://www.cnrs.fr/index.php">CNRS</a>,'
- echo ' 2018-2019 <a href=https://www.meso-star.com>|Méso|Star></a></p>'
- echo ''
echo ' <p>Visit the <a href="https://www.labex-solstice.fr/solstice-software">'
echo ' LABEX Solstice web page</a> for complementary informations and examples.</p>'
echo ' </div>'
@@ -306,10 +268,6 @@ print_star_engine_sub_menu() {
fi
echo " <li><a href=https://gitlab.com/meso-star/star-engine>Repository</a></li>"
echo ' </ul>'
- echo ' <div id="info">'
- echo ' <p>Copyright © 2015-2019 <a'
- echo ' href="https://www.meso-star.com">|Méso|Star></a></p>'
- echo ' </div>'
echo ' </div>'
}
@@ -346,10 +304,10 @@ print_header() {
echo " <h2><a href=${root}art/art.html>A.R.T.</a></h2>"
fi
if [ "$section" == "High-Tune" ]; then
- echo " <h2>High-Tune</h2>"
+ echo " <h2>High-Tune: RenDeRer</h2>"
print_high_tune_sub_menu ${root} ${name}
else
- echo " <h2><a href=${root}high-tune/high-tune.html>High-Tune</a></h2>"
+ echo " <h2><a href=${root}high-tune/high-tune.html>High-Tune: RenDeRer</a></h2>"
fi
if [ "$section" == "Schiff" ]; then
echo ' <h2>Schiff</h2>'
@@ -490,3 +448,17 @@ convert_man_page() {
sed -i "s/cq\([a-z]\)\>/'\1/g" $output
}
+set +e
+if hash markdown 2> /dev/null; then
+ markdown=markdown
+elif hash markdown2 2> /dev/null; then
+ markdown=markdown2
+elif hash markdown_py 2> /dev/null; then
+ markdown=markdown_py
+else
+ echo "Cannot find the markdown[2|_py] command"
+ exit 1
+fi
+set -e
+
+
diff --git a/meso.css b/meso.css
@@ -5,7 +5,7 @@ body {
margin: 1em auto; /*auto;*/
text-align: center;
font-size: 10pt;
- max-width: 71em;
+ max-width: 70em;
}
h1 {
@@ -110,7 +110,7 @@ hr {
******************************************************************************/
#menu {
text-align: left;
- width: 15em;
+ width: 16em;
float: left;
position: fixed;
margin-left: 56em;
diff --git a/schiff/schiff.html.in b/schiff/schiff.html.in
@@ -135,9 +135,12 @@ ${RELEASE_NOTES}
<h2>License</h2>
-<p>Copyright © 2020 <a href="mailto:contact@meso-star.com">
-|Méso|Star></a>. Copyright © 2015, 2016 National Center for
-Scientific Research (CNRS). Schiff is free software released under the GPLv3+
+<p>Copyright © 2020, 2017 <a href="mailto:contact@meso-star.com">
+|Méso|Star></a>.<br>
+Copyright © 2015, 2016 Centre National de la Recherche Scientifique
+(CNRS).</p>
+
+<p>Schiff is free software released under the GPLv3+
license: GNU GPL version 3 or later. You are welcome to redistribute it under
certain conditions; refer to the <a
href="https://www.gnu.org/licenses/gpl.html">license</a> for details.</p>
diff --git a/schiff/schiff.sh b/schiff/schiff.sh
@@ -32,17 +32,6 @@ fi
dir_curr=$(pwd) # Current directory
dir_temp=$(mktemp -d) # Working directory
-set +e
-if hash markdown 2> /dev/null; then
- markdown=markdown
-elif hash markdown2 2> /dev/null; then
- markdown=markdown2
-else
- echo "Cannot find the markdown[2] command"
- exit 1
-fi
-set -e
-
################################################################################
# Sign the package
################################################################################
diff --git a/solstice/solstice.html.in b/solstice/solstice.html.in
@@ -138,6 +138,11 @@ introduce the functionalities of the program.</p>
<h2>License</h2>
+<p>Copyright © 2018, 2019 <a
+href=https://www.meso-star.com>|Méso|Star></a>.<br>
+Copyright © 2016, 2017, 2018 Centre National de la Recherche Scientifique
+(CNRS).</p>
+
<p>Solstice 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 <a
diff --git a/solstice/solstice.sh b/solstice/solstice.sh
@@ -32,17 +32,6 @@ fi
dir_curr=$(pwd) # Current directory
dir_temp=$(mktemp -d) # Working directory
-set +e
-if hash markdown 2> /dev/null; then
- markdown=markdown
-elif hash markdown2 2> /dev/null; then
- markdown=markdown2
-else
- echo "Cannot find the markdown[2] command"
- exit 1
-fi
-set -e
-
################################################################################
# Generate the Solstice-ABG
################################################################################
diff --git a/star-engine/star-engine.sh b/star-engine/star-engine.sh
@@ -37,17 +37,6 @@ fi
dir_curr=$(pwd) # Current directory
dir_temp=$(mktemp -d) # Working directory
-set +e
-if hash markdown 2> /dev/null; then
- markdown=markdown
-elif hash markdown2 2> /dev/null; then
- markdown=markdown2
-else
- echo "Cannot find the markdown[2] command"
- exit 1
-fi
-set -e
-
################################################################################
# Sign the package
################################################################################