Skip to content
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
902ccaf
UNST-9434
jreyns Nov 19, 2025
414cdd2
Merge remote-tracking branch 'origin/main' into fm/feature/UNST-9434_…
jreyns Nov 19, 2025
9c983f0
UNST-9434
jreyns Nov 19, 2025
054d6fc
UNST-9434
jreyns Nov 19, 2025
773a0c4
UNST-9434
jreyns Nov 20, 2025
613d30a
Merge remote-tracking branch 'origin/main' into fm/feature/UNST-9434_…
jreyns Nov 20, 2025
106a563
Update src/engines_gpl/dflowfm/packages/dflowfm_kernel/src/dflowfm_ke…
jreyns Dec 22, 2025
0c50bcd
Update src/engines_gpl/dflowfm/packages/dflowfm_kernel/src/dflowfm_da…
jreyns Dec 22, 2025
c108921
Merge remote-tracking branch 'remotes/origin/main' into fm/feature/UN…
hrajagers Jan 28, 2026
c79a179
Fortran styler
hrajagers Jan 28, 2026
7c26555
minor changes adding ".0" and some comment updates
hrajagers Jan 29, 2026
faffc99
review comments part 1
jreyns Feb 4, 2026
eabaed8
UNST-9434 review comments part 2
jreyns Feb 11, 2026
9641a7b
remove superfluous vars
jreyns Feb 19, 2026
e976feb
Merge branch 'fm/feature/UNST-9434_merge_branch_sedmor' of https://gi…
jreyns Feb 19, 2026
43098dc
Merge branch 'main' of https://github.com/Deltares/Delft3d into fm/fe…
jreyns Feb 19, 2026
e0b6bd3
push review comment updates
hrajagers Mar 25, 2026
e0177a1
Merge remote-tracking branch 'origin/main' into fm/feature/UNST-9434_…
jreyns Mar 26, 2026
36be299
UNST-9434
jreyns Mar 26, 2026
66c1ccf
UNST-9434
jreyns Mar 26, 2026
0d74a47
Merge branch 'main' into fm/feature/UNST-9434_merge_branch_sedmor
hrajagers Apr 15, 2026
7e1d761
Fix merge error: subroutine determine_linkbased_cumblchg() was lost
hrajagers Apr 15, 2026
702fda8
temporarily undo all changes outside src/utils_gpl/morphology
hrajagers Apr 16, 2026
d43da29
consistently use fp arguments to build both for fp=dp and fp=sp.
hrajagers Apr 16, 2026
56af017
updates based on review
hrajagers Apr 17, 2026
dd0fe72
Merge branch 'main' into all/feature/UNST-9434_sedmor__traform
hrajagers Apr 17, 2026
85eb5ac
Merge branch 'main' into all/feature/UNST-9434_sedmor__traform
hrajagers Apr 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 12 additions & 8 deletions src/utils_gpl/morphology/packages/morphology_io/src/rdtrafrm.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1464,13 +1464,13 @@ subroutine traparams(iform ,name ,nparreq ,nparopt ,parkeyw , &
pardef(2) = 0.3_fp
elseif (iform == 19) then
name = 'Van Thiel / Van Rijn (2008)'
nparopt = 13
nparopt = 14
parkeyw(1) = 'facua'
pardef(1) = 0.1_fp
pardef(1) = 0.0_fp
parkeyw(2) = 'facAs'
pardef(2) = 0.1_fp
pardef(2) = 0.2_fp
parkeyw(3) = 'facSk'
pardef(3) = 0.1_fp
pardef(3) = 0.15_fp
parkeyw(4) = 'waveform'
pardef(4) = 2.0_fp ! 1=ruessink, 2=van thiel
parkeyw(5) = 'sws'
Expand All @@ -1491,16 +1491,18 @@ subroutine traparams(iform ,name ,nparreq ,nparopt ,parkeyw , &
pardef(12) = 30.0_fp
parkeyw(13) = 'cmax'
pardef(13) = 0.1_fp
parkeyw(14) = 'alfad50'
pardef(14) = 0.0_fp

elseif (iform == 20) then
name = 'Soulsby / Van Rijn, XBeach flavour'
nparopt = 14
nparopt = 15
parkeyw(1) = 'facua'
pardef(1) = 0.1_fp
pardef(1) = 0.0_fp
parkeyw(2) = 'facAs'
pardef(2) = 0.1_fp
pardef(2) = 0.2_fp
parkeyw(3) = 'facSk'
pardef(3) = 0.1_fp
pardef(3) = 0.15_fp
parkeyw(4) = 'waveform'
pardef(4) = 2.0_fp ! 1=ruessink, 2=van thiel
parkeyw(5) = 'sws'
Expand All @@ -1523,6 +1525,8 @@ subroutine traparams(iform ,name ,nparreq ,nparopt ,parkeyw , &
pardef(13) = 0.1_fp
parkeyw(14) = 'z0'
pardef(14) = 0.006_fp
parkeyw(15) = 'alfad50'
pardef(15) = 0.0_fp
elseif (iform == 21) then
if (name == ' ') name = 'External subroutine'
nparreq = 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ subroutine bedbc2004(tp ,rhowat , &
uon = max(1.0e-5_fp , uon)
uoff = max(1.0e-5_fp , uoff)
!
uwbih = (0.5_fp*uon**3.0_fp + 0.5_fp*uoff**3.0_fp)**(1.0_fp/3.0_fp) ! Representative peak orbital velocity
uwbih = (0.5_fp*uon**3.0_fp + 0.5_fp*uoff**3.0_fp)**(1.0_fp/3.0_fp) ! Representative peak orbital velocity magnitude

else if (wform==2) then
! Modification by Marcio Boechat Albernaz
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ subroutine bedtr2004(u2dh ,d50 ,d90 ,h1 ,rhosol , &
do k = num_layers_grid, 1, -1
dif_aks = aks/h1 - (1.0_fp+sig(k)-thick(k)/2.0_fp)
dif_upp = 3.0_fp*deltas/h1 - (1.0_fp+sig(k)-thick(k)/2.0_fp)
if (dif_aks<=thick(k) .and. dif_aks>=0.0_fp) then
if (k >= 2 .and. dif_aks<=thick(k) .and. dif_aks>=0.0_fp) then
!
Comment thread
hrajagers marked this conversation as resolved.
! k-layer contains aks (take part above)
!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ subroutine calseddf1993(ustarc ,ws ,h1 ,num_layers_grid ,s
if (ltur==0 .or. ltur==1 .or. difvr) then
!
! if algebraic or K-L turbulence model or difvr = .true. then
! calculate sediment mixing according to Van Rijn based on his
! calculate sediment mixing according to Van Rijn based on Coleman's
! parabolic-linear mixing distribution for current-related mixing
Comment thread
hrajagers marked this conversation as resolved.
Outdated
!
! set vertical sediment mixing values for waves and currents at water surface
Expand Down
33 changes: 23 additions & 10 deletions src/utils_gpl/morphology/packages/morphology_kernel/src/trab19.f90
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ subroutine trab19(u ,v ,hrms ,rlabda ,teta ,h
real(fp) :: urms2
real(fp) :: ucrb, ucrs, asb, ass, term1, ceqb, ceqs
real(fp) :: cmax2h
real(fp) :: alfad50
!
!
!! executable statements -------------------------------------------------------
Expand All @@ -122,8 +123,13 @@ subroutine trab19(u ,v ,hrms ,rlabda ,teta ,h
ag = par(1)
delta = par(4)
facua = par(11)
facas = par(12)
facsk = par(13)
if (comparereal(facua, 0.0_fp, 1d-10) == 0) then
Comment thread
hrajagers marked this conversation as resolved.
Outdated
facas = par(12)
facsk = par(13)
else
facas = facua
facsk = facua
end if
waveform = int(par(14))
sws = int(par(15))
lws = int(par(16))
Expand All @@ -134,10 +140,10 @@ subroutine trab19(u ,v ,hrms ,rlabda ,teta ,h
smax = par(21)
reposeangle = par(22)
cmax = par(23)
alfad50 = par(24)
!
! limit input parameters to sensible values
!
facua = max(min(facua,1.0_fp),0.0_fp)
facas = max(min(facas,1.0_fp),0.0_fp)
facsk = max(min(facsk,1.0_fp),0.0_fp)
if (.not. (waveform==1 .or. waveform==2)) waveform=2 ! van Thiel default
Expand All @@ -151,6 +157,7 @@ subroutine trab19(u ,v ,hrms ,rlabda ,teta ,h
if (smax<0.0_fp) smax=huge(0.0_fp)*1.0e-20_fp
reposeangle = max(min(reposeangle,45.0_fp),30.0_fp)
cmax = max(min(cmax,1.0_fp),0.0_fp)
alfad50 = max(min(alfad50,1.5_fp),0.0_fp)
!
cf = ag / chezy / chezy
!
Expand Down Expand Up @@ -182,25 +189,31 @@ subroutine trab19(u ,v ,hrms ,rlabda ,teta ,h
dzdx, dzdy, dtol, phi, ucr, ucrb, Ucrs)
!
! transport parameters
Asb=0.015_fp*h*(d50/h)**1.2_fp/(delta*ag*d50)**0.75_fp !bed load coefficent
Ass=0.012_fp*d50*dster**(-0.6_fp)/(delta*ag*d50)**1.2_fp !suspended load coeffient
Asb=0.015_fp*h*(d50/h)**1.2_fp/(delta*ag*d50)**0.75_fp !bed load coefficient
Ass=0.012_fp*d50*dster**(-0.6_fp)/(delta*ag*d50)**1.2_fp !suspended load coefficient
!
! Van Rijn use Peak orbital flow velocity --> 0.64 corresponds to 0.4 coefficient regular waves Van Rijn (2007)
term1=utot**2+0.64_fp*sws*urms2
! reduce sediment suspensions for (inundation) overwash conditions with critical flow velocities
term1=min(term1,smax*ag/max(cf,1e-10_fp)*d50*delta)
term1=sqrt(term1)
!
ceqb = 0.0_fp !initialize ceqb
ceqs = 0.0_fp !initialize ceqs
!
if(term1>Ucrb .and. h>dtol) then
ceqb=Asb*(term1-Ucrb)**1.5_fp
ceqb = Asb*(term1-Ucrb)**1.5_fp
else
ceqb = 0.0_fp
end if
if(term1>Ucrs .and. h>dtol) then
ceqs=Ass*(term1-Ucrs)**2.4_fp
ceqs = Ass*(term1-Ucrs)**2.4_fp
else
ceqs = 0.0_fp
end if
!
if (alfad50 > 0.0_fp) then
ceqb = ceqb * (0.000225_fp/d50)**alfad50
ceqs = ceqs * (0.000225_fp/d50)**alfad50
endif
Comment thread
hrajagers marked this conversation as resolved.
Outdated
!
cmax2h = cmax*h/2.0_fp
ceqb = min(ceqb, cmax2h) ! maximum equilibrium bed concentration
cesus = min(ceqs, cmax2h)/h ! m2/s/m*s/m = [-], and times rhosol in eqtran
Expand Down
22 changes: 17 additions & 5 deletions src/utils_gpl/morphology/packages/morphology_kernel/src/trab20.f90
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ subroutine trab20(u ,v ,hrms ,rlabda ,teta ,h
real(fp) :: z0
real(fp) :: cd
real(fp) :: cmax2h
real(fp) :: alfad50
!
!
!! executable statements -------------------------------------------------------
Expand All @@ -119,8 +120,13 @@ subroutine trab20(u ,v ,hrms ,rlabda ,teta ,h
ag = par(1)
delta = par(4)
facua = par(11)
facas = par(12)
facsk = par(13)
if (comparereal(facua, 0.0_fp, 1d-10) == 0) then
facas = par(12)
facsk = par(13)
else
facas = facua
facsk = facua
end if
Comment thread
hrajagers marked this conversation as resolved.
waveform = int(par(14))
sws = int(par(15))
lws = int(par(16))
Expand All @@ -132,10 +138,10 @@ subroutine trab20(u ,v ,hrms ,rlabda ,teta ,h
reposeangle = par(22)
cmax = par(23)
z0 = par(24)
alfad50 = par(25)
!
! limit input parameters to sensible values
!
facua = max(min(facua,1.0_fp),0.0_fp)
facas = max(min(facas,1.0_fp),0.0_fp)
facsk = max(min(facsk,1.0_fp),0.0_fp)
if (.not. (waveform==1 .or. waveform==2)) waveform=2 ! van Thiel default
Expand All @@ -150,6 +156,7 @@ subroutine trab20(u ,v ,hrms ,rlabda ,teta ,h
reposeangle = max(min(reposeangle,45.0_fp),30.0_fp)
cmax = max(min(cmax,1.0_fp),0.0_fp)
z0 = max(min(z0,0.05_fp),0.0001_fp)
alfad50 = max(min(alfad50,1.5_fp),0.0_fp)
!
cf = ag / chezy / chezy
!
Expand All @@ -173,8 +180,8 @@ subroutine trab20(u ,v ,hrms ,rlabda ,teta ,h
Cd=(0.40_fp/(log(max(h,10.0_fp*z0)/z0)-1.0_fp))**2
!
! transport parameters
Asb=0.005_fp*h*(d50/h/(delta*ag*d50))**1.2_fp ! bed load coefficent
Ass=0.012_fp*d50*dster**(-0.6_fp)/(delta*ag*d50)**1.2_fp ! suspended load coeffient
Asb=0.005_fp*h*(d50/h/(delta*ag*d50))**1.2_fp ! bed load coefficient
Ass=0.012_fp*d50*dster**(-0.6_fp)/(delta*ag*d50)**1.2_fp ! suspended load coefficient
!
term1=utot**2+0.018_fp/Cd*sws*urms2
!
Expand All @@ -191,6 +198,11 @@ subroutine trab20(u ,v ,hrms ,rlabda ,teta ,h
ceqs=Ass*(term1-Ucrs)**2.4_fp
end if
!
if (alfad50 > 0.0_fp) then
ceqb = ceqb * (0.000225_fp/d50)**alfad50
ceqs = ceqs * (0.000225_fp/d50)**alfad50
endif
Comment thread
hrajagers marked this conversation as resolved.
Outdated
!
cmax2h = cmax*h/2.0_fp
ceqb = min(ceqb, cmax2h) ! maximum equilibrium bed concentration
cesus = min(ceqs, cmax2h)/h ! maximum equilibrium suspended concentration
Expand Down
Loading