Skip to content

Conversation

@jedwards4b
Copy link

Copy any additional xml files located in case into a case clone.

Test suite:
Test baseline:
Test namelist changes:
Test status: [bit for bit, roundoff, climate changing]

Fixes ESMCI#4794

User interface changes?:

Update gh-pages html (Y/N)?:

Code review:

jedwards4b and others added 30 commits December 20, 2024 13:09
fix correction for no_leap calendar in tests
add try except clauses to reduce errors in testing
correct the SRCROOT path when using create_clone
jenkins: Canceling batch jobs needs to happen immediately when
a signal occurs.
bless_test_results: Add option to lock baselines (remove group write)
Some updates for E3SM

jenkins: Canceling batch jobs needs to happen immediately when a signal occurs.
bless_test_results: Add option to lock baselines (remove group write)

Test suite: by hand
Test baseline:
Test namelist changes:
Test status: bit for bit

Fixes [CIME Github issue #]

User interface changes?:

Update gh-pages html (Y/N)?:
ekluzek and others added 25 commits May 16, 2025 01:13
… the single test, I had problems before, but it's working now this way
… processor mpi-serial case and get that unit test working
…an be done, also change so that mem_per_tasks * tasks is done only up to a 5th of the machine when the fraction math takes over
…ng_info

Revert "Output GPTL timing info when using NUOPC driver"
After further testing it was determined that this change fails to account for all of the cam dycores.
Change min mem for batch and fix fake_case
@jedwards4b jedwards4b requested review from Copilot and mnlevy1981 June 25, 2025 13:26
@jedwards4b jedwards4b self-assigned this Jun 25, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a large set of new files and modules that extend the functionality of CIME. The new changes include:

  • New XML interfaces and utilities (e.g. batch, archive, and various XML converters) that support additional configuration file handling and version conversion.
  • A host of new command‐line tools under CIME/Tools for querying, comparing, validating, and processing XML data, testing, provenance, and workflow generation.

Reviewed Changes

Copilot reviewed 112 out of 2201 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
CIME/XML/batch.py Implements the batch XML interface with support for appending additional XML files.
CIME/XML/archive_base.py Introduces a base class for archive file handling with new helper methods.
CIME/XML/archive.py Defines an Archive class that inherits from ArchiveBase to manage archive.xml files.
CIME/Tools/xmltestentry Minor update: removed an extraneous newline from the test entry script.
CIME/Tools/xmlquery Adds a comprehensive tool for querying variables in env_*xml files with various qualifiers.
CIME/Tools/xmlconvertors/grid_xml_converter.py Provides grid XML conversion utilities from CIME2 to CIME5; note use of getchildren() below.
CIME/Tools/convert-grid-v1-to-v2 Implements conversion of grid XML files from version 1 to version 2 format.
CIME/Tools/xmlconvertors/config_pes_converter.py Adds a tool for converting config_pes XML files from CIME2 format to CIME5.
CIME/Tools/xmlchange Introduces a tool for updating variables in env_*xml files with comprehensive CLI options.
CIME/Tools/wait_for_tests Implements a script to wait for queued tests to finish based on TestStatus files.
CIME/Tools/testreporter New script to populate the CESM test database with test results.
CIME/Tools/standard_script_setup.py Provides a standard setup for logging and importing utilities needed by all scripts.
CIME/Tools/simple_compare Implements file comparison in a normalized way for non-namelist file diffing.
CIME/Tools/pelayout Offers a utility to view and modify the PE layout of a case.
CIME/Tools/normalize_cases Adds a tool to normalize a case directory by replacing test-ids, timestamps, and CIMEROOT.
CIME/Tools/mvsource Provides a tool to update source file links when a case or CIMEROOT is moved.
CIME/Tools/mkSrcfiles Perl script that generates a Srcfiles list of source code files in the case.
CIME/Tools/mkDepends Updates dependency file generation in a more modern loop construct.
CIME/Tools/list_e3sm_tests Introduces a script to list available E3SM test suites and specific test terms.
CIME/Tools/jenkins_generic_job Implements a Jenkins wrapper job for running tests, cleaning up results, and dashboard updates.
CIME/Tools/get_standard_makefile_args Outputs the standard makefile arguments for non-Python builds.
CIME/Tools/get_case_env Dumps the CIME environment for a case; useful for shell integration.
CIME/Tools/getTiming Provides a tool to extract timing information from a run.
CIME/Tools/generate_cylc_workflow.py Generates a cylc workflow file for case submission automation.
CIME/Tools/e3sm_check_env Checks that the system environment meets E3SM’s software requirements.
CIME/Tools/cs.status Lists test results from TestStatus files with options for summary and failure counting.
CIME/Tools/component_generate_baseline Generates and copies component history files as new baselines.
CIME/Tools/component_compare_test Compares two component history files in a test case.
CIME/Tools/component_compare_copy Copies the most recent history files with an appended suffix as backups.
CIME/Tools/component_compare_baseline Compares current component history files against stored baselines.
CIME/Tools/compare_test_results Analyzes test results quickly for non–bit‑for‑bit changes.
CIME/Tools/compare_namelists Compares namelist files while ignoring order and insignificant whitespace differences.
CIME/Tools/code_checker Checks that all CIME Python files are free of syntax errors and comply with PEP8 standards.

self.data[k] = att.strip()
self.keys.append(k)
self.sort()
for child in xmlnode.getchildren():
Copy link

Copilot AI Jun 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The method getchildren() is deprecated in recent versions of Python's ElementTree. Consider replacing it with list(xmlnode) to ensure future compatibility.

Suggested change
for child in xmlnode.getchildren():
for child in list(xmlnode):

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

create_clone does not copy env_postprocessing.xml to new case directory

10 participants