Urban-Meteorology-Reading / SUEWS

Surface Urban Energy and Water Balance Scheme
https://suews.readthedocs.io/
Mozilla Public License 2.0
6 stars 15 forks source link

drip irrigation for trees (suews_phys_waterdist.f95) #109

Closed rarygit closed 3 years ago

rarygit commented 4 years ago

Is your feature request related to a problem? Please describe. Sprinkler irrigation for urban trees is not realistic & inefficient, but OK for grass and lawn. Best management practices for urban GI management and water use efficiency use drip irrigation for trees. In the code for suews_phys_waterdist.f95 at line 137: " !Consider how irrigated trees actually works..." I support that suggestion and recommend it as an enhancement to the code.

Describe the solution you'd like The latent heat flux from tree canopy during elevated summer temperatures is influenced by soil moisture content, e.g. drip irrigation. Ideally implementing subsurface drip irrigation, so that greywater can be included as external water (note: only showers and hand basins; not kitchens and washing machines to minimise contaminant issues).

Describe alternatives you've considered For example, see SWAP fortran code for irrigation (Wageningen NL)

Additional context The issue of sprinkler irrigation for trees seems a limitation for using SUEWS to model urban GI mitigation measures for extreme heat events. Instead SUEWS is better for water balance modelling for extreme rain events and tree canopy storage. That is, emulating sprinkler irrigation of trees.

sunt05 commented 4 years ago

Thanks for the proposal! Could you please give a link/ref to the SWAP code mentioned above?

rarygit commented 4 years ago

Thanks for replying! Here are the links below; all versions (*,f90 source and binaries) are available to download. The latest version is 4.01 There is no makefile. Someone creating a makefile would be a bonus ;;-) The manuals are very good, as well as source code documentation. The program is relatively straightforward to use in an urban context. For example, tree trenches with impermeable bottom layer, pipe drainage. Provides water balance, including latent energy flux. No energy balance. Drainage and irrigation models are well-documented. Also provides contaminant modelling (i.e. road salt) and root stress modelling (drought etc) I use the maespa model (.f90 code) for 3D energy balance/water balance output. https://gitlab.com/VEZY/MAESPA However it does not have a comparable irrigation/drainage model, such as SWAP. It does model subcanopy sensible heat flux. And Remi Vezy worked on the canopy heat regime. That is, not using the default route of using air temperature. I am particularly interested in modelling the sub-canopy sensible heat flux in conjunction with the UTCI (solweig). I see that solweig f90 code is included in suews. As a 2.5D model, solweig provides output at points. This is very useful. I use the TRY plant trait database to parameterise the tree species variables. https://www.try-db.org/TryWeb/Home.php I use suews, solweig, swap, maespa in conjunction with swmm (pipe network). Subsurface drip irrigation (greywater) delivers external water to tree trenches for extreme heat events. As a cooling factor subcanopy sensible heat flux is also important, not just shading. What I would like is all modules and subroutines for this in one code base (suews, solweig). The swmm pipe network is fine, as it can use output time series from suews and solweig.

Download: https://www.swap.alterra.nl https://www.swap.alterra.nl/Downloads.htm https://www.swap.alterra.nl/DownloadRecent/swap4.0.1/Swap4.0.1.htm

rarygit commented 4 years ago

Alternative option for drip irrigation coding in suews: look at parflow https://github.com/parflow/parflow https://github.com/parflow/parflow/blob/master/pfsimulator/clm/clm_main.F90 https://github.com/parflow/parflow/blob/master/pfsimulator/clm/clm_hydro_irrig.F90 https://github.com/parflow/parflow/blob/master/pfsimulator/clm/clm_hydro_canopy.F90

in file clm_main.f90, at line 237:

! Apply irrigation ! IMF @ NOTE: ! New irrigation scheme gives three options: Spray, Drip, Instant ! Irrigation is not applied before clm_hydro_canopy to allow interception of spray irrigation ! clm_hydro_irrig determines whether to irrigate and how much ! ...spray and drip irrigation are then applied in clm_hydro_canopy by adding ! qflx_qirr to the rain rate or throughfall, respectively. ! ...instant irrigation (i.e., artificial inflation of soil moisture) is applied ! in ParFlow at the next dt by adding qflx_qirr_inst to pf_flux

 call clm_hydro_irrig (clm,gmt)
rarygit commented 4 years ago

In file clm_hydro_canopy.f90

At line 68: Spray irrigation added to rain rate (above canopy). NOTE: Added directly to clm%forc_rain, not precipitation forc_rain is the rain rate [mm/s], see clm_main.f90 at line 187

clm%forc_rain = clm%forc_rain + clm%qflx_qirr

At line 132: Drip irrigation added to throughfall, below canopy NOTE: Add directly to throughfall, bypassing canopy

if ( (clm%irrig==1) .and. (clm%irr_type==2) ) then qflx_through = qflx_through + clm%qflx_qirr ! endif

rarygit commented 3 years ago

Hi Ting

This a feature request from early May this year.

Currently we can add irrigation as external water use.

Could we have an option/switch that this irrigation is added to throughfall (drip irrig), as above, rather than just canopy (sprinkler irrig)?

flux throughfall = flux_throughfall + flux_irrig

sunt05 commented 3 years ago

Sorry about the delay in responding to this thread.

To be frank, we are short of resources at the moment to implement this feature. If you can get this in, that would be great. Otherwise, I'm sorry that we can hardly be more helpful.

rarygit commented 3 years ago

Hi Ting

I had thought resources and funding could be a constraint.

Are we able to pull together and build up a team of volunteers to advance the programming for SUEWS, SuPy etc?

Via email to form an initial gathering with a shared repository on Github - mentors, coders of varying degrees and those who would like to learn the inner workings of SUEWS and its associated python framework, SuPy?

Anyone reading this and kind enough to be interested, please raise your hand; i.e. add a comment to the affirmative.

I will look into it for myself, armed with "Modern Fortran - Building efficient parallel applications" (Milan Curcic).

ghost commented 3 years ago

This issue was moved by sunt05 to UMEP-dev/SUEWS#17.