uDALES / u-dales

uDALES: large-eddy-simulation software for urban flow, dispersion and microclimate modelling
https://udales.github.io/u-dales
GNU General Public License v3.0
47 stars 16 forks source link

Nudging data or micro-scale forcing using observed soil moisture or water content #146

Closed rarygit closed 1 week ago

rarygit commented 2 years ago

Issue #40 (closed) contained a useful description of soil water and water replenishment (none).

Is it possible to use nudging or large/micro scale forcing data of observed soil water content?

The purpose is to test tree subcanopy turbulent convective fluxes (i.e cooling effects at the pedestrian level).

Thanks for any suggestions.

ivosuter commented 2 years ago

Hello, it is currently not possible to read in large scale forcing at given time-steps and the code would need to be adapted. Currently there is also only soil-moisture in the outermost layer and therefore no transport of water into the soil (percolation). If the water is not assumed to be constant it will just deplete through evaporative flux 'ef', but additional terms could be added to the right-hand side of following line in modEB.f90: 'facwsoil(n) = max(facwsoil(n) + facefi(n) tEBrlvi * facdi(n, 1), 0.)' or in words: watercontent = watercontent + latent heat flux time step 1/latent heat of vaporization 1/layer thickness e.g. one could add '_precip(n) tEB_' to have a defined precipitation rate on facet n in kg/m2/s and tEB is in s, and therefore watercontent is in kg/m3. To update precip(n) during the simulation it would be necessary to read a file at every energy balance time-step (usually every ~300s) Radiative fluxes are also fixed in time at the moment. I guess nudging could be implemented for both. E.g. by updating the values in: subroutine EB … if ((rk3step .eq. 3) .and. (timee .ge. tnextEB)) then netsw(:) = read shortwave_file precip(:) = read precipitation_file call updateGR ...