diff --git a/CHANGELOG.md b/CHANGELOG.md index cdb39510e8a7..0be15b74aeb1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed ### Fixed +- fixed memory leak affecting regional masking. Temporary ESMF field was created but never destroyed ### Removed diff --git a/gridcomps/ExtData2G/ExtDataMasking.F90 b/gridcomps/ExtData2G/ExtDataMasking.F90 index b11bf4638e2f..8eef6711c3e3 100644 --- a/gridcomps/ExtData2G/ExtDataMasking.F90 +++ b/gridcomps/ExtData2G/ExtDataMasking.F90 @@ -186,6 +186,7 @@ subroutine evaluate_region_mask(this,state,var_name,rc) enddo end if deallocate( mask) + call ESMF_FieldDestroy(temp_field, noGarbage=.true., _RC) _RETURN(_SUCCESS) end subroutine evaluate_region_mask @@ -256,6 +257,7 @@ subroutine evaluate_zone_mask(this,state,var_name,rc) where(limitS <= lats .and. lats <=limitN) var3d(:,:,i) = rvar3d(:,:,i) enddo end if + call ESMF_FieldDestroy(temp_field, noGarbage=.true., _RC) _RETURN(_SUCCESS) end subroutine evaluate_zone_mask @@ -424,6 +426,7 @@ subroutine evaluate_box_mask(this,state,var_name,rc) end if deallocate(temp2d) end if + call ESMF_FieldDestroy(temp_field, noGarbage=.true., _RC) _RETURN(_SUCCESS) end subroutine evaluate_box_mask