Generates synthetic Relative Humidity (RH) series for multiple climate stations using stochastic hydro-climatic relationships.
simulate_rh(
stations,
time_index,
rainfall = NULL,
temperature = NULL,
ar_coeff = 0.7,
seasonal_strength = 8,
rain_sensitivity = 0.04,
temp_sensitivity = 0.6,
coastal_moisture = 12,
noise_sd = 3,
min_rh = 15,
max_rh = 100,
seed = NULL
)data.frame from create_stations()
data.frame from generate_time_index()
Optional rainfall data.frame from simulate_rainfall().
Optional temperature data.frame from simulate_temperature().
Numeric. AR(1) persistence coefficient. Default = 0.7
Numeric. Controls seasonal RH variability. Default = 8
Numeric. RH increase per rainfall unit. Default = 0.04
Numeric. RH decrease per temperature unit. Default = 0.6
Numeric. Coastal humidity enhancement factor. Default = 12
Numeric. Standard deviation of stochastic noise. Default = 3
Numeric. Minimum allowable RH (%). Default = 15
Numeric. Maximum allowable RH (%). Default = 100
Optional numeric seed.
data.frame containing:
Station name
Longitude
Latitude
Elevation
Simulation timestamp
Calendar year
Calendar month
Climatological season
Relative humidity (%)
Humidity anomaly
The simulation incorporates:
seasonal humidity cycles,
rainfall-humidity coupling,
temperature-humidity interaction,
coastal moisture effects,
elevation drying effects,
temporal persistence,
stochastic atmospheric variability,
physically realistic RH bounds.
Higher rainfall generally increases RH, while higher temperature lowers RH.
stations <- create_stations(
n = 5,
seed = 123
)
#> Generating synthetic station network...
#> Generated 5 synthetic stations within bounding box.
#> Deriving climate-aware station attributes...
time_index <- generate_time_index(
start_date = "2000-01-01",
end_date = "2005-12-31",
frequency = "monthly"
)
#> Generated 72 time steps at monthly resolution.
rain <- simulate_rainfall(
stations,
time_index
)
#> Rainfall simulation complete for 5 stations.
temp <- simulate_temperature(
stations,
time_index
)
#> Temperature simulation complete for 5 stations.
rh <- simulate_rh(
stations,
time_index,
rainfall = rain,
temperature = temp
)
#> Relative humidity simulation complete for 5 stations.
head(rh)
#> Station LON LAT ELEV CLIMATE_ZONE DATE Year Month Season
#> 1 Station_1 -2.062112 4.818895 765.5 Coastal 2000-01-16 2000 1 Dry
#> 2 Station_1 -2.062112 4.818895 765.5 Coastal 2000-02-15 2000 2 Dry
#> 3 Station_1 -2.062112 4.818895 765.5 Coastal 2000-03-16 2000 3 Pre-Wet
#> 4 Station_1 -2.062112 4.818895 765.5 Coastal 2000-04-15 2000 4 Pre-Wet
#> 5 Station_1 -2.062112 4.818895 765.5 Coastal 2000-05-16 2000 5 Pre-Wet
#> 6 Station_1 -2.062112 4.818895 765.5 Coastal 2000-06-15 2000 6 Wet
#> RH Humidity_Anomaly
#> 1 92.66 3.26
#> 2 99.06 6.55
#> 3 98.26 4.75
#> 4 91.19 0.19
#> 5 92.21 2.84
#> 6 89.97 3.26