Calcul de la hauteur du plafond d’un nuage

Pour calculer la hauteur d’un plafond nuageux, il y a plusieurs techniques :

La Première : On calcule la température de rosée, ce qui nous permet de calculer la hauteur du plafond nuageux.

import math

a=17.27
b=237.7

temperature=float(input("Température en °C  :  "))
humiditeRelative=float(input("Thumidité en%  entre 0 et 100  : "))

alpha=((a*temperature)/(b+temperature) +math.log(humiditeRelative/ 100))
tpreRosee = (b* alpha) / (a-alpha)
plafondNuage = 125 * (temperature -tpreRosee)

print("température de rosée = ",tpreRosee,"°C")
print("plafond Nuageux  = ",plafondNuage,"m")

Voici le résultat obtenue : Température en °C : 20

Thumidité en% entre 0 et 100 : 50 (T pour Taux).

température de rosée = 9.254294282076941 °C

plafond Nuageux = 1343.2132147403825 m

La Deuxième : Amélioration du calcul avec une fonction

import math

a=17.27
b=237.7

def plafondNuageux(tpre,tH):

  alpha=((a*tpre)/(b+tpre) +math.log(tH / 100))
  t_rosee = (b* alpha) / (a-alpha)
  plafondNuage = 125 * (tpre -t_rosee)
  return t_rosee,plafondNuage

tpreRosee,plafondNuage=plafondNuageux(20,50)

print("température de rosée = ",tpreRosee,"°C")
print("plafond Nuageux  = ",plafondNuage,"m")

Voici le résultat obtenue : température de rosée = 9.254294282076941 °C

plafond Nuageux = 1343.2132147403825 m

La deuxième partie est plus pour préciser les éléments du programme :

On précise les types des arguments de la fonction et de la donnée retournée

import math

a=17.27
b=237.7

def plafondNuageux(tpre:float,tH:float)->tuple:

  alpha=((a*tpre)/(b+tpre) +math.log(tH / 100))
  t_rosee = (b* alpha) / (a-alpha)
  plafondNuage = 125 * (tpre -t_rosee)
  return t_rosee,plafondNuage

tpreRosee,plafondNuage=plafondNuageux(20,50)

print("température de rosée = ",tpreRosee,"°C")
print("plafond Nuageux  = ",plafondNuage,"m")

Voici le résultat obtenue : température de rosée = 9.254294282076941 °C

plafond Nuageux = 1343.2132147403825 m

On documente la fonction

import math

a=17.27
b=237.7

def plafondNuageux(tpre:float,tH:float)->tuple:
  """
  La temperature doit être en °C et tH. l'humidité relative est comprise entre 0 et 100
  la fonction renvoi un tuple contenant la temperature de rosée puis le plafond nuageux.
  """

  alpha=((a*tpre)/(b+tpre) +math.log(tH / 100))
  t_rosee = (b* alpha) / (a-alpha)
  plafondNuage = 125 * (tpre -t_rosee)
  return t_rosee,plafondNuage

tpreRosee,plafondNuage=plafondNuageux(15,0.01)

print("température de rosée = ",tpreRosee,"°C")
print("plafond Nuageux  = ",plafondNuage,"m")

Voici le résultat obtenue : température de rosée = -76.43326065613661 °C

plafond Nuageux = 11429.157582017076 m

Et si on rentre la fonction help(plafondNuageux) dans la console, ce message va s’afficher :

“Help on function plafondNuageux in module __main__: plafondNuageux(tpre: float, tH: float) -> tuple La temperature doit être en °C et tH. l’humidité relative est comprise entre 0 et 100 la fonction renvoi un tuple contenant la temperature de rosée puis le plafond nuageux.”

Le code en HTML avec du Javascript

<html lang="fr">
<head>
    <title>Nuages</title>
    <meta charset="UTF-8" />
    <link rel=" stylesheet" href="nuages.css" />
</head>
<script>
    function affiche() {
        var temperature =parseFloat(prompt('température en°C?'));
        var humiditeR =parseFloat(prompt('humidité relative en %?'));
        var a = 17.27;
        var b = 237.7;
        var meteo=""
        var alpha = a * temperature / (b + temperature) + Math.log(humiditeR * 0.01);
        var pointRosee = b * alpha / (a - alpha);
        var plafondNuage = 125 * (temperature - pointRosee)
        var plafondNuageFt =400*(temperature - pointRosee)
        if(isNaN(plafondNuage)||humiditeR>100||humiditeR<0||isNaN(humiditeR)){meteo="erreur"}
        else{
        meteo = "Le point de rosée est égal à " + pointRosee.toFixed(0) + "°C " +"et la base des nuages est à " + plafondNuage.toFixed(0) + "m .";
        meteo = meteo + "<br><b>soit " + plafondNuageFt.toFixed(0) + " ft .</b>";
        }
        document.getElementById("test").innerHTML = "<b>" + meteo + "</b>";
           }
</script>
<body>
    <h2>Hauteur du plafond nuageux</h2><br>
    <button class="button" onclick="affiche()">Calculateur</button><br><br>
    <h4 id="test"></h4>
    </body>
</html>

On peut découper le programme en 3 parties :

• La 1ere partie est en HTML : elle définit le nom, la langue et la couleur (si on joint un fichier css avec son titre en écrivant “href=titre du fichiercss.css” ) de la page.

• La 2eme partie est en javascript : c’est la partie calculatoire du programme. On a traduit le programme python en javascript.

•La 3eme partie est aussi en javascript : c’est une “class boutton”, elle permet d’afficher un bouton sur la page web. Ici en l’occurrence, lorsque l’on va appuyer sur le bouton, le programme va s’effectuer.

No Responses

Leave a Reply

Your email address will not be published. Required fields are marked *