From f238997fc1bbe01b3efda36d656ff970d81ead37 Mon Sep 17 00:00:00 2001 From: George Gayno Date: Thu, 10 Dec 2020 19:37:34 +0000 Subject: [PATCH] bugfix/topo_filter Remove seg faulting loop from filter_topo.F90. Instead always compute dy from lat/lon. Issue #236. --- .../filter_topo.fd/filter_topo.F90 | 28 ++++++------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/sorc/grid_tools.fd/filter_topo.fd/filter_topo.F90 b/sorc/grid_tools.fd/filter_topo.fd/filter_topo.F90 index 840eda761..ff21ffc3e 100644 --- a/sorc/grid_tools.fd/filter_topo.fd/filter_topo.F90 +++ b/sorc/grid_tools.fd/filter_topo.fd/filter_topo.F90 @@ -706,27 +706,17 @@ subroutine read_grid_file(regional) dx(i,j,t) = great_circle_dist( g2, g1, radius ) enddo ; enddo enddo - if( stretch_fac /= 1 ) then - do t = 1, ntiles - do j = js, je - do i = is, ie+1 - g1(1) = geolon_c(i,j, t) - g1(2) = geolat_c(i,j, t) - g2(1) = geolon_c(i,j+1,t) - g2(2) = geolat_c(i,j+1,t) - dy(i,j,t) = great_circle_dist( g2, g1, radius ) - enddo - enddo - enddo - else - do t = 1, ntiles - do j = js, je - do i = is, ie+1 - dy(i,j,t) = dx(j,i,t) - enddo + do t = 1, ntiles + do j = js, je + do i = is, ie+1 + g1(1) = geolon_c(i,j, t) + g1(2) = geolat_c(i,j, t) + g2(1) = geolon_c(i,j+1,t) + g2(2) = geolat_c(i,j+1,t) + dy(i,j,t) = great_circle_dist( g2, g1, radius ) enddo enddo - endif + enddo if( .not. regional ) then !--- make sure it is consitent between tiles. The following maybe not necessary.