Skip to content

Commit

Permalink
feature/mpi_abort Fix mpi_abort calls in chgres_cube and
Browse files Browse the repository at this point in the history
sfc_climo_gen.

Issue ufs-community#140.
  • Loading branch information
GeorgeGayno-NOAA committed Sep 11, 2020
1 parent db5ea48 commit 1e37cc7
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 10 deletions.
9 changes: 7 additions & 2 deletions sorc/chgres_cube.fd/utils.f90
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@ subroutine error_handler(string, rc)

implicit none

include 'mpif.h'

character(len=*), intent(in) :: string

integer, intent(in) :: rc

integer :: ierr

print*,"- FATAL ERROR: ", string
print*,"- IOSTAT IS: ", rc
call mpi_abort
call mpi_abort(mpi_comm_world, 999, ierr)

end subroutine error_handler

Expand All @@ -20,6 +24,7 @@ subroutine netcdf_err( err, string )
integer, intent(in) :: err
character(len=*), intent(in) :: string
character(len=256) :: errmsg
integer :: iret

include "mpif.h"

Expand All @@ -28,7 +33,7 @@ subroutine netcdf_err( err, string )
print*,''
print*,'FATAL ERROR: ', trim(string), ': ', trim(errmsg)
print*,'STOP.'
call mpi_abort(mpi_comm_world, 999)
call mpi_abort(mpi_comm_world, 999, iret)

return
end subroutine netcdf_err
Expand Down
4 changes: 2 additions & 2 deletions sorc/sfc_climo_gen.fd/interp.F90
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ subroutine adjust_for_landice(field, vegt, idim, jdim, field_ch)

integer, parameter :: landice=15

integer :: i, j
integer :: i, j, ierr

real :: landice_value

Expand Down Expand Up @@ -364,7 +364,7 @@ subroutine adjust_for_landice(field, vegt, idim, jdim, field_ch)
enddo
case default
print*,'- FATAL ERROR IN ROUTINE ADJUST_FOR_LANDICE. UNIDENTIFIED FIELD : ', field_ch
call mpi_abort(mpi_comm_world, 57)
call mpi_abort(mpi_comm_world, 57, ierr)
end select

end subroutine adjust_for_landice
6 changes: 4 additions & 2 deletions sorc/sfc_climo_gen.fd/model_grid.F90
Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,14 @@ subroutine define_model_grid(localpet, npets)

implicit none

include 'mpif.h'

integer, intent(in) :: localpet, npets

character(len=500) :: the_file

integer :: error, id_dim, id_tiles, ncid
integer :: id_grid_tiles
integer :: id_grid_tiles, ierr
integer :: extra, rc, tile
integer, allocatable :: decomptile(:,:)

Expand Down Expand Up @@ -132,7 +134,7 @@ subroutine define_model_grid(localpet, npets)
if (mod(npets,num_tiles) /= 0) then
print*,'- FATAL ERROR: MUST RUN THIS PROGRAM WITH A TASK COUNT THAT'
print*,'- IS A MULTIPLE OF THE NUMBER OF TILES.'
call mpi_abort
call mpi_abort(mpi_comm_world, 44, ierr)
endif

!-----------------------------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions sorc/sfc_climo_gen.fd/output.f90
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ subroutine output(data_one_tile, lat_one_tile, lon_one_tile, i_mdl, j_mdl, &

integer :: initialsiz, fsize, error, j
integer :: dim_x, dim_y, id_data
integer :: dim_time, id_times
integer :: dim_time, id_times, ierr
integer :: header_buffer_val = 16384
integer :: i_out, j_out, id_lat, id_lon
integer :: i_start, i_end, j_start, j_end
Expand Down Expand Up @@ -86,7 +86,7 @@ subroutine output(data_one_tile, lat_one_tile, lon_one_tile, i_mdl, j_mdl, &
out_file_with_halo = "./vegetation_type." // grid_tiles(tile) // ".halo.nc"
case default
print*,'- FATAL ERROR IN ROUTINE OUTPUT. UNIDENTIFIED FIELD : ', field_names(field_idx)
call mpi_abort(mpi_comm_world, 67)
call mpi_abort(mpi_comm_world, 67, ierr)
end select

!----------------------------------------------------------------------
Expand Down
9 changes: 7 additions & 2 deletions sorc/sfc_climo_gen.fd/utils.f90
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ subroutine netcdf_err( err, string )
integer, intent(in) :: err
character(len=*), intent(in) :: string
character(len=256) :: errmsg
integer :: ierr

include "mpif.h"

Expand All @@ -23,7 +24,7 @@ subroutine netcdf_err( err, string )
print*,''
print*,'FATAL ERROR: ', trim(string), ': ', trim(errmsg)
print*,'STOP.'
call mpi_abort(mpi_comm_world, 999)
call mpi_abort(mpi_comm_world, 999, ierr)

return
end subroutine netcdf_err
Expand All @@ -36,9 +37,13 @@ subroutine error_handler(string, rc)

integer, optional, intent(in) :: rc

integer :: ierr

include "mpif.h"

print*,"- FATAL ERROR: ", string
if (present(rc)) print*,"- IOSTAT IS: ", rc
call mpi_abort
call mpi_abort(mpi_comm_world, 999, ierr)

end subroutine error_handler

Expand Down

0 comments on commit 1e37cc7

Please sign in to comment.