mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-27 05:35:49 -04:00
Move write_message to error module (break geometry -> output dependence)
This commit is contained in:
parent
fa89104350
commit
3431ebd8fe
19 changed files with 82 additions and 84 deletions
|
|
@ -644,7 +644,7 @@ contains
|
|||
subroutine compute_dhat()
|
||||
|
||||
use constants, only: CMFD_NOACCEL, ZERO
|
||||
use output, only: write_message
|
||||
use error, only: write_message
|
||||
use string, only: to_str
|
||||
|
||||
integer :: nx ! maximum number of cells in x direction
|
||||
|
|
|
|||
|
|
@ -366,7 +366,7 @@ contains
|
|||
|
||||
subroutine cmfd_tally_reset()
|
||||
|
||||
use output, only: write_message
|
||||
use error, only: write_message
|
||||
|
||||
integer :: i ! loop counter
|
||||
|
||||
|
|
|
|||
|
|
@ -41,8 +41,7 @@ contains
|
|||
subroutine read_cmfd_xml()
|
||||
|
||||
use constants, only: ZERO, ONE
|
||||
use error, only: fatal_error, warning
|
||||
use output, only: write_message
|
||||
use error, only: fatal_error, warning, write_message
|
||||
use string, only: to_lower
|
||||
use xml_interface
|
||||
use, intrinsic :: ISO_FORTRAN_ENV
|
||||
|
|
|
|||
|
|
@ -5,12 +5,14 @@ module error
|
|||
|
||||
use constants
|
||||
use message_passing
|
||||
use settings, only: verbosity
|
||||
|
||||
implicit none
|
||||
|
||||
private
|
||||
public :: fatal_error
|
||||
public :: warning
|
||||
public :: write_message
|
||||
|
||||
! Error codes
|
||||
integer(C_INT), public, bind(C) :: E_UNASSIGNED = -1
|
||||
|
|
@ -192,4 +194,59 @@ contains
|
|||
|
||||
end subroutine fatal_error
|
||||
|
||||
!===============================================================================
|
||||
! WRITE_MESSAGE displays an informational message to the log file and the
|
||||
! standard output stream.
|
||||
!===============================================================================
|
||||
|
||||
subroutine write_message(message, level)
|
||||
character(*), intent(in) :: message ! message to write
|
||||
integer, intent(in), optional :: level ! verbosity level
|
||||
|
||||
integer :: i_start ! starting position
|
||||
integer :: i_end ! ending position
|
||||
integer :: line_wrap ! length of line
|
||||
integer :: length ! length of message
|
||||
integer :: last_space ! index of last space (relative to start)
|
||||
|
||||
! Set length of line
|
||||
line_wrap = 80
|
||||
|
||||
! Only allow master to print to screen
|
||||
if (.not. master .and. present(level)) return
|
||||
|
||||
if (.not. present(level) .or. level <= verbosity) then
|
||||
! Determine length of message
|
||||
length = len_trim(message)
|
||||
|
||||
i_start = 0
|
||||
do
|
||||
if (length - i_start < line_wrap + 1) then
|
||||
! Remainder of message will fit on line
|
||||
write(OUTPUT_UNIT, fmt='(1X,A)') message(i_start+1:length)
|
||||
exit
|
||||
|
||||
else
|
||||
! Determine last space in current line
|
||||
last_space = index(message(i_start+1:i_start+line_wrap), &
|
||||
' ', BACK=.true.)
|
||||
if (last_space == 0) then
|
||||
i_end = min(length + 1, i_start+line_wrap) - 1
|
||||
write(OUTPUT_UNIT, fmt='(1X,A)') message(i_start+1:i_end)
|
||||
else
|
||||
i_end = i_start + last_space
|
||||
write(OUTPUT_UNIT, fmt='(1X,A)') message(i_start+1:i_end-1)
|
||||
end if
|
||||
|
||||
! Write up to last space
|
||||
|
||||
! Advance starting position
|
||||
i_start = i_end
|
||||
if (i_start > length) exit
|
||||
end if
|
||||
end do
|
||||
end if
|
||||
|
||||
end subroutine write_message
|
||||
|
||||
end module error
|
||||
|
|
|
|||
|
|
@ -1,16 +1,14 @@
|
|||
module geometry
|
||||
|
||||
use constants
|
||||
use error, only: fatal_error, warning
|
||||
use error, only: fatal_error, warning, write_message
|
||||
use geometry_header
|
||||
use output, only: write_message
|
||||
use particle_header, only: LocalCoord, Particle
|
||||
use simulation_header
|
||||
use settings
|
||||
use surface_header
|
||||
use stl_vector, only: VectorInt
|
||||
use string, only: to_str
|
||||
use tally_header
|
||||
|
||||
implicit none
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ module initialize
|
|||
use bank_header, only: Bank
|
||||
use constants
|
||||
use set_header, only: SetInt
|
||||
use error, only: fatal_error, warning
|
||||
use error, only: fatal_error, warning, write_message
|
||||
use geometry_header, only: Cell, Universe, Lattice, RectLattice, HexLattice,&
|
||||
root_universe
|
||||
use hdf5_interface, only: file_open, read_attribute, file_close, &
|
||||
|
|
@ -19,7 +19,7 @@ module initialize
|
|||
use material_header, only: Material
|
||||
use message_passing
|
||||
use mgxs_data, only: read_mgxs, create_macro_xs
|
||||
use output, only: print_version, write_message, print_usage
|
||||
use output, only: print_version, print_usage
|
||||
use random_lcg, only: openmc_set_seed
|
||||
use settings
|
||||
#ifdef _OPENMP
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ module input_xml
|
|||
use distribution_multivariate
|
||||
use distribution_univariate
|
||||
use endf, only: reaction_name
|
||||
use error, only: fatal_error, warning
|
||||
use error, only: fatal_error, warning, write_message
|
||||
use geometry, only: calc_offsets, maximum_levels, count_instance, &
|
||||
neighbor_lists
|
||||
use geometry_header
|
||||
|
|
@ -23,7 +23,7 @@ module input_xml
|
|||
use mgxs_header
|
||||
use multipole, only: multipole_read
|
||||
use nuclide_header
|
||||
use output, only: write_message, title, header, print_plot
|
||||
use output, only: title, header, print_plot
|
||||
use plot_header
|
||||
use random_lcg, only: prn, openmc_set_seed
|
||||
use surface_header
|
||||
|
|
|
|||
|
|
@ -3,13 +3,12 @@ module mgxs_data
|
|||
use constants
|
||||
use algorithm, only: find
|
||||
use dict_header, only: DictCharInt
|
||||
use error, only: fatal_error
|
||||
use error, only: fatal_error, write_message
|
||||
use geometry_header, only: get_temperatures, cells
|
||||
use hdf5_interface
|
||||
use material_header, only: Material, materials, n_materials
|
||||
use mgxs_header
|
||||
use nuclide_header, only: n_nuclides
|
||||
use output, only: write_message
|
||||
use set_header, only: SetChar
|
||||
use settings
|
||||
use stl_vector, only: VectorReal
|
||||
|
|
|
|||
|
|
@ -202,61 +202,6 @@ contains
|
|||
|
||||
end subroutine print_usage
|
||||
|
||||
!===============================================================================
|
||||
! WRITE_MESSAGE displays an informational message to the log file and the
|
||||
! standard output stream.
|
||||
!===============================================================================
|
||||
|
||||
subroutine write_message(message, level)
|
||||
character(*), intent(in) :: message ! message to write
|
||||
integer, intent(in), optional :: level ! verbosity level
|
||||
|
||||
integer :: i_start ! starting position
|
||||
integer :: i_end ! ending position
|
||||
integer :: line_wrap ! length of line
|
||||
integer :: length ! length of message
|
||||
integer :: last_space ! index of last space (relative to start)
|
||||
|
||||
! Set length of line
|
||||
line_wrap = 80
|
||||
|
||||
! Only allow master to print to screen
|
||||
if (.not. master .and. present(level)) return
|
||||
|
||||
if (.not. present(level) .or. level <= verbosity) then
|
||||
! Determine length of message
|
||||
length = len_trim(message)
|
||||
|
||||
i_start = 0
|
||||
do
|
||||
if (length - i_start < line_wrap + 1) then
|
||||
! Remainder of message will fit on line
|
||||
write(ou, fmt='(1X,A)') message(i_start+1:length)
|
||||
exit
|
||||
|
||||
else
|
||||
! Determine last space in current line
|
||||
last_space = index(message(i_start+1:i_start+line_wrap), &
|
||||
' ', BACK=.true.)
|
||||
if (last_space == 0) then
|
||||
i_end = min(length + 1, i_start+line_wrap) - 1
|
||||
write(ou, fmt='(1X,A)') message(i_start+1:i_end)
|
||||
else
|
||||
i_end = i_start + last_space
|
||||
write(ou, fmt='(1X,A)') message(i_start+1:i_end-1)
|
||||
end if
|
||||
|
||||
! Write up to last space
|
||||
|
||||
! Advance starting position
|
||||
i_start = i_end
|
||||
if (i_start > length) exit
|
||||
end if
|
||||
end do
|
||||
end if
|
||||
|
||||
end subroutine write_message
|
||||
|
||||
!===============================================================================
|
||||
! PRINT_PARTICLE displays the attributes of a particle
|
||||
!===============================================================================
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@ module particle_restart
|
|||
|
||||
use bank_header, only: Bank
|
||||
use constants
|
||||
use error, only: write_message
|
||||
use hdf5_interface, only: file_open, file_close, read_dataset
|
||||
use mgxs_header, only: energy_bin_avg
|
||||
use nuclide_header, only: micro_xs, n_nuclides
|
||||
use output, only: write_message, print_particle
|
||||
use output, only: print_particle
|
||||
use particle_header, only: Particle
|
||||
use random_lcg, only: set_particle_seed
|
||||
use settings
|
||||
|
|
|
|||
|
|
@ -4,13 +4,12 @@ module physics
|
|||
use constants
|
||||
use cross_section, only: elastic_xs_0K
|
||||
use endf, only: reaction_name
|
||||
use error, only: fatal_error, warning
|
||||
use error, only: fatal_error, warning, write_message
|
||||
use material_header, only: Material, materials
|
||||
use math
|
||||
use mesh_header, only: meshes
|
||||
use message_passing
|
||||
use nuclide_header
|
||||
use output, only: write_message
|
||||
use particle_header, only: Particle
|
||||
use physics_common
|
||||
use random_lcg, only: prn, advance_prn_seed, prn_set_stream
|
||||
|
|
|
|||
|
|
@ -4,14 +4,13 @@ module physics_mg
|
|||
|
||||
use bank_header
|
||||
use constants
|
||||
use error, only: fatal_error, warning
|
||||
use error, only: fatal_error, warning, write_message
|
||||
use material_header, only: Material, materials
|
||||
use math, only: rotate_angle
|
||||
use mesh_header, only: meshes
|
||||
use mgxs_header
|
||||
use message_passing
|
||||
use nuclide_header, only: material_xs
|
||||
use output, only: write_message
|
||||
use particle_header, only: Particle
|
||||
use physics_common
|
||||
use random_lcg, only: prn
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ module plot
|
|||
use hdf5
|
||||
|
||||
use constants
|
||||
use error, only: fatal_error
|
||||
use error, only: fatal_error, write_message
|
||||
use geometry, only: find_cell, check_cell_overlap
|
||||
use geometry_header, only: Cell, root_universe, cells
|
||||
use hdf5_interface
|
||||
use output, only: write_message, time_stamp
|
||||
use output, only: time_stamp
|
||||
use material_header, only: materials
|
||||
use particle_header, only: LocalCoord, Particle
|
||||
use plot_header
|
||||
|
|
|
|||
|
|
@ -16,12 +16,12 @@ module simulation
|
|||
#ifdef _OPENMP
|
||||
use eigenvalue, only: join_bank_from_threads
|
||||
#endif
|
||||
use error, only: fatal_error
|
||||
use error, only: fatal_error, write_message
|
||||
use geometry_header, only: n_cells
|
||||
use message_passing
|
||||
use mgxs_header, only: energy_bins, energy_bin_avg
|
||||
use nuclide_header, only: micro_xs, n_nuclides
|
||||
use output, only: write_message, header, print_columns, &
|
||||
use output, only: header, print_columns, &
|
||||
print_batch_keff, print_generation, print_runtime, &
|
||||
print_results, print_overlap_check, write_tallies
|
||||
use particle_header, only: Particle
|
||||
|
|
|
|||
|
|
@ -19,13 +19,13 @@ module state_point
|
|||
use constants
|
||||
use eigenvalue, only: openmc_get_keff
|
||||
use endf, only: reaction_name
|
||||
use error, only: fatal_error, warning
|
||||
use error, only: fatal_error, warning, write_message
|
||||
use hdf5_interface
|
||||
use mesh_header, only: RegularMesh, meshes, n_meshes
|
||||
use message_passing
|
||||
use mgxs_header, only: nuclides_MG
|
||||
use nuclide_header, only: nuclides
|
||||
use output, only: write_message, time_stamp
|
||||
use output, only: time_stamp
|
||||
use random_lcg, only: seed
|
||||
use settings
|
||||
use simulation_header
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ module summary
|
|||
|
||||
use constants
|
||||
use endf, only: reaction_name
|
||||
use error, only: write_message
|
||||
use geometry_header
|
||||
use hdf5_interface
|
||||
use material_header, only: Material, n_materials
|
||||
|
|
@ -11,7 +12,7 @@ module summary
|
|||
use message_passing
|
||||
use mgxs_header, only: nuclides_MG
|
||||
use nuclide_header
|
||||
use output, only: time_stamp, write_message
|
||||
use output, only: time_stamp
|
||||
use settings, only: run_CE
|
||||
use surface_header
|
||||
use string, only: to_str
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ module trigger
|
|||
|
||||
use constants
|
||||
use eigenvalue, only: openmc_get_keff
|
||||
use error, only: warning, write_message
|
||||
use string, only: to_str
|
||||
use output, only: warning, write_message
|
||||
use mesh_header, only: RegularMesh, meshes
|
||||
use message_passing, only: master
|
||||
use settings
|
||||
|
|
|
|||
|
|
@ -2,11 +2,10 @@ module tracking
|
|||
|
||||
use constants
|
||||
use cross_section, only: calculate_xs
|
||||
use error, only: fatal_error, warning
|
||||
use error, only: fatal_error, warning, write_message
|
||||
use geometry_header, only: cells
|
||||
use geometry, only: find_cell, distance_to_boundary, cross_lattice, &
|
||||
check_cell_overlap
|
||||
use output, only: write_message
|
||||
use message_passing
|
||||
use mgxs_header
|
||||
use nuclide_header
|
||||
|
|
|
|||
|
|
@ -8,11 +8,12 @@ module volume_calc
|
|||
#endif
|
||||
|
||||
use constants
|
||||
use error, only: write_message
|
||||
use geometry, only: find_cell
|
||||
use geometry_header, only: universes, cells
|
||||
use hdf5_interface, only: file_create, file_close, write_attribute, &
|
||||
create_group, close_group, write_dataset
|
||||
use output, only: write_message, header, time_stamp
|
||||
use output, only: header, time_stamp
|
||||
use material_header, only: materials
|
||||
use message_passing
|
||||
use nuclide_header, only: nuclides
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue