From 937946f1d9f2019993216b66a0f650cfc361badb Mon Sep 17 00:00:00 2001 From: Dusan Jovic <48258889+DusanJovic-NOAA@users.noreply.github.com> Date: Wed, 26 Feb 2020 19:23:15 -0500 Subject: [PATCH] Fix Out of Bound Exception in GFSPOST.F (#100) * Fix out-of-bound error in tpause routine in GFSPOST.F * Fix use of undefined variables. --- sorc/ncep_post.fd/GFSPOST.F | 4 ++-- sorc/ncep_post.fd/INITPOST_GFS_NETCDF.f | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sorc/ncep_post.fd/GFSPOST.F b/sorc/ncep_post.fd/GFSPOST.F index 226c6ad03..2cbc1d0e6 100644 --- a/sorc/ncep_post.fd/GFSPOST.F +++ b/sorc/ncep_post.fd/GFSPOST.F @@ -419,7 +419,7 @@ subroutine tpause(km,p,u,v,t,h,ptp,utp,vtp,ttp,htp,shrtp) integer klim(2),k,kd,ktp ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! find tropopause level - call rsearch1(km-2,p(2),2,ptplim(1),klim(1)) + call rsearch1(km-2,p(2),2,ptplim,klim) klim(1)=klim(1)+1 klim(2)=klim(2)+2 ! klim(1) > klim(2) or loops does not run ; klim(2) has a @@ -519,7 +519,7 @@ subroutine mxwind(km,p,u,v,t,h,pmw,umw,vmw,tmw,hmw) real spd(km),spdmw,wmw,dhd,dhu,shrd,shru,dhmw,ub,vb,spdb ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! find maximum wind level - call rsearch1(km,p(1),2,pmwlim(1),klim(1)) + call rsearch1(km,p(1),2,pmwlim,klim) ! klim(1)=klim(1)+1 klim(2)=klim(2)+1 ! spd(klim(1):klim(2))=sqrt(u(klim(1):klim(2))**2+v(klim(1):klim(2))**2) diff --git a/sorc/ncep_post.fd/INITPOST_GFS_NETCDF.f b/sorc/ncep_post.fd/INITPOST_GFS_NETCDF.f index 203955766..114b17525 100644 --- a/sorc/ncep_post.fd/INITPOST_GFS_NETCDF.f +++ b/sorc/ncep_post.fd/INITPOST_GFS_NETCDF.f @@ -135,7 +135,7 @@ SUBROUTINE INITPOST_GFS_NETCDF(ncid3d) ! DECLARE VARIABLES. ! ! REAL fhour - integer nfhour ! forecast hour from nems io file +! integer nfhour ! forecast hour from nems io file integer fhzero !bucket real dtp !physics time step REAL RINC(5) @@ -573,7 +573,7 @@ SUBROUTINE INITPOST_GFS_NETCDF(ncid3d) deallocate(glat1d,glon1d) print*,'idate = ',(idate(i),i=1,7) - !print*,'nfhour = ',nfhour +! print*,'nfhour = ',nfhour ! sample print point ii = im/2