From e763d0db613d1a53c4112c546af8a58227d7d86d Mon Sep 17 00:00:00 2001 From: Austin Blevins Date: Tue, 7 Feb 2023 16:46:13 -0500 Subject: [PATCH] fixed a bug in streamtube traversal, but more likely remain --- src/regolith/module_regolith.f90 | 2 +- src/regolith/regolith_streamtube.f90 | 3 +++ src/regolith/regolith_traverse_streamtube.f90 | 8 +++----- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/regolith/module_regolith.f90 b/src/regolith/module_regolith.f90 index dd0288f4..4458c6e1 100644 --- a/src/regolith/module_regolith.f90 +++ b/src/regolith/module_regolith.f90 @@ -119,7 +119,7 @@ subroutine regolith_subpixel_streamtube(user,surfi,deltar,ri,rip1,eradi,newlayer type(surftype),intent(in) :: surfi real(DP),intent(in) :: deltar,ri,rip1,eradi type(regodatatype),intent(inout) :: newlayer - real(DP),intent(out) :: meltinejecta,totvol + real(DP),intent(inout) :: meltinejecta,totvol real(DP),intent(out) :: vmare,totseb real(SP),dimension(:),intent(inout) :: age_collector real(DP),intent(in) :: xmints diff --git a/src/regolith/regolith_streamtube.f90 b/src/regolith/regolith_streamtube.f90 index d3110dbe..91a3ee93 100644 --- a/src/regolith/regolith_streamtube.f90 +++ b/src/regolith/regolith_streamtube.f90 @@ -118,6 +118,9 @@ subroutine regolith_streamtube(user,surf,crater,domain,ejb,ejtble,xp,yp,xpi,ypi, ! Executalbe code + meltinejecta = 0.0_DP + totvol = 0.0_DP + ! ****** Interpolate radial distance, erad, for a given pixel ******* ! outeredge = crater%frad + domain%ejbres * (EJBTABSIZE - 0.5_DP) ! inneredge = crater%frad + 0.5_DP * domain%ejbres diff --git a/src/regolith/regolith_traverse_streamtube.f90 b/src/regolith/regolith_traverse_streamtube.f90 index 549780ea..b4f6e7af 100644 --- a/src/regolith/regolith_traverse_streamtube.f90 +++ b/src/regolith/regolith_traverse_streamtube.f90 @@ -29,7 +29,7 @@ subroutine regolith_traverse_streamtube(user,surfi,deltar,ri,rip1,eradi,erado,ne type(surftype),intent(inout) :: surfi real(DP),intent(in) :: deltar,ri,rip1,eradi,erado type(regodatatype),intent(inout) :: newlayer - real(DP),intent(out) :: meltinejecta,totvol + real(DP),intent(inout) :: meltinejecta,totvol real(DP),intent(out) :: vmare,totseb real(SP),dimension(:),intent(inout) :: age_collector real(DP),intent(in) :: xmints @@ -52,8 +52,6 @@ subroutine regolith_traverse_streamtube(user,surfi,deltar,ri,rip1,eradi,erado,ne real(DP) :: vsh !executable code - meltinejecta = 0.0_DP - totvol = 0.0_DP erad = (eradi + erado)/2.0 rzmax = erad * sqrt(3.0)/4.0 @@ -90,8 +88,8 @@ subroutine regolith_traverse_streamtube(user,surfi,deltar,ri,rip1,eradi,erado,ne vsh = regolith_shock_damage(eradi,deltar,xmints,xsfints,ri,rip1) recyratio = max(vseg-vsh,0.0_DP) / (user%pix**2) / surfi%regolayer(N)%thickness age_collector(:) = age_collector(:) + surfi%regolayer(N)%age(:) * recyratio - meltinejecta = surfi%regolayer(N)%meltfrac * vseg * recyratio - totvol = vseg + meltinejecta = meltinejecta + surfi%regolayer(N)%meltfrac * vseg * recyratio + totvol = totvol + vseg end if else