From 0a64f692ab496437120c51dd78b64d6b8567bb9c Mon Sep 17 00:00:00 2001 From: Austin Blevins Date: Thu, 23 Feb 2023 12:49:15 -0500 Subject: [PATCH] writing melt volume instead of fraction works now --- src/init/init_regolith_stack.f90 | 2 ++ src/io/io_write_regotrack.f90 | 2 +- src/regolith/regolith_interior.f90 | 2 ++ src/regolith/regolith_mix.f90 | 4 ++++ src/util/util_init_array.f90 | 4 ++++ 5 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/init/init_regolith_stack.f90 b/src/init/init_regolith_stack.f90 index 1ffad0dc..3e2bf460 100644 --- a/src/init/init_regolith_stack.f90 +++ b/src/init/init_regolith_stack.f90 @@ -46,7 +46,9 @@ subroutine init_regolith_stack(user,surf,domain) bedrock%comp = 0._DP bedrock%age(:) = 0.0_SP allocate(bedrock%meltdist(domain%rcnum)) + allocate(bedrock%distvol(domain%rcnum)) bedrock%meltdist(:) = 0.0_SP + bedrock%distvol(:) = 0.0_SP do yp = 1, user%gridsize do xp = 1, user%gridsize diff --git a/src/io/io_write_regotrack.f90 b/src/io/io_write_regotrack.f90 index b9be4794..bb4f59b3 100644 --- a/src/io/io_write_regotrack.f90 +++ b/src/io/io_write_regotrack.f90 @@ -104,7 +104,7 @@ subroutine io_write_regotrack(user,surf,domain) write(FMD) distvol(:,:) write(FEJM) ejm(:) !write(FEJMF) ejmf(:) - deallocate(meltfrac,thickness,comp,age,distvol,ejm,ejmf) + deallocate(meltvolume,thickness,comp,age,distvol,ejm,ejmf) end do end do close(FMELT) diff --git a/src/regolith/regolith_interior.f90 b/src/regolith/regolith_interior.f90 index a3fd2d60..39f4d399 100644 --- a/src/regolith/regolith_interior.f90 +++ b/src/regolith/regolith_interior.f90 @@ -42,6 +42,7 @@ subroutine regolith_interior(user,surf,crater,domain,incval,nmeltsheet,vmeltshee hmeltsheet = vmeltsheet / (nmeltsheet*user%pix*user%pix) allocate(newlayer%meltdist(domain%rcnum)) + allocate(newlayer%distvol(domain%rcnum)) inc = incval @@ -80,6 +81,7 @@ subroutine regolith_interior(user,surf,crater,domain,incval,nmeltsheet,vmeltshee end do deallocate(newlayer%meltdist) + deallocate(newlayer%distvol) return end subroutine regolith_interior diff --git a/src/regolith/regolith_mix.f90 b/src/regolith/regolith_mix.f90 index c0ab8c72..7ea0a444 100644 --- a/src/regolith/regolith_mix.f90 +++ b/src/regolith/regolith_mix.f90 @@ -47,7 +47,9 @@ subroutine regolith_mix(surfi,mixing_depth,domain) newlayer%meltfrac = 0.0_DP newlayer%age(:) = 0.0_DP allocate(newlayer%meltdist(domain%rcnum)) + allocate(newlayer%distvol(domain%rcnum)) newlayer%meltdist(:) = 0.0_SP + newlayer%distvol(:) = 0.0_SP newlayer%ejm = 0.0_DP newlayer%ejmf = 0.0_DP @@ -60,6 +62,7 @@ subroutine regolith_mix(surfi,mixing_depth,domain) newlayer%meltfrac = newlayer%meltfrac + poppedarray(i)%thickness * poppedarray(i)%meltfrac newlayer%age(:) = newlayer%age(:) + poppedarray(i)%age(:) newlayer%meltdist(:) = newlayer%meltdist(:) + poppedarray(i)%thickness * poppedarray(i)%meltdist(:) + newlayer%distvol(:) = newlayer%distvol(:) + poppedarray(i)%thickness * poppedarray(i)%distvol(:) newlayer%ejm = newlayer%ejm + poppedarray(i)%thickness * poppedarray(i)%ejm newlayer%ejmf = newlayer%ejmf + poppedarray(i)%thickness * poppedarray(i)%ejmf end do @@ -68,6 +71,7 @@ subroutine regolith_mix(surfi,mixing_depth,domain) newlayer%comp = newlayer%comp / newlayer%thickness newlayer%meltfrac = newlayer%meltfrac / newlayer%thickness newlayer%meltdist(:) = newlayer%meltdist(:) / newlayer%thickness + newlayer%distvol(:) = newlayer%distvol(:) / newlayer%thickness newlayer%ejm = newlayer%ejm / newlayer%thickness newlayer%ejmf = newlayer%ejmf / newlayer%thickness diff --git a/src/util/util_init_array.f90 b/src/util/util_init_array.f90 index 76dbe220..3ebd87a6 100644 --- a/src/util/util_init_array.f90 +++ b/src/util/util_init_array.f90 @@ -53,8 +53,12 @@ subroutine util_init_array(regolayer,domain,initstat) regolayer(1)%meltfrac = 0.0_DP regolayer(1)%porosity = 0.0_DP regolayer(1)%age(:) = 0.0_SP + regolayer(1)%ejm = 0.0_DP + regolayer(1)%ejmf = 0.0_DP allocate(regolayer(1)%meltdist(domain%rcnum)) regolayer(1)%meltdist(:) = 0.0_SP + allocate(regolayer(1)%distvol(domain%rcnum)) + regolayer(1)%distvol(:) = 0.0_SP end if ! else ! write(*,*) 'util_init_list: Initialization failed. Exhausted memory.'