diff --git a/components/eamxx/src/share/io/scream_io_utils.cpp b/components/eamxx/src/share/io/scream_io_utils.cpp index 3d79184bac9..2d5e0a840d0 100644 --- a/components/eamxx/src/share/io/scream_io_utils.cpp +++ b/components/eamxx/src/share/io/scream_io_utils.cpp @@ -2,6 +2,7 @@ #include "share/io/scream_scorpio_interface.hpp" #include "share/util/scream_utils.hpp" +#include "share/scream_config.hpp" #include #include @@ -35,6 +36,9 @@ std::string find_filename_in_rpointer ( " - filename prefix: " + filename_prefix + "\n"); pattern_str += e2str(avg_type) + "." + control.frequency_units + "_x" + std::to_string(control.frequency); } + if (is_scream_standalone()) { + pattern_str += ".np" + std::to_string(comm.size()); + } pattern_str += "." + run_t0.to_string() + ".nc"; std::regex pattern (pattern_str); diff --git a/components/eamxx/src/share/io/scream_output_manager.cpp b/components/eamxx/src/share/io/scream_output_manager.cpp index 7797a0f76bd..4f35827ba3f 100644 --- a/components/eamxx/src/share/io/scream_output_manager.cpp +++ b/components/eamxx/src/share/io/scream_output_manager.cpp @@ -611,8 +611,10 @@ compute_filename (const IOFileSpecs& file_specs, filename += "." + e2str(m_avg_type); filename += "." + control.frequency_units+ "_x" + std::to_string(control.frequency); - // Optionally, add number of mpi ranks (useful mostly in unit tests, to run multiple MPI configs in parallel) - if (m_params.get("MPI Ranks in Filename")) { + // For standalone EAMxx, we may have 2+ versions of the same test running with two + // different choices of ranks. To avoid name clashing for the output files, + // add the comm size to the output file name. + if (is_scream_standalone()) { filename += ".np" + std::to_string(m_io_comm.size()); } @@ -667,7 +669,6 @@ set_params (const ekat::ParameterList& params, m_filename_prefix = m_params.get("filename_prefix"); // Hard code some parameters in case we access them later - m_params.set("MPI Ranks in Filename",false); m_params.set("Floating Point Precision","real"); } else { auto avg_type = m_params.get("Averaging Type"); @@ -703,12 +704,6 @@ set_params (const ekat::ParameterList& params, "Error! Invalid/unsupported value for 'Floating Point Precision'.\n" " - input value: " + prec + "\n" " - supported values: float, single, double, real\n"); - - // If not set, hard code to false for CIME cases, and true for standalone, - // since standalone may be running multiple versions of the same test at once - if (not m_params.isParameter("MPI Ranks in Filename")) { - m_params.set("MPI Ranks in Filename",is_scream_standalone()); - } } // Output control diff --git a/components/eamxx/tests/multi-process/dynamics_physics/mam/homme_shoc_cld_mam_aci_p3_mam_optics_rrtmgp_mam_drydep/output.yaml b/components/eamxx/tests/multi-process/dynamics_physics/mam/homme_shoc_cld_mam_aci_p3_mam_optics_rrtmgp_mam_drydep/output.yaml index f2408ab189a..5922c718e6e 100644 --- a/components/eamxx/tests/multi-process/dynamics_physics/mam/homme_shoc_cld_mam_aci_p3_mam_optics_rrtmgp_mam_drydep/output.yaml +++ b/components/eamxx/tests/multi-process/dynamics_physics/mam/homme_shoc_cld_mam_aci_p3_mam_optics_rrtmgp_mam_drydep/output.yaml @@ -120,5 +120,4 @@ Fields: output_control: Frequency: ${NUM_STEPS} frequency_units: nsteps - MPI Ranks in Filename: true ... diff --git a/components/eamxx/tests/multi-process/dynamics_physics/mam/homme_shoc_cld_p3_mam_optics_rrtmgp/output.yaml b/components/eamxx/tests/multi-process/dynamics_physics/mam/homme_shoc_cld_p3_mam_optics_rrtmgp/output.yaml index 559f5158bb6..be4bb16b95d 100644 --- a/components/eamxx/tests/multi-process/dynamics_physics/mam/homme_shoc_cld_p3_mam_optics_rrtmgp/output.yaml +++ b/components/eamxx/tests/multi-process/dynamics_physics/mam/homme_shoc_cld_p3_mam_optics_rrtmgp/output.yaml @@ -117,5 +117,4 @@ Fields: output_control: Frequency: ${NUM_STEPS} frequency_units: nsteps - MPI Ranks in Filename: true ... diff --git a/components/eamxx/tests/multi-process/physics_only/mam/optics_rrtmgp/output.yaml b/components/eamxx/tests/multi-process/physics_only/mam/optics_rrtmgp/output.yaml index 24e1dfbb3e7..bdda48ebe45 100644 --- a/components/eamxx/tests/multi-process/physics_only/mam/optics_rrtmgp/output.yaml +++ b/components/eamxx/tests/multi-process/physics_only/mam/optics_rrtmgp/output.yaml @@ -26,5 +26,4 @@ Field Names: output_control: Frequency: ${NUM_STEPS} frequency_units: nsteps - MPI Ranks in Filename: true ... diff --git a/components/eamxx/tests/multi-process/physics_only/shoc_p3_nudging/CMakeLists.txt b/components/eamxx/tests/multi-process/physics_only/shoc_p3_nudging/CMakeLists.txt index 973e58b7da5..62c4b6d2266 100644 --- a/components/eamxx/tests/multi-process/physics_only/shoc_p3_nudging/CMakeLists.txt +++ b/components/eamxx/tests/multi-process/physics_only/shoc_p3_nudging/CMakeLists.txt @@ -19,7 +19,6 @@ CreateUnitTest(create_vert_remap_and_weights "create_vert_remap_and_weights.cpp" # Run a test to setup nudging source data: set (NUM_STEPS 5) set (POSTFIX source_data) -set (ADD_RANKS false) set (ATM_TIME_STEP 300) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/input_source_data.yaml ${CMAKE_CURRENT_BINARY_DIR}/input_source_data.yaml) @@ -36,7 +35,6 @@ CreateUnitTestFromExec (shoc_p3_source shoc_p3_nudging set (NUM_STEPS 5) set (ATM_TIME_STEP 300) set (POSTFIX nudged) -set (ADD_RANKS true) set (VERT_TYPE TIME_DEPENDENT_3D_PROFILE) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/input_nudging.yaml ${CMAKE_CURRENT_BINARY_DIR}/input_nudging.yaml) diff --git a/components/eamxx/tests/multi-process/physics_only/shoc_p3_nudging/output.yaml b/components/eamxx/tests/multi-process/physics_only/shoc_p3_nudging/output.yaml index e740c5cdf1f..d9b573068ae 100644 --- a/components/eamxx/tests/multi-process/physics_only/shoc_p3_nudging/output.yaml +++ b/components/eamxx/tests/multi-process/physics_only/shoc_p3_nudging/output.yaml @@ -3,7 +3,6 @@ filename_prefix: shoc_p3_${POSTFIX}_nudged Averaging Type: Instant Max Snapshots Per File: 2 -MPI Ranks in Filename: ${ADD_RANKS} Field Names: - p_mid - T_mid diff --git a/components/eamxx/tests/multi-process/physics_only/shoc_p3_nudging/output_remapped.yaml b/components/eamxx/tests/multi-process/physics_only/shoc_p3_nudging/output_remapped.yaml index c75a6a862f7..26f53fbe57f 100644 --- a/components/eamxx/tests/multi-process/physics_only/shoc_p3_nudging/output_remapped.yaml +++ b/components/eamxx/tests/multi-process/physics_only/shoc_p3_nudging/output_remapped.yaml @@ -4,7 +4,6 @@ filename_prefix: shoc_p3_${POSTFIX}_nudged_remapped Averaging Type: Instant Max Snapshots Per File: 2 vertical_remap_file: vertical_remap.nc -MPI Ranks in Filename: ${ADD_RANKS} Field Names: - T_mid - qv diff --git a/components/eamxx/tests/single-process/mam/optics/output.yaml b/components/eamxx/tests/single-process/mam/optics/output.yaml index 8ea3d237933..d0c27e04284 100644 --- a/components/eamxx/tests/single-process/mam/optics/output.yaml +++ b/components/eamxx/tests/single-process/mam/optics/output.yaml @@ -13,5 +13,4 @@ Fields: output_control: Frequency: 2 frequency_units: nsteps - MPI Ranks in Filename: true ...