diff --git a/src/crater/crater_populate.f90 b/src/crater/crater_populate.f90 index ee354074..9710fc0c 100644 --- a/src/crater/crater_populate.f90 +++ b/src/crater/crater_populate.f90 @@ -336,11 +336,13 @@ subroutine crater_populate(user,surf,crater,domain,prod,production_list,vdist,nt ! Do superdomain ray deposits ! Do sub-pixel craters vertical mixing if (user%doregotrack) then - call crater_superdomain(user,surf,age,age_resolution,prod,nflux,domain,finterval) - call regolith_depth_model(user,domain,finterval,nflux,p) - call regolith_subcrater_mix(user,surf,domain,nflux,finterval,p) - age = age - finterval * user%interval - nmixingtimes = nmixingtimes + 1 + if (user%domixing) then + call crater_superdomain(user,surf,age,age_resolution,prod,nflux,domain,finterval) + call regolith_depth_model(user,domain,finterval,nflux,p) + call regolith_subcrater_mix(user,surf,domain,nflux,finterval,p) + age = age - finterval * user%interval + nmixingtimes = nmixingtimes + 1 + end if end if icrater_last_subpixel = icrater diff --git a/src/globals/module_globals.f90 b/src/globals/module_globals.f90 index cc856a18..36e72477 100644 --- a/src/globals/module_globals.f90 +++ b/src/globals/module_globals.f90 @@ -200,6 +200,7 @@ module module_globals logical :: docollapse ! Set T to use the slope collapse model (turning off speeds up the code for testing) logical :: doangle ! Set to F to only do vertical impacts, otherwise do range of angles (default is T) logical :: doporosity ! Porosity on/off flg. Set to F to turn the model off. Default F. + logical :: domixing ! Set to F to turn off regolith mixing (useful for test craters when you don't want to simulate gardening). Default is T. logical :: doquasimc ! set to T for quasi-MC run. Default F. real(DP) :: basinimp ! Impactor size to switch to multiring basin real(DP) :: maxcrat ! fraction that maximum crater can be relative to grid diff --git a/src/io/io_input.f90 b/src/io/io_input.f90 index 9c56298e..30d155e2 100644 --- a/src/io/io_input.f90 +++ b/src/io/io_input.f90 @@ -93,6 +93,7 @@ subroutine io_input(infile,user) user%dorealistic = .false. user%doquasimc = .false. user%ejecta_truncation = 10.0_DP + user%domixing = .true. write(user%sfdfile,*) trim(adjustl(SFDFILE)) open(unit=LUN,file=infile,status="old",iostat=ierr) @@ -329,6 +330,11 @@ subroutine io_input(infile,user) call io_get_token(line, ilength, ifirst, ilast, ierr) token = line(ifirst:ilast) read(token, *) user%ejecta_truncation + case ("DOMIXING") + ifirst = ilast + 1 + call io_get_token(line, ilength, ifirst, ilast, ierr) + token = line(ifirst:ilast) + read(token, *) user%domixing ! Porosity model case ("POROSITYFLG") ifirst = ilast + 1