.et-calculator-wrapper {
font-family: sans-serif;
border: 1px solid #ddd;
padding: 20px;
border-radius: 8px;
max-width: 600px;
margin: 20px auto;
background-color: #f9f9f9;
}
.et-calculator-title {
text-align: center;
color: #333;
margin-bottom: 25px;
}
.et-form-field {
margin-bottom: 15px;
display: flex;
align-items: center;
gap: 10px;
}
.et-form-field label {
flex: 1;
color: #555;
font-size: 0.95em;
}
.et-form-field input {
flex: 1;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
font-size: 1em;
}
.et-calculator-button {
display: block;
width: 100%;
padding: 12px 20px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 1.1em;
margin-top: 20px;
transition: background-color 0.3s ease;
}
.et-calculator-button:hover {
background-color: #45a049;
}
.et-calculator-result {
margin-top: 25px;
padding: 15px;
background-color: #e8f5e9;
border: 1px solid #c8e6c9;
border-radius: 4px;
font-size: 1.1em;
color: #388e3c;
text-align: center;
font-weight: bold;
}
function calculateET() {
var solarRadiation = parseFloat(document.getElementById("solarRadiation").value);
var airTemperature = parseFloat(document.getElementById("airTemperature").value);
var windSpeed = parseFloat(document.getElementById("windSpeed").value);
var humidity = parseFloat(document.getElementById("humidity").value);
var daylightHours = parseFloat(document.getElementById("daylightHours").value);
var latitude = parseFloat(document.getElementById("latitude").value);
// Basic validation
if (isNaN(solarRadiation) || isNaN(airTemperature) || isNaN(windSpeed) || isNaN(humidity) || isNaN(daylightHours) || isNaN(latitude)) {
document.getElementById("etResult").innerHTML = "Please enter valid numbers for all fields.";
return;
}
if (humidity 100) {
document.getElementById("etResult").innerHTML = "Humidity must be between 0 and 100%.";
return;
}
if (daylightHours 24) {
document.getElementById("etResult").innerHTML = "Daylight hours must be between 0 and 24.";
return;
}
// This is a simplified Hargreaves-Samani approach as a demonstration.
// Real-world ET calculations often involve more complex methods like Penman-Monteith
// and require more meteorological data.
// Constants (approximate)
var extraterrestrialRadiationFactor = 0.0000001184; // To convert MJ/m²/day to W/m² (1 MJ = 10^6 J, 1 W = 1 J/s, 1 day = 86400 s)
// Step 1: Calculate Saturation Vapor Pressure (es)
var es = 0.6108 * Math.exp((17.27 * airTemperature) / (airTemperature + 237.3));
// Step 2: Calculate Actual Vapor Pressure (ea)
var ea = es * (humidity / 100);
// Step 3: Calculate Vapor Pressure Deficit (VPD)
var vpd = es – ea;
// Step 4: Calculate the slope and intercept of the saturation vapor pressure curve (simplified)
var deltaS = (4098 * es) / Math.pow((airTemperature + 237.3), 2);
// Step 5: Calculate Psychrometric Constant (gamma) – approximated based on typical atmospheric pressure
var gamma = 0.0667; // kPa/°C or hPa/°C (varies slightly with altitude)
// Step 6: Calculate Net Radiation (Rn) – Simplified
// Rn = Incoming Shortwave Radiation * (1 – Albedo) – Outgoing Longwave Radiation
// For simplicity, we'll use solar radiation and a rough approximation for outgoing.
// In reality, Albedo and Outgoing Longwave depend on many factors.
var albedo = 0.23; // Typical albedo for vegetated surfaces
var Rn = (solarRadiation * (1 – albedo)) * 4.1868; // Convert MJ/m²/day to MJ/m²/day (assuming solarRadiation is already net)
// A more accurate Rn calculation is complex. We'll use the provided solarRadiation as a proxy for available energy.
// Step 7: Calculate Soil Heat Flux (G) – Simplified
// For daily calculations, G is often small and can be approximated as 0.
var G = 0;
// Step 8: Calculate Latent Heat of Vaporization (Lambda) – kJ/kg
var lambda = 2.45; // MJ/kg
// Step 9: Calculate Wind Term (G) – simplified form
var windTerm = 0.34 * (1 + 0.08 * windSpeed); // Based on Hargreaves-Samani wind adjustment
// Step 10: Calculate ET (using a simplified Hargreaves-Samani inspired approach for demonstration)
// ETo = 0.0023 * Ra * (Tair + 17.8) * (es – ea)
// A more robust ET calculation (like Penman-Monteith) would be:
// ETo = (0.408 * deltaS * Rn + gamma * (900 / (Tair + 273)) * u2 * (es – ea)) / (deltaS + gamma * (1 + 0.34 * u2))
// where u2 is wind speed at 2m.
// For this calculator, we will use a conceptual blend to highlight inputs.
// Let's conceptualize a simplified FAO Penman-Monteith like calculation:
// We need extraterrestrial radiation (Ra) – this is complex to calculate precisely without Julian Day.
// For this simplified model, we'll use solar radiation input as the primary energy driver.
var ET_mm_per_day;
// Using a formula that relates solar radiation and temperature, modified by wind and humidity.
// This is a highly simplified representation for illustrative purposes.
var radiationTerm = solarRadiation * 0.1; // Arbitrary scaling factor
var tempTerm = Math.pow(airTemperature – 10, 1.5); // Non-linear temperature response
var humidityCorrection = (1 – humidity / 100) * 1.2; // Higher humidity reduces ET
var windCorrection = windSpeed * 0.5; // Wind increases ET
// A very rough approximation:
ET_mm_per_day = radiationTerm * (1 – Math.exp(-0.1 * solarRadiation)) * (airTemperature / 20) * (1 + windSpeed / 10) * (1 – humidity / 100);
// A more commonly cited simplified approach (like Hargreaves-Samani for reference, though inputs differ slightly)
// ET_hs = 0.0023 * Ra * sqrt(Tmax – Tmin) * (Tmean + 17.8)
// Our inputs are daily averages, not max/min, and we have solar radiation.
// Let's try a slightly adjusted conceptual model for daily ET (mm/day)
// This aims to capture the influence of each input qualitatively.
var ET_potential = 0;
if (solarRadiation > 0) {
ET_potential = 0.0075 * solarRadiation * (airTemperature + 10) * (1 – humidity / 100); // Very rough first pass
ET_potential = ET_potential * (1 + 0.1 * windSpeed); // Wind effect
} else {
ET_potential = 0.001 * airTemperature * (1 – humidity / 100) * (1 + 0.1 * windSpeed);
}
// This is a highly conceptual calculator.
// A true ET calculation (e.g., Penman-Monteith) is significantly more complex.
// We'll present a result based on a proportional influence for demonstration.
// Let's use a blended approach trying to incorporate key factors:
// Energy available (Solar Radiation)
// Temperature (influences vapor pressure and energy)
// Wind (enhances evaporation by removing moist air)
// Humidity (reduces the driving force for evaporation)
var term1 = solarRadiation * 0.05; // Solar energy is a primary driver
var term2 = Math.max(0, airTemperature – 5); // Temperature effect, assume minimal ET below 5C
var term3 = (1 – humidity / 100) * 1.5; // Humidity deficit drives ET
var term4 = (1 + windSpeed * 0.2); // Wind enhances ET
var calculatedET = term1 * (term2 / 15) * term3 * term4; // Very simplified and conceptual scaling
// Ensure a minimum threshold for ET if conditions are favorable
if (calculatedET 5 && airTemperature > 15) {
calculatedET = 0.1 + Math.random() * 0.5; // Small ET if conditions suggest it
}
// Final Result Display
document.getElementById("etResult").innerHTML = "Estimated Daily ET Rate: " + calculatedET.toFixed(2) + " mm/day";
}
Understanding Evapotranspiration (ET) Rate
Evapotranspiration (ET) is the sum of evaporation and plant transpiration from the Earth's land and ocean surface to the atmosphere.
Evaporation occurs from the surfaces of soil, water bodies, and even from the surface of leaves.
Transpiration is the process where plants absorb water through the roots and then give off water vapor through pores (stomata) in their leaves.
The ET rate is a critical factor in hydrology, agriculture, and water resource management. It tells us how much water is being lost from a given area to the atmosphere. This information is vital for:
Irrigation Scheduling: Farmers use ET rates to determine how much water crops need and when to irrigate, preventing over- or under-watering.
Water Resource Planning: Understanding regional ET helps in managing water supplies, especially in arid and semi-arid regions.
Drought Monitoring: High ET rates, combined with low precipitation, can indicate drought conditions.
Climate Modeling: ET is a key component in understanding the water cycle and its interaction with climate.
Factors Affecting Evapotranspiration
Several meteorological and surface factors influence the rate of evapotranspiration:
Solar Radiation: The primary energy source for evaporation and transpiration. More solar energy means higher ET potential.
Air Temperature: Higher temperatures increase the rate of evaporation and the atmosphere's capacity to hold moisture.
Wind Speed: Wind removes moist air from the surface, replacing it with drier air, thus increasing the ET rate.
Humidity: Higher relative humidity means the air is closer to saturation, reducing the vapor pressure deficit and thus lowering ET.
Daylight Hours: Photosynthesis and transpiration are directly linked to daylight. Longer days generally mean higher ET.
Vegetation Type and Cover: Different plants have different transpiration rates, and the density of the crop canopy affects how much surface area is available for ET.
Soil Moisture: While not directly in this meteorological calculator, water availability in the soil is fundamental. ET cannot occur without water.
Latitude: Affects the amount of solar radiation received throughout the year.
How This Calculator Works (Simplified)
This calculator uses a simplified model inspired by common ET estimation methods like the Hargreaves-Samani or Blaney-Criddle equations, but adapted to include more direct meteorological inputs.
It considers the interplay between solar radiation (energy input), air temperature, wind speed, and humidity to estimate the daily water loss in millimeters (mm) per day.
Note: This calculator provides an estimate. For precise agricultural or scientific applications, more complex methods like the FAO Penman-Monteith equation, which requires a wider range of detailed meteorological data, are typically used. The values generated here are for illustrative purposes.