Skip to content

Commit 241a058

Browse files
committed
Flush stdout before MPI_Abort so usr gets to see any error message.
1 parent cb01896 commit 241a058

22 files changed

+66
-6
lines changed

src/ConnectDown.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ int connectdown(char *pfile, char *wfile, char *ad8file, char *outletdatasrc, ch
166166

167167
if(!ad8IO.compareTiff(wIO)){
168168
printf("ad8 and w files not the same size. Exiting \n");
169+
fflush(stdout);
169170
MPI_Abort(MCW,4);
170171
}
171172

src/D8HDistToStrm.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ MPI_Init(NULL,NULL);
102102
tiffIO srcf(srcfile,LONG_TYPE);
103103
if(!pf.compareTiff(srcf)) {
104104
printf("File sizes do not match\n%s\n",srcfile);
105+
fflush(stdout);
105106
MPI_Abort(MCW,5);
106107
return 1; //And maybe an unhappy error message
107108
}

src/D8VDistToStrm.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ MPI_Init(NULL,NULL);
105105
tiffIO felf(felfile, FLOAT_TYPE);
106106
if (!pf.compareTiff(felf)) {
107107
printf("File sizes do not match\n%s\n", felfile);
108+
fflush(stdout);
108109
MPI_Abort(MCW, 5);
109110
return 1;
110111
}

src/D8flowpathextremeup.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ MPI_Init(NULL,NULL);
7979
if( useOutlets == 1) {
8080
if(rank==0){
8181
if(readoutlets(datasrc,lyrname,uselyrname,lyrno, hSRSRaster,&numOutlets, x, y) !=0){
82-
printf("Exiting \n");
82+
printf("Read outlets error. Exiting \n");
83+
fflush(stdout);
8384
MPI_Abort(MCW,5);
8485
}else {
8586
MPI_Bcast(&numOutlets, 1, MPI_INT, 0, MCW);
@@ -123,6 +124,7 @@ MPI_Init(NULL,NULL);
123124
tiffIO sa(safile,FLOAT_TYPE);
124125
if(!p.compareTiff(sa)) {
125126
printf("File sizes do not match\n%s\n",safile);
127+
fflush(stdout);
126128
MPI_Abort(MCW,5);
127129
return 1;
128130
}

src/DinfConcLimAccum.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ int dsllArea(char* angfile,char* ctptfile,char* dmfile,char* datasrc,char* lyrna
9090
if( useOutlets == 1) {
9191
if(rank==0){
9292
if(readoutlets(datasrc,lyrname,uselyrname,lyrno,hSRSRaster, &numOutlets, x, y) !=0){
93-
printf("Exiting \n");
93+
printf("Read outlets error. Exiting \n");
94+
fflush(stdout);
9495
MPI_Abort(MCW,5);
9596
}else {
9697
MPI_Bcast(&numOutlets, 1, MPI_INT, 0, MCW);
@@ -141,6 +142,7 @@ int dsllArea(char* angfile,char* ctptfile,char* dmfile,char* datasrc,char* lyrna
141142
tiffIO dm(dmfile, FLOAT_TYPE);
142143
if(!ang.compareTiff(dm)) {
143144
printf("File sizes do not match\n%s\n",dmfile);
145+
fflush(stdout);
144146
MPI_Abort(MCW,5);
145147
return 1;
146148
}
@@ -152,6 +154,7 @@ int dsllArea(char* angfile,char* ctptfile,char* dmfile,char* datasrc,char* lyrna
152154
tiffIO dg(dgfile, SHORT_TYPE);
153155
if(!ang.compareTiff(dg)) {
154156
printf("File sizes do not match\n%s\n",dgfile);
157+
fflush(stdout);
155158
MPI_Abort(MCW,5);
156159
return 1;
157160
}
@@ -162,6 +165,7 @@ int dsllArea(char* angfile,char* ctptfile,char* dmfile,char* datasrc,char* lyrna
162165
tiffIO q(qfile, FLOAT_TYPE);
163166
if(!ang.compareTiff(q)) {
164167
printf("File sizes do not match\n%s\n",qfile);
168+
fflush(stdout);
165169
MPI_Abort(MCW,5);
166170
return 1;
167171
}

src/DinfDistDown.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ int hdisttostreamgrd(char *angfile, char *wfile, char *srcfile, char *dtsfile, i
158158
tiffIO w(wfile, FLOAT_TYPE);
159159
if(!ang.compareTiff(w)) {
160160
printf("File sizes do not match\n%s\n",wfile);
161+
fflush(stdout);
161162
MPI_Abort(MCW,5);
162163
return 1;
163164
}
@@ -441,6 +442,7 @@ int vdroptostreamgrd(char *angfile, char *felfile, char *srcfile, char *dtsfile,
441442
tiffIO fel(felfile, FLOAT_TYPE);
442443
if(!ang.compareTiff(fel)) {
443444
printf("File sizes do not match\n%s\n",felfile);
445+
fflush(stdout);
444446
MPI_Abort(MCW,5);
445447
return 1;
446448
}
@@ -452,6 +454,7 @@ int vdroptostreamgrd(char *angfile, char *felfile, char *srcfile, char *dtsfile,
452454
tiffIO src(srcfile, SHORT_TYPE);
453455
if(!ang.compareTiff(src)) {
454456
printf("File sizes do not match\n%s\n",srcfile);
457+
fflush(stdout);
455458
MPI_Abort(MCW,5);
456459
return 1;
457460
}
@@ -754,6 +757,7 @@ int pdisttostreamgrd(char *angfile, char *felfile, char *wfile, char *srcfile, c
754757
tiffIO fel(felfile, FLOAT_TYPE);
755758
if(!ang.compareTiff(fel)) {
756759
printf("File sizes do not match\n%s\n",felfile);
760+
fflush(stdout);
757761
MPI_Abort(MCW,5);
758762
return 1;
759763
}
@@ -767,6 +771,7 @@ int pdisttostreamgrd(char *angfile, char *felfile, char *wfile, char *srcfile, c
767771
tiffIO w(wfile, FLOAT_TYPE);
768772
if(!ang.compareTiff(w)) {
769773
printf("File sizes do not match\n%s\n",wfile);
774+
fflush(stdout);
770775
MPI_Abort(MCW,5);
771776
return 1;
772777
}
@@ -778,6 +783,7 @@ int pdisttostreamgrd(char *angfile, char *felfile, char *wfile, char *srcfile, c
778783
tiffIO src(srcfile, SHORT_TYPE);
779784
if(!ang.compareTiff(src)) {
780785
printf("File sizes do not match\n%s\n",srcfile);
786+
fflush(stdout);
781787
MPI_Abort(MCW,5);
782788
return 1;
783789
}
@@ -1121,6 +1127,7 @@ int sdisttostreamgrd(char *angfile, char *felfile, char *wfile, char *srcfile,
11211127
tiffIO fel(felfile, FLOAT_TYPE);
11221128
if(!ang.compareTiff(fel)) {
11231129
printf("File sizes do not match\n%s\n",felfile);
1130+
fflush(stdout);
11241131
MPI_Abort(MCW,5);
11251132
return 1;
11261133
}
@@ -1134,6 +1141,7 @@ int sdisttostreamgrd(char *angfile, char *felfile, char *wfile, char *srcfile,
11341141
tiffIO w(wfile, FLOAT_TYPE);
11351142
if(!ang.compareTiff(w)) {
11361143
printf("File sizes do not match\n%s\n",wfile);
1144+
fflush(stdout);
11371145
MPI_Abort(MCW,5);
11381146
return 1;
11391147
}
@@ -1145,6 +1153,7 @@ int sdisttostreamgrd(char *angfile, char *felfile, char *wfile, char *srcfile,
11451153
tiffIO src(srcfile, SHORT_TYPE);
11461154
if(!ang.compareTiff(src)) {
11471155
printf("File sizes do not match\n%s\n",srcfile);
1156+
fflush(stdout);
11481157
MPI_Abort(MCW,5);
11491158
return 1;
11501159
}

src/DinfDistUp.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ int hdisttoridgegrd(char *angfile, char *wfile, char *rtrfile, int statmethod,
161161
tiffIO w(wfile, FLOAT_TYPE);
162162
if(!ang.compareTiff(w)) {
163163
printf("File sizes do not match\n%s\n",wfile);
164+
fflush(stdout);
164165
MPI_Abort(MCW,5);
165166
return 1;
166167
}
@@ -398,6 +399,7 @@ int vrisetoridgegrd(char *angfile, char *felfile, char *rtrfile, int statmethod,
398399
tiffIO fel(felfile, FLOAT_TYPE);
399400
if(!ang.compareTiff(fel)) {
400401
printf("File sizes do not match\n%s\n",felfile);
402+
fflush(stdout);
401403
MPI_Abort(MCW,5);
402404
return 1;
403405
}
@@ -659,6 +661,7 @@ int pdisttoridgegrd(char *angfile, char *felfile, char *wfile, char *rtrfile,
659661
tiffIO fel(felfile, FLOAT_TYPE);
660662
if(!ang.compareTiff(fel)) {
661663
printf("File sizes do not match\n%s\n",felfile);
664+
fflush(stdout);
662665
MPI_Abort(MCW,5);
663666
return 1;
664667
}
@@ -671,6 +674,7 @@ int pdisttoridgegrd(char *angfile, char *felfile, char *wfile, char *rtrfile,
671674
tiffIO w(wfile, FLOAT_TYPE);
672675
if(!ang.compareTiff(w)) {
673676
printf("File sizes do not match\n%s\n",wfile);
677+
fflush(stdout);
674678
MPI_Abort(MCW,5);
675679
return 1;
676680
}
@@ -980,6 +984,7 @@ int sdisttoridgegrd(char *angfile, char *felfile, char *wfile, char *rtrfile,
980984
tiffIO fel(felfile, FLOAT_TYPE);
981985
if(!ang.compareTiff(fel)) {
982986
printf("File sizes do not match\n%s\n",felfile);
987+
fflush(stdout);
983988
MPI_Abort(MCW,5);
984989
return 1;
985990
}
@@ -992,6 +997,7 @@ int sdisttoridgegrd(char *angfile, char *felfile, char *wfile, char *rtrfile,
992997
tiffIO w(wfile, FLOAT_TYPE);
993998
if(!ang.compareTiff(w)) {
994999
printf("File sizes do not match\n%s\n",wfile);
1000+
fflush(stdout);
9951001
MPI_Abort(MCW,5);
9961002
return 1;
9971003
}

src/DinfRevAccum.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ int dsaccum(char *angfile,char *wgfile, char *raccfile, char *dmaxfile)
9595
tiffIO wg(wgfile, FLOAT_TYPE);
9696
if(!ang.compareTiff(wg)) {
9797
printf("File sizes do not match\n%s\n",wgfile);
98+
fflush(stdout);
9899
MPI_Abort(MCW,5);
99100
return 1;
100101
}

src/DinfTransLimAccum.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ int tlaccum(char *angfile, char *tsupfile, char *tcfile, char *tlafile, char *de
8585
if( useOutlets == 1) {
8686
if(rank==0){
8787
if(readoutlets(datasrc,lyrname,uselyrname,lyrno,hSRSRaster, &numOutlets, x, y) !=0){
88-
printf("Exiting \n");
88+
printf("Read outlets error. Exiting \n");
89+
fflush(stdout);
8990
MPI_Abort(MCW,5);
9091
}else {
9192
MPI_Bcast(&numOutlets, 1, MPI_INT, 0, MCW);
@@ -140,6 +141,7 @@ int tlaccum(char *angfile, char *tsupfile, char *tcfile, char *tlafile, char *de
140141
tiffIO tsup(tsupfile, FLOAT_TYPE);
141142
if(!ang.compareTiff(tsup)) {
142143
printf("File sizes do not match\n%s\n",tsupfile);
144+
fflush(stdout);
143145
MPI_Abort(MCW,5);
144146
return 1;
145147
}
@@ -151,6 +153,7 @@ int tlaccum(char *angfile, char *tsupfile, char *tcfile, char *tlafile, char *de
151153
tiffIO tc(tcfile, FLOAT_TYPE);
152154
if(!ang.compareTiff(tc)){
153155
printf("File sizes do not match\n%s\n",tcfile);
156+
fflush(stdout);
154157
MPI_Abort(MCW,5);
155158
return 1;
156159
}
@@ -163,6 +166,7 @@ int tlaccum(char *angfile, char *tsupfile, char *tcfile, char *tlafile, char *de
163166
tiffIO cin(cinfile, FLOAT_TYPE);
164167
if(!ang.compareTiff(cin)) {
165168
printf("File sizes do not match\n%s\n",cinfile);
169+
fflush(stdout);
166170
MPI_Abort(MCW,5);
167171
return 1;
168172
}

src/DropAnalysis.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,10 +253,12 @@ int dropan(char *areafile, char *dirfile, char *elevfile, char *ssafile, char *d
253253

254254
if(!dir.compareTiff(ssa)){
255255
printf("dir and ssa files not the same size. Exiting \n");
256+
fflush(stdout);
256257
MPI_Abort(MCW,4);
257258
}
258259
if(!ssa.compareTiff(area)){
259260
printf("ssa and area files not the same size. Exiting \n");
261+
fflush(stdout);
260262
MPI_Abort(MCW,4);
261263
}
262264

@@ -273,6 +275,7 @@ int dropan(char *areafile, char *dirfile, char *elevfile, char *ssafile, char *d
273275
}
274276
else {
275277
printf("Error opening shapefile. Exiting \n");
278+
fflush(stdout);
276279
MPI_Abort(MCW,5);
277280
}
278281
}
@@ -339,6 +342,7 @@ int dropan(char *areafile, char *dirfile, char *elevfile, char *ssafile, char *d
339342
// compare to ssa size
340343
if(!elev.compareTiff(ssa)){
341344
printf("elev and ssa files not the same size. Exiting \n");
345+
fflush(stdout);
342346
MPI_Abort(MCW,5);
343347
}
344348

@@ -353,6 +357,7 @@ int dropan(char *areafile, char *dirfile, char *elevfile, char *ssafile, char *d
353357
float thresh;
354358
if(nthresh<2){
355359
printf("Number of thresholds must be greater than 1. \n");
360+
fflush(stdout);
356361
MPI_Abort(MCW,7);
357362
}
358363
// *** loop over all thresholds

0 commit comments

Comments
 (0)