diff --git a/src/ejecta/ejecta_emplace.f90 b/src/ejecta/ejecta_emplace.f90 index fda8c4b4..476d6b82 100644 --- a/src/ejecta/ejecta_emplace.f90 +++ b/src/ejecta/ejecta_emplace.f90 @@ -282,10 +282,10 @@ subroutine ejecta_emplace(user,surf,crater,domain,ejb,ejtble,deltaMtot,cumulativ ! Find out where in the table this new velocity corresponds to ind = 1 - call util_search(ejb%vesq,ind,ejtble,vsq,klo) + call util_search(ejb%vesq,ind,ejtble,log(vsq),klo) klo = min(max(klo,1),ejtble-1) ! Interpolate on the table to find the flat plane equivalent landing distance for this velocity - frac = (vsq - ejb(klo)%vesq) / (ejb(klo+1)%vesq - ejb(klo)%vesq) + frac = (vsq - exp(ejb(klo)%vesq)) / (exp(ejb(klo+1)%vesq) - exp(ejb(klo)%vesq)) distance = exp(ejb(klo)%lrad) + frac * (exp(ejb(klo+1)%lrad) - exp(ejb(klo)%lrad)) end do diff --git a/src/regolith/regolith_streamtube.f90 b/src/regolith/regolith_streamtube.f90 index 16389a23..e6d04702 100644 --- a/src/regolith/regolith_streamtube.f90 +++ b/src/regolith/regolith_streamtube.f90 @@ -154,7 +154,7 @@ subroutine regolith_streamtube(user,surf,crater,domain,ejb,ejtble,xp,yp,xpi,ypi, end if if (eradc<=0.0_DP) then - write(*,*) k,ebh,crater%ejdis,lrad,exp(ejb(k-1)%lrad),exp(ejb(k)%lrad),eradc,ejb(k-1)%erad,ejb(k)%erad + write(*,*) k,ebh,crater%ejdis,lrad,exp(ejb(k-1)%lrad),exp(ejb(k)%lrad),eradc,exp(ejb(k-1)%erad),exp(ejb(k)%erad) stop end if diff --git a/src/regolith/regolith_transport.f90 b/src/regolith/regolith_transport.f90 index 01ca20a1..ca832102 100644 --- a/src/regolith/regolith_transport.f90 +++ b/src/regolith/regolith_transport.f90 @@ -63,6 +63,11 @@ subroutine regolith_transport(user,surfi,crater,domain,ejb,ejtble,lrad,ebh,newla frac = (loglrad - logtablerad) / logdelta melt = ejb(k)%meltfrac - ((ejb(k)%meltfrac - ejb(k+1)%meltfrac) * frac) end if + if (melt < LOGVSMALL) then + melt = 0.0_DP + else + melt = exp(melt) + end if newlayer%meltvolume = melt * newlayer%totvolume