From e96849c3842142641053ba3619ff202fbd28ead5 Mon Sep 17 00:00:00 2001 From: Sterling Harper Date: Fri, 7 Oct 2016 17:02:49 -0400 Subject: [PATCH 1/2] Improve 0K substitution warning messages --- src/input_xml.F90 | 4 ++-- src/nuclide_header.F90 | 24 +++++++++++++++--------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/input_xml.F90 b/src/input_xml.F90 index 16892397aa..5aa22fba53 100644 --- a/src/input_xml.F90 +++ b/src/input_xml.F90 @@ -5765,7 +5765,7 @@ contains file_id = file_open(libraries(i_library) % path, 'r') group_id = open_group(file_id, name) call nuclides(i_nuclide) % from_hdf5(group_id, nuc_temps(i_nuclide), & - temperature_method, temperature_tolerance) + temperature_method, temperature_tolerance, master) call close_group(group_id) call file_close(file_id) @@ -5999,7 +5999,7 @@ contains group_id = open_group(file_id, name) method = TEMPERATURE_NEAREST call resonant_nuc % from_hdf5(group_id, temperature, & - method, 1000.0_8) + method, 1000.0_8, master) call close_group(group_id) call file_close(file_id) diff --git a/src/nuclide_header.F90 b/src/nuclide_header.F90 index 4235f4234d..93832869ce 100644 --- a/src/nuclide_header.F90 +++ b/src/nuclide_header.F90 @@ -186,12 +186,16 @@ module nuclide_header end subroutine nuclide_clear - subroutine nuclide_from_hdf5(this, group_id, temperature, method, tolerance) - class(Nuclide), intent(inout) :: this - integer(HID_T), intent(in) :: group_id + subroutine nuclide_from_hdf5(this, group_id, temperature, method, tolerance, & + master) + class(Nuclide), intent(inout) :: this + integer(HID_T), intent(in) :: group_id type(VectorReal), intent(in) :: temperature ! list of desired temperatures - integer, intent(inout) :: method - real(8), intent(in) :: tolerance + integer, intent(inout) :: method + real(8), intent(in) :: tolerance + logical, intent(in) :: master ! if this is the master proc + ! (can't use global cuz + ! circular dependance) integer :: i integer :: storage_type @@ -265,15 +269,17 @@ module nuclide_header call temps_to_read % push_back(nint(temp_actual)) ! Write warning for resonance scattering data if 0K is not available - if (abs(temp_actual - temp_desired) > 0 .and. temp_desired == 0) then + if (abs(temp_actual - temp_desired) > 0 .and. temp_desired == 0 & + .and. master) then call warning(trim(this % name) // " does not contain 0K data & &needed for resonance scattering options selected. Using & - &data at " // trim(to_str(nint(temp_actual))) // " K instead.") + &data at " // trim(to_str(temp_actual)) & + // " K instead.") end if end if else - call fatal_error("Nuclear data library does not contain cross sections & - &for " // trim(this % name) // " at or near " // & + call fatal_error("Nuclear data library does not contain cross & + §ions for " // trim(this % name) // " at or near " // & trim(to_str(nint(temp_desired))) // " K.") end if end do From b3ec0d345ff4dba107b9a27ca8dd4468c8475316 Mon Sep 17 00:00:00 2001 From: Sterling Harper Date: Mon, 10 Oct 2016 18:11:48 -0400 Subject: [PATCH 2/2] Remove bad English --- src/nuclide_header.F90 | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/nuclide_header.F90 b/src/nuclide_header.F90 index 93832869ce..3533fc9697 100644 --- a/src/nuclide_header.F90 +++ b/src/nuclide_header.F90 @@ -194,8 +194,6 @@ module nuclide_header integer, intent(inout) :: method real(8), intent(in) :: tolerance logical, intent(in) :: master ! if this is the master proc - ! (can't use global cuz - ! circular dependance) integer :: i integer :: storage_type