PenmanMonteithHourly
Computes Potential Evapotranspiration by using the algorithm of Penman-Monteith FAO 56 FAO56
"The so-called reference crop evapotranspiration or reference evapotranspiration, denoted as potential evapotranspiration ETp. The reference surface is a hypothetical grass reference crop with an assumed a fixed crop height, a fixed surface resistance and a fixed albedo. The reference surface closely resembles an extensive surface of green, well-watered grass of uniform height, actively growing and completely shading the ground. The fixed surface resistance implies a moderately dry soil surface resulting from about a weekly irrigation frequency"
Quick start
Installing the package
Install the package by typing:
]
add PenmanMonteithHourlyThe instructions are found in Manual
Then to use it:
using PenmanMonteithHourlyRunning the model with examples
Step 1:
The following climate input csv data file can be downloaded:
# create a "data/input" directory in the current directory
Testdir = @__DIR__
# The path can be modified
Inputdir = joinpath(Testdir, "DATA/INPUT")
isdir(Inputdir) || mkpath(Inputdir)
Outputdir = joinpath(Testdir, "DATA/OUTPUT")
isdir(Outputdir) || mkpath(Outputdir)
Csv_path = joinpath(Inputdir, "Ballycanew_Climate_Minute.csv")
Csv_url = "https://raw.githubusercontent.com/AquaPore/PenmanMonteithHourly.jl/refs/heads/main/test/Data/INPUT/Ballycanew/Ballycanew_Climate_Minute.csv"
download(Csv_url, Csv_path)
Step 2:
The following input toml file can be downloaded:
Testdir = @__DIR__
# The path can be modified
Inputdir = joinpath(Testdir, "DATA/INPUT")
isdir(Inputdir) || mkpath(Inputdir)
Outputdir = joinpath(Testdir, "DATA/OUTPUT")
isdir(Outputdir) || mkpath(Outputdir)
Toml_path = joinpath(Inputdir, "Ballycanew_PetOption.toml")
Toml_url = "https://raw.githubusercontent.com/AquaPore/PenmanMonteithHourly.jl/refs/heads/main/test/Data/INPUT/Ballycanew/Ballycanew_PetOption.toml"
download(Toml_url, Toml_path)Step 3:
Modify the toml [path] to get the correct names of the files
Step 4:
Run the code
Path_Toml = raw"D:\JOE\MAIN\MODELS\PenmanMonteithHourly.jl\DATA\INPUT\Timoleague\Timoleague_PetOption.toml"
DayHour, DayHour_Reduced, Pet_Obs, Pet_Obs_Reduced, Pet_Sim, Pet_Sim_Reduced = PenmanMonteithHourly.PENMAN_MONTEITH_HOURLY_RUN(;Path_Toml, α = 0.23, 🎏_Debug=false);