@@ -849,6 +849,7 @@ Subroutine Initialize_Diagnostic_Info(self,computes,mpi_tag, &
849
849
Integer :: avg_axes(1 :3 ), ecode
850
850
Integer , Allocatable :: indices(:,:)
851
851
Real * 8 , Allocatable :: avg_weights(:,:)
852
+ Character * 8 :: cache_str, rec_str
852
853
Class(DiagnosticInfo) :: self
853
854
854
855
nonstandard= .false.
@@ -892,19 +893,21 @@ Subroutine Initialize_Diagnostic_Info(self,computes,mpi_tag, &
892
893
893
894
894
895
! Check that the cache size is appropriate
896
+ Write (cache_str,' (i8)' )self% cache_size
897
+ Write (rec_str,' (i8)' )self% rec_per_file
895
898
If (present (cache_size)) Then
896
899
If (cache_size .ge. 1 ) Then
897
900
self% cache_size = cache_size
898
901
Endif
899
902
Endif
900
903
If (self% cache_size .lt. 1 ) Then
901
904
If (myid .eq. 0 ) Then
902
- Write ( 6 , * ) ' ////////////////////////////////////////////////////////////////////'
903
- Write ( 6 , * ) ' Warning: Incorrect cache_size specification for ' , self% file_prefix
904
- Write ( 6 , * ) ' Cache_size must be at least 1.'
905
- Write ( 6 , * ) ' Specified cache_size: ' , self % cache_size
906
- Write ( 6 , * ) ' Caching has been deactivated for ' , self% file_prefix
907
- Write ( 6 , * ) ' ////////////////////////////////////////////////////////////////////'
905
+ Call stdout % print ( ' ////////////////////////////////////////////////////////////////////' )
906
+ Call stdout % print ( ' Warning: Incorrect cache_size specification for ' // TRIM ( ADJUSTL ( self% file_prefix)))
907
+ Call stdout % print ( ' Cache_size must be at least 1.' )
908
+ Call stdout % print ( ' Specified cache_size: ' // TRIM ( ADJUSTL (cache_str)) )
909
+ Call stdout % print ( ' Caching has been deactivated for ' // TRIM ( ADJUSTL ( self% file_prefix)) )
910
+ Call stdout % print ( ' ////////////////////////////////////////////////////////////////////' )
908
911
Endif
909
912
self% cache_size = 1
910
913
Endif
@@ -913,13 +916,13 @@ Subroutine Initialize_Diagnostic_Info(self,computes,mpi_tag, &
913
916
If (modcheck .ne. 0 ) Then
914
917
915
918
If (myid .eq. 0 ) Then
916
- Write ( 6 , * ) ' ////////////////////////////////////////////////////////////////////'
917
- Write ( 6 , * ) ' Warning: Incorrect cache_size specification for ' , self% file_prefix
918
- Write ( 6 , * ) ' Cache_size cannot be larger than nrec.'
919
- Write ( 6 , * ) ' Cache_size: ' , self % cache_size
920
- Write ( 6 , * ) ' nrec : ' , self % rec_per_file
921
- Write ( 6 , * ) ' Cache_size has been set to nrec.'
922
- Write ( 6 , * ) ' ////////////////////////////////////////////////////////////////////'
919
+ Call stdout % print ( ' ////////////////////////////////////////////////////////////////////' )
920
+ Call stdout % print ( ' Warning: Incorrect cache_size specification for ' // TRIM ( ADJUSTL ( self% file_prefix)) )
921
+ Call stdout % print ( ' Cache_size cannot be larger than nrec.' )
922
+ Call stdout % print ( ' Cache_size: ' // TRIM ( ADJUSTL (cache_str)))
923
+ Call stdout % print ( ' nrec : ' // TRIM ( ADJUSTL (rec_str)))
924
+ Call stdout % print ( ' Cache_size has been set to nrec.' )
925
+ Call stdout % print ( ' ////////////////////////////////////////////////////////////////////' )
923
926
Endif
924
927
self% cache_size = self% rec_per_file
925
928
Endif
@@ -930,13 +933,13 @@ Subroutine Initialize_Diagnostic_Info(self,computes,mpi_tag, &
930
933
If (modcheck .ne. 0 ) Then
931
934
932
935
If (myid .eq. 0 ) Then
933
- Write ( 6 , * ) ' ////////////////////////////////////////////////////////////////////'
934
- Write ( 6 , * ) ' Warning: Incorrect cache_size specification for ' , self% file_prefix
935
- Write ( 6 , * ) ' Cache_size must divide evenly into nrec.'
936
- Write ( 6 , * ) ' Cache_size: ' , self % cache_size
937
- Write ( 6 , * ) ' nrec : ' , self % rec_per_file
938
- Write ( 6 , * ) ' Caching has been deactivated for ' , self% file_prefix
939
- Write ( 6 , * ) ' ////////////////////////////////////////////////////////////////////'
936
+ Call stdout % print ( ' ////////////////////////////////////////////////////////////////////' )
937
+ Call stdout % print ( ' Warning: Incorrect cache_size specification for ' // TRIM ( ADJUSTL ( self% file_prefix)) )
938
+ Call stdout % print ( ' Cache_size must divide evenly into nrec.' )
939
+ Call stdout % print ( ' Cache_size: ' // TRIM ( ADJUSTL (cache_str)))
940
+ Call stdout % print ( ' nrec : ' // TRIM ( ADJUSTL (rec_str)))
941
+ Call stdout % print ( ' Caching has been deactivated for ' // TRIM ( ADJUSTL ( self% file_prefix)) )
942
+ Call stdout % print ( ' ////////////////////////////////////////////////////////////////////' )
940
943
Endif
941
944
self% cache_size = 1
942
945
Endif
@@ -1295,13 +1298,18 @@ Subroutine CloseFile_Par(self)
1295
1298
Implicit None
1296
1299
integer :: ierr, buffsize
1297
1300
integer (kind= MPI_OFFSET_KIND) :: disp
1301
+ Character * 8 :: err_str, id_str
1298
1302
! Parallel File Close
1299
1303
! Peforms the same task as closefile, but using MPI-IO
1300
1304
Class(DiagnosticInfo) :: self
1301
1305
disp = 8
1302
1306
Call MPI_File_Seek(self% file_unit,disp,MPI_SEEK_SET,ierr)
1307
+
1303
1308
If (ierr .ne. 0 ) Then
1304
- Write (6 ,* )' Error rewinding to header. Error code: ' , ierr, myid, self% file_prefix
1309
+ Write (err_str,' (i8)' )ierr
1310
+ Write (id_str,' (i8)' )myid
1311
+ Call stdout% print (' Error rewinding to header. Error code: ' // TRIM (err_str)// ' ,' // TRIM (id_str)// self% file_prefix)
1312
+
1305
1313
Endif
1306
1314
! Without this barrier, the record update below can occurs before some ranks
1307
1315
! have read the original record count (leading to oversized, corrupted files).
@@ -1312,10 +1320,14 @@ Subroutine CloseFile_Par(self)
1312
1320
1313
1321
call MPI_FILE_WRITE(self% file_unit,self% current_rec , buffsize, MPI_INTEGER, &
1314
1322
MPI_STATUS_IGNORE, ierr)
1315
- If (ierr .ne. 0 ) Write (6 ,* )' Error writing to header. Error code: ' , ierr, myid, self% file_prefix
1323
+ If (ierr .ne. 0 ) Then
1324
+ Call stdout% print (' Error writing to header. Error code: ' // TRIM (err_str)// ' ,' // TRIM (id_str)// self% file_prefix)
1325
+ Endif
1316
1326
Endif
1317
1327
Call MPI_FILE_CLOSE(self% file_unit, ierr)
1318
- If (ierr .ne. 0 ) Write (6 ,* )' Error closing file. Error code: ' ,ierr, myid, self% file_prefix
1328
+ If (ierr .ne. 0 ) Then
1329
+ Call stdout% print (' Error closing file. Error code: ' // TRIM (err_str)// ' ,' // TRIM (id_str)// self% file_prefix)
1330
+ Endif
1319
1331
End Subroutine CloseFile_Par
1320
1332
1321
1333
Subroutine getq_now (self ,yesno )
0 commit comments