diff --git a/CHANGELOG.md b/CHANGELOG.md index e6762dc2..8874a28b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 when in data_driven mode - typo in filepath for BR optics file +- set hsurf to be the last indexed layer when index domains are different + ### Added ## [v2.4.3] - 2025-07-21 diff --git a/Process_Library/GOCART2G_Process.F90 b/Process_Library/GOCART2G_Process.F90 index b99174ae..9a4d56e1 100644 --- a/Process_Library/GOCART2G_Process.F90 +++ b/Process_Library/GOCART2G_Process.F90 @@ -1521,7 +1521,8 @@ subroutine Chem_SettlingSimple ( km, klid, mie, bin, cdt, grav, & ONE_OVER_G = 1.0/grav - hsurf => hghte(i1:i2,j1:j2,km) + dk = ubound(hghte,3) + hsurf => hghte(i1:i2,j1:j2,dk) allocate(dz(i2,j2,km), radius(i2,j2,km), rhop(i2,j2,km), vsettle(i2,j2,km), qa(i2,j2,km), source=0.0) allocate(cmass_before(i2,j2), cmass_after(i2,j2), source=0.0_DP) @@ -1706,7 +1707,8 @@ subroutine Chem_Settling ( km, klid, bin, flag, cdt, grav, & ONE_OVER_G = 1.0/grav - hsurf => hghte(i1:i2,j1:j2,km) + dk = ubound(hghte,3) + hsurf => hghte(i1:i2,j1:j2, dk) allocate(dz(i2,j2,km), radius(i2,j2,km), rhop(i2,j2,km), vsettle(i2,j2,km), qa(i2,j2,km), source=0.0) allocate(cmass_before(i2,j2), cmass_after(i2,j2), source=0.0_DP) @@ -2440,7 +2442,8 @@ subroutine Chem_Settling2Gorig (km, klid, flag, bin, int_qa, grav, delp, & gravDP = grav - hsurf => hghte(i1:i2,j1:j2,km) + dk = ubound(hghte,3) + hsurf => hghte(i1:i2,j1:j2, dk) ! Allocate arrays ! --------------- @@ -2783,7 +2786,8 @@ subroutine Chem_SettlingSimpleOrig ( km, klid, flag, grav, cdt, radiusInp, rhopI i2 = ubound(hghte,1) j2 = ubound(hghte,2) - hsurf => hghte(i1:i2,j1:j2,km) + dk = ubound(hghte,3) + hsurf => hghte(i1:i2,j1:j2, dk) ! Allocate arrays ! --------------- @@ -6524,7 +6528,8 @@ subroutine SulfateDistributeEmissions ( km, nbins, cdt, grav, nymd, nhms, & i2 = size(rhoa,1) j2 = size(rhoa,2) allocate(hsurf(i1:i2,j1:j2)) - hsurf = hghte(i1:i2,j1:j2,km) + k = ubound(hghte,3) + hsurf = hghte(i1:i2,j1:j2,k) allocate(srcSO2(i2,j2), srcSO4(i2,j2), srcDMS(i2,j2), srcSO4anthro(i2,j2), & srcSO2anthro(i2,j2), srcSO2bioburn(i2,j2), source=0.0)