Skip to content

Commit

Permalink
Merge branch 'jgfouca/descream-eamxx-filenames' into next (PR #7045)
Browse files Browse the repository at this point in the history
File list:
./cime_config/testdefs/testmods_dirs/eamxx/scream_example_testmod_atmchange
./cime_config/testdefs/testmods_dirs/eamxx/scream_example_testmod_cmake
./cime_config/testdefs/testmods_dirs/scream
./cime_config/user_nl_scream
./cime_config/namelist_defaults_scream.xml
./cmake/machine-files/crusher-scream-cpu.cmake
./cmake/machine-files/crusher-scream-gpu.cmake
./cmake/machine-files/docker-scream.cmake
./docs/user/pyscream.md
./scripts/source_to_load_scream_env.sh
./scripts/test_all_scream.py
./scripts/query-cf-database/cf-scream-name-table.yaml
./scripts/query-scream
./scripts/query_scream.py
./scripts/scream-env-cmd
./scripts/test-all-scream
./src/dynamics/homme/interface/scream_homme_interface.hpp
./src/mct_coupling/scream_cpl_indices.F90
./src/mct_coupling/scream_cxx_f90_interface.cpp
./src/mct_coupling/scream_f2c_mod.F90
./src/physics/rrtmgp/scream_rrtmgp_interface.cpp
./src/physics/rrtmgp/scream_rrtmgp_interface.hpp
./src/physics/share/scream_trcmix.cpp
./src/physics/share/scream_trcmix.hpp
./src/python/libpyscream
./src/python/libpyscream/pyscream_ext.cpp
./src/python/libpyscream/pyscream_ext.hpp
./src/python/pyscream
./src/scream_config.h.in
./src/share/scream_config.cpp
./src/share/scream_config.hpp
./src/share/io/scream_scorpio_interface.hpp
./src/share/io/scream_scorpio_interface.cpp
./src/share/io/scream_shr_interface_c2f.F90
./src/share/io/scream_shr_interface_c2f.hpp
./src/share/io/scream_io_utils.cpp
./src/share/io/scream_io_utils.hpp
./src/share/io/scream_io_file_specs.hpp
./src/share/io/scream_output_manager.cpp
./src/share/io/scream_output_manager.hpp
./src/share/io/scream_scorpio_types.cpp
./src/share/io/scream_scorpio_types.hpp
./src/share/io/scream_io_control.hpp
./src/share/scream_session.cpp
./src/share/scream_session.hpp
./src/share/util/scream_array_utils.hpp
./src/share/util/scream_bfbhash.cpp
./src/share/util/scream_bfbhash.hpp
./src/share/util/scream_column_ops.hpp
./src/share/util/scream_combine_ops.hpp
./src/share/util/scream_common_physics_functions.hpp
./src/share/util/scream_common_physics_functions_impl.hpp
./src/share/util/scream_deep_copy.hpp
./src/share/util/scream_family_tracking.hpp
./src/share/util/scream_test_session.cpp
./src/share/util/scream_timing.cpp
./src/share/util/scream_timing.hpp
./src/share/util/scream_universal_constants.hpp
./src/share/util/scream_utils.cpp
./src/share/util/scream_data_type.hpp
./src/share/util/scream_setup_random_test.hpp
./src/share/util/scream_time_stamp.cpp
./src/share/util/scream_time_stamp.hpp
./src/share/util/scream_utils.hpp
./src/share/scream_types.hpp

Also, remove some old configs for crusher and docker.

[BFB]
  • Loading branch information
jgfouca committed Feb 20, 2025
2 parents 12d17ed + 819ff9d commit d104f22
Show file tree
Hide file tree
Showing 393 changed files with 794 additions and 943 deletions.
8 changes: 4 additions & 4 deletions .github/actions/test-all-scream/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Composite action to call test-all-scream inside a workflow
# Composite action to call test-all-eamxx inside a workflow

This action is meant to be used inside a workflow. E.g.,

Expand All @@ -7,8 +7,8 @@ jobs:
my-testing:
steps:
...
- name: run-test-all-scream
uses: ./.github/actions/eamxx-test-all-scream
- name: run-test-all-eamxx
uses: ./.github/actions/eamxx-test-all-eamxx
with:
build_type: <build-type>
machine: <machine>
Expand All @@ -23,7 +23,7 @@ As such, this action checks that its value is one of the following.
- bless: runs tests and copy output files to baselines folder
As for build_type and machine, we do not prescribe a list of
valid values, as that will be handled by components/eamxx/scripts/test-all-scream.
valid values, as that will be handled by components/eamxx/scripts/test-all-eamxx.
If their values are not supported, it is up to test-all-scram to handle the error.
As a guideline, however, you may have to ensure that the following exist:
Expand Down
20 changes: 10 additions & 10 deletions .github/actions/test-all-scream/action.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: EAMxx standalone testing
description: |
Run EAMxx standalone testing with required configuration inputs.
More precisely, it launches test-all-scream with the proper flags.
See components/eamxx/scripts/test-all-scream for more details.
More precisely, it launches test-all-eamxx with the proper flags.
See components/eamxx/scripts/test-all-eamxx for more details.
The configuration inputs are:
- build_type: the type of build to pass to test-all-scream.
- machine: the name of the machine to pass to test-all-scream
- build_type: the type of build to pass to test-all-eamxx.
- machine: the name of the machine to pass to test-all-eamxx
- generate: whether to generate baselines
- submit: whether to submit to cdash (unused if generate is 'true')
Expand All @@ -14,7 +14,7 @@ inputs:
description: 'Build type to run'
required: true
machine:
description: 'Machine name for test-all-scream'
description: 'Machine name for test-all-eamxx'
required: true
generate:
description: 'Generate baselines instead of running tests'
Expand All @@ -38,7 +38,7 @@ inputs:
- 'true'
- 'false'
cmake-configs:
description: 'Semicolon-separated list of key=value pairs for CMake to pass to test-all-scream'
description: 'Semicolon-separated list of key=value pairs for CMake to pass to test-all-eamxx'
required: false
default: ''

Expand Down Expand Up @@ -78,10 +78,10 @@ runs:
echo " submit : ${{ inputs.submit }}"
echo " cmake-configs: ${{ inputs.cmake-configs }}"
shell: sh
- name: Run test-all-scream
- name: Run test-all-eamxx
working-directory: components/eamxx
run: |
cmd="./scripts/test-all-scream -m ${{ inputs.machine }} -t ${{inputs.build_type}} --baseline-dir AUTO -c EKAT_DISABLE_TPL_WARNINGS=ON"
cmd="./scripts/test-all-eamxx -m ${{ inputs.machine }} -t ${{inputs.build_type}} --baseline-dir AUTO -c EKAT_DISABLE_TPL_WARNINGS=ON"
if [ "${{ inputs.generate }}" = "true" ]; then
cmd+=" -g"
elif [ "${{ inputs.submit }}" = "true" ]; then
Expand All @@ -92,14 +92,14 @@ runs:
cmd+=" -c EKAT_ENABLE_TESTS=ON"
fi
# If cmake-configs is non-empty, add tokens to test-all-scream via "-c key=val"
# If cmake-configs is non-empty, add tokens to test-all-eamxx via "-c key=val"
IFS=';' read -ra configs <<< "${{ inputs.cmake-configs }}"
for config in "${configs[@]}"; do
cmd+=" -c $config"
done
# Print the full command, then run it
echo "test-all-scream call: $cmd"
echo "test-all-eamxx call: $cmd"
$cmd
shell: sh
- name: Upload ctest logs
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/eamxx-sa-coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
- name: Show action trigger
uses: ./.github/actions/show-workflow-trigger
- name: Run tests
uses: ./.github/actions/test-all-scream
uses: ./.github/actions/test-all-eamxx
with:
build_type: cov
machine: ghci-snl-cpu
Expand Down Expand Up @@ -84,7 +84,7 @@ jobs:
;;
esac
- name: Run tests
uses: ./.github/actions/test-all-scream
uses: ./.github/actions/test-all-eamxx
with:
build_type: cov
machine: ghci-snl-cuda
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/eamxx-sa-sanitizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
- name: Show action trigger
uses: ./.github/actions/show-workflow-trigger
- name: Run tests
uses: ./.github/actions/test-all-scream
uses: ./.github/actions/test-all-eamxx
with:
build_type: valg
machine: ghci-snl-cpu
Expand Down Expand Up @@ -88,7 +88,7 @@ jobs:
;;
esac
- name: Run tests
uses: ./.github/actions/test-all-scream
uses: ./.github/actions/test-all-eamxx
with:
build_type: ${{ matrix.build_type }}
machine: ghci-snl-cuda
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/eamxx-sa-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
paths:
# first, yes to these
- '.github/workflows/eamxx-sa-testing.yml'
- '.github/actions/test-all-scream/**'
- '.github/actions/test-all-eamxx/**'
- 'cime_config/machine/config_machines.xml'
- 'components/eamxx/**'
- 'components/homme/**'
Expand Down Expand Up @@ -84,7 +84,7 @@ jobs:
- name: Show action trigger
uses: ./.github/actions/show-workflow-trigger
- name: Run tests
uses: ./.github/actions/test-all-scream
uses: ./.github/actions/test-all-eamxx
with:
build_type: ${{ matrix.build_type }}
machine: ghci-snl-cpu
Expand Down Expand Up @@ -146,7 +146,7 @@ jobs:
;;
esac
- name: Run tests
uses: ./.github/actions/test-all-scream
uses: ./.github/actions/test-all-eamxx
with:
build_type: ${{ matrix.build_type }}
machine: ghci-snl-cuda
Expand Down
49 changes: 1 addition & 48 deletions cime_config/allactive/config_pesall.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1852,32 +1852,9 @@
</ntasks>
</pes>
</mach>
<mach name="crusher-scream-gpu">
<pes compset="any" pesize="any">
<comment>"crusher-gpu-scream ne30np4 and ne30np4.pg2"</comment>
<ntasks>
<ntasks_atm>-2</ntasks_atm>
<ntasks_lnd>-2</ntasks_lnd>
<ntasks_rof>-2</ntasks_rof>
<ntasks_ice>-2</ntasks_ice>
<ntasks_ocn>-2</ntasks_ocn>
<ntasks_glc>-2</ntasks_glc>
<ntasks_wav>-2</ntasks_wav>
<ntasks_cpl>-2</ntasks_cpl>
</ntasks>
<nthrds>
<nthrds_atm>1</nthrds_atm>
<nthrds_lnd>8</nthrds_lnd>
<nthrds_rof>1</nthrds_rof>
<nthrds_ice>1</nthrds_ice>
<nthrds_ocn>1</nthrds_ocn>
<nthrds_cpl>1</nthrds_cpl>
</nthrds>
</pes>
</mach>
<mach name="frontier">
<pes compset="any" pesize="any">
<comment>"frontier-gpu-scream ne30np4 and ne30np4.pg2"</comment>
<comment>"frontier ne30np4 and ne30np4.pg2"</comment>
<ntasks>
<ntasks_atm>-2</ntasks_atm>
<ntasks_lnd>-2</ntasks_lnd>
Expand Down Expand Up @@ -2515,30 +2492,6 @@
</nthrds>
</pes>
</mach>
<mach name="crusher-scream-gpu">
<pes compset="any" pesize="any">
<MAX_MPITASKS_PER_NODE>8</MAX_MPITASKS_PER_NODE>
<MAX_TASKS_PER_NODE>56</MAX_TASKS_PER_NODE>
<ntasks>
<ntasks_atm>-6</ntasks_atm>
<ntasks_lnd>-6</ntasks_lnd>
<ntasks_rof>-6</ntasks_rof>
<ntasks_ice>-6</ntasks_ice>
<ntasks_ocn>-6</ntasks_ocn>
<ntasks_glc>-6</ntasks_glc>
<ntasks_wav>-6</ntasks_wav>
<ntasks_cpl>-6</ntasks_cpl>
</ntasks>
<nthrds>
<nthrds_atm>1</nthrds_atm>
<nthrds_lnd>7</nthrds_lnd>
<nthrds_rof>1</nthrds_rof>
<nthrds_ice>1</nthrds_ice>
<nthrds_ocn>1</nthrds_ocn>
<nthrds_cpl>1</nthrds_cpl>
</nthrds>
</pes>
</mach>
<mach name="frontier">
<pes compset="any" pesize="any">
<MAX_MPITASKS_PER_NODE>8</MAX_MPITASKS_PER_NODE>
Expand Down
20 changes: 0 additions & 20 deletions cime_config/machines/config_batch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -754,26 +754,6 @@
</queues>
</batch_system>

<batch_system MACH="crusher-scream-cpu" type="slurm">
<queues>
<queue strict="true" nodemin="1" nodemax="8" walltimemax="08:00:00" default="true">batch</queue>
<queue strict="true" nodemin="9" nodemax="64" walltimemax="04:00:00">batch</queue>
<queue strict="true" nodemin="65" nodemax="160" walltimemax="02:00:00">batch</queue>
</queues>
</batch_system>

<batch_system MACH="crusher-scream-gpu" type="slurm">
<batch_submit>/lustre/orion/cli133/world-shared/e3sm/tools/sbatch/throttle</batch_submit>
<directives>
<directive> -S 0</directive>
</directives>
<queues>
<queue strict="true" nodemin="1" nodemax="8" walltimemax="01:00:00" default="true">batch</queue>
<queue strict="true" nodemin="9" nodemax="64" walltimemax="01:00:00">batch</queue>
<queue strict="true" nodemin="65" nodemax="160" walltimemax="01:00:00">batch</queue>
</queues>
</batch_system>

<batch_system MACH="frontier" type="slurm">
<batch_submit>/lustre/orion/cli115/world-shared/e3sm/tools/sbatch/throttle</batch_submit>
<queues>
Expand Down
41 changes: 0 additions & 41 deletions cime_config/machines/config_machines.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5714,47 +5714,6 @@
</environment_variables>
</machine>

<machine MACH="docker-scream">
<DESC>Docker</DESC>
<NODENAME_REGEX>docker</NODENAME_REGEX>
<OS>LINUX</OS>
<PROXY />
<COMPILERS>gnu,gnuX</COMPILERS>
<MPILIBS>openmpi</MPILIBS>
<PROJECT>CIME</PROJECT>
<SAVE_TIMING_DIR>/storage/timings</SAVE_TIMING_DIR>
<SAVE_TIMING_DIR_PROJECTS>CIME</SAVE_TIMING_DIR_PROJECTS>
<CIME_OUTPUT_ROOT>/storage/cases</CIME_OUTPUT_ROOT>
<DIN_LOC_ROOT>/storage/inputdata</DIN_LOC_ROOT>
<DIN_LOC_ROOT_CLMFORC>/storage/inputdata-clmforc</DIN_LOC_ROOT_CLMFORC>
<DOUT_S_ROOT>/storage/archive/$CASE</DOUT_S_ROOT>
<BASELINE_ROOT>/storage/baselines/$COMPILER</BASELINE_ROOT>
<CCSM_CPRNC>/storage/tools/cprnc</CCSM_CPRNC>
<GMAKE>make</GMAKE>
<GMAKE_J>8</GMAKE_J>
<TESTS>e3sm_developer</TESTS>
<BATCH_SYSTEM>none</BATCH_SYSTEM>
<SUPPORTED_BY>scream</SUPPORTED_BY>
<MAX_TASKS_PER_NODE>8</MAX_TASKS_PER_NODE>
<MAX_MPITASKS_PER_NODE>8</MAX_MPITASKS_PER_NODE>
<mpirun mpilib="openmpi">
<executable>mpiexec</executable>
<arguments>
<arg name="ntasks">-n {{ total_tasks }}</arg>
<arg name="oversubscribe">--oversubscribe</arg>
</arguments>
</mpirun>
<module_system type="none" />
<RUNDIR>$CASEROOT/run</RUNDIR>
<EXEROOT>$CASEROOT/bld</EXEROOT>
<environment_variables>
<env name="OMPI_ALLOW_RUN_AS_ROOT">1</env>
<env name="OMPI_ALLOW_RUN_AS_ROOT_CONFIRM">1</env>
<env name="NETCDF_PATH">/opt/conda</env>
<env name="PNETCDF_PATH">/opt/conda</env>
</environment_variables>
</machine>

<default_run_suffix>
<default_run_exe>${EXEROOT}/e3sm.exe </default_run_exe>
<default_run_misc_suffix> &gt;&gt; e3sm.log.$LID 2&gt;&amp;1 </default_run_misc_suffix>
Expand Down
12 changes: 6 additions & 6 deletions components/eam/bld/configure
Original file line number Diff line number Diff line change
Expand Up @@ -1766,13 +1766,13 @@ if (defined $opts{'cppdefs'}) {
}
$cfg_ref->set('cppdefs', $usr_cppdefs);

# Define is_scream_config flag to select which P3 version codes to use
# Define is_eamxx_config flag to select which P3 version codes to use
# If the config uses both p3 and shoc, it is recognized as a scream case.

my $is_scream_config = 0;
my $is_eamxx_config = 0;
if ($microphys_pkg =~ /^p3/) {
if ($shoc_sgs) {
$is_scream_config = 1;
$is_eamxx_config = 1;
print "The case uses SCREAM config and SCREAM's version of P3 codes in Fortran 90.\n";
} else {
print "The case use EAM's version of P3 codes in Fortran 90.\n";
Expand Down Expand Up @@ -2494,7 +2494,7 @@ my $fp_filename = 'Filepath'; # name of output filepath file
my $cpp_filename = 'CIME_cppdefs'; # name of output file for eam's cppdefs in cime

# Write the filepath file.
write_filepath("$cam_bld/$fp_filename", $cfg_ref, $is_scream_config);
write_filepath("$cam_bld/$fp_filename", $cfg_ref, $is_eamxx_config);
if ($print) { print "creating $cam_bld/$fp_filename\n"; }

if (($ccsm_seq)) {
Expand Down Expand Up @@ -2538,7 +2538,7 @@ exit;

sub write_filepath
{
my ($file, $cfg_ref, $is_scream_config) = @_;
my ($file, $cfg_ref, $is_eamxx_config) = @_;
my $fh = new IO::File;

$fh->open(">$file") or die "** can't open filepath file: $file\n";
Expand Down Expand Up @@ -2696,7 +2696,7 @@ sub write_filepath
}

if (not(defined $opts{'use_MMF'})) {
if ($is_scream_config eq '1') {
if ($is_eamxx_config eq '1') {
print $fh "$camsrcdir/eam/src/physics/p3/scream\n";
} else {
print $fh "$camsrcdir/eam/src/physics/p3/eam\n";
Expand Down
2 changes: 1 addition & 1 deletion components/eam/src/physics/cam/physics_utils.F90
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ module physics_utils
save

#ifdef SCREAM_CONFIG_IS_CMAKE
#include "scream_config.f"
#include "eamxx_config.f"

integer,parameter,public :: rtype8 = c_double ! 8 byte real, compatible with c type double
integer,parameter,public :: btype = c_bool ! boolean type, compatible with c
Expand Down
Loading

0 comments on commit d104f22

Please sign in to comment.