Skip to content

Copy additional xml files to clone #505

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5,165 commits into
base: master
Choose a base branch
from

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 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
Preview

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