Skip to content
This repository was archived by the owner on Apr 8, 2021. It is now read-only.

Commit 93c9f7b

Browse files
hertnekyTracymkavulich
authored
Add HWRF fix for running copygb from James Frimmel (#14)
* Add HWRF fix for running copygb from James Frimmel * Change default to compile all libraries Co-authored-by: Tracy <tracy.hertneky@noaa.gov> Co-authored-by: Michael Kavulich, Jr <kavulich@ucar.edu>
1 parent c01e9ad commit 93c9f7b

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

make_ncep_libs.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ if [ -z $COMPILER ] ; then echo "ERROR: compiler argument is required"; echo"";
6565
if [ -z $NCEPLIBS_DST_DIR ] ; then echo "ERROR: installdir argument is required"; echo""; usage; fi
6666
if [ -z $OPENMP ] ; then echo "ERROR: openmp argument is required"; echo""; usage; fi
6767
if [ -z $MPI ] ; then MPI=1; fi
68-
if [ -z $APP ] ; then APP=0; fi #APP is an optional argument
68+
if [ -z $APP ] ; then APP=1; fi #APP is an optional argument
6969

7070
# For back compatability, allow APP to be 0 (global) or 1 (all)
7171
if [ "$APP" == "0" ]; then

src/w3nco/v2.0.6/src/instrument.f

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ SUBROUTINE INSTRUMENT(K,KALL,TTOT,TMIN,TMAX)
1212
!
1313
! PROGRAM HISTORY LOG:
1414
! 1998-07-16 IREDELL
15+
! 2019-09-17 FRIMEL and KALINA
16+
! DECOMPOSE RETURN STATISTCS IF STATEMENT
1517
!
1618
! USAGE: CALL INSTRUMENT(K,KALL,TTOT,TMIN,TMAX)
1719
! INPUT ARGUMENT LIST:
@@ -94,11 +96,27 @@ SUBROUTINE INSTRUMENT(K,KALL,TTOT,TMIN,TMAX)
9496
ENDIF
9597
! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
9698
! RETURN STATISTICS
97-
IF(KA.GE.1.AND.KA.LE.KMAX.AND.KALLS(KA).GT.0) THEN
98-
KALL=KALLS(KA)
99-
TTOT=TTOTS(KA)
100-
TMIN=TMINS(KA)
101-
TMAX=TMAXS(KA)
99+
100+
! FRIMEL and KALINA, DECOMPOSE THE IF STATEMENT, SAFER FOR SOME
101+
! COMPILERS. Since No Guarantee on order of evaluation, and when
102+
! evaluation will stop.
103+
! MAKE SURE KA.GE.1 BEFORE TESTING IF KALLS(KA).GT.0, ELSE
104+
! MAY ENCOUNTER A RUNTIME SIGSEGV SEGEMENTATION FAULT.
105+
! Since Subscript #1 of the array KALLS can have value 0 which
106+
! is less than the lower bound of 1
107+
! IF(KA.GE.1.AND.KA.LE.KMAX.AND.KALLS(KA).GT.0) THEN
108+
IF(KA.GE.1.AND.KA.LE.KMAX) THEN
109+
IF(KALLS(KA).GT.0) THEN
110+
KALL=KALLS(KA)
111+
TTOT=TTOTS(KA)
112+
TMIN=TMINS(KA)
113+
TMAX=TMAXS(KA)
114+
ELSE
115+
KALL=0
116+
TTOT=0
117+
TMIN=0
118+
TMAX=0
119+
ENDIF
102120
ELSE
103121
KALL=0
104122
TTOT=0

0 commit comments

Comments
 (0)