Skip to content

Deactivate fre.cmor and redirect to fremor#894

Open
ilaflott wants to merge 25 commits into
mainfrom
deactivate-fre-cmor
Open

Deactivate fre.cmor and redirect to fremor#894
ilaflott wants to merge 25 commits into
mainfrom
deactivate-fre-cmor

Conversation

@ilaflott
Copy link
Copy Markdown
Member

@ilaflott ilaflott commented May 19, 2026

Had to get my hands dirty!

This pull request removes support and documentation for the fre cmor tool, which provided CMORization capabilities within the FRE CLI. As a result, related dependencies, documentation, and submodules have been cleaned up. Users are now directed to use the new fremor tool instead. The most important changes are grouped below.

Deprecation and Documentation Updates:

  • Removed all documentation for fre cmor and its subcommands from the main and usage docs, including docs/tools/cmor.rst, docs/usage/cmor.rst, and docs/usage/cmor_cookbook.rst. The tools documentation now marks fre cmor as deprecated and points users to fremor instead. [1] [2] [3] [4] [5]
  • Updated documentation instructions and lists of available tools to remove references to cmor. [1] [2]

Dependency and Submodule Cleanup:

  • Removed the cmor package from the environment.yml dependencies, as it is no longer required.
  • Removed the cmip6-cmor-tables and cmip7-cmor-tables submodules from .gitmodules and .cspell.json, and removed related file exclusions from MANIFEST.in. [1] [2] [3]

Code Quality and Build Instructions:

  • Updated code quality instructions to remove cmor from the list of ignored modules in the pylint command.

These changes collectively deprecate the in-repo CMORization functionality and transition users to the external fremor tool for all future CMORization needs.

Copy link
Copy Markdown
Contributor

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 deactivates the in-repo fre.cmor implementation and redirects users toward the external NOAA-GFDL/fremor project. It removes CMOR dependencies, documentation, fixtures, and tests while leaving lightweight placeholder command modules.

Changes:

  • Removed cmor dependency and CMOR test/data submodules.
  • Replaced most fre/cmor implementation with stubs pointing to fremor.
  • Removed or shortened CMOR docs/tests and updated related CLI/docs references.

Reviewed changes

Copilot reviewed 49 out of 50 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
.cspell.json Removes CMIP6 CMOR tables from spell-check ignore paths.
.github/copilot-instructions.md Removes cmor from lint ignored modules and tool list.
.gitmodules Removes CMIP6/CMIP7 CMOR table submodules.
MANIFEST.in Removes CMOR-table Python 2 syntax exclusions.
docs/contributing_to_doc.rst Removes cmor from docs-only mocked dependency examples.
docs/tools.rst Marks fre cmor as deprecated and points to fremor.
docs/tools/cmor.rst Removes CMOR command documentation.
docs/usage.rst Removes CMOR usage section include.
docs/usage/cmor.rst Removes CMOR usage documentation.
docs/usage/cmor_cookbook.rst Removes CMOR cookbook documentation.
environment.yml Removes conda cmor dependency.
fre/cmor/README.md Replaces detailed CMOR docs with fremor migration pointer.
fre/cmor/__init__.py Removes public exports for CMOR helper functions.
fre/cmor/cmor_config.py Replaces CMOR config generator with placeholder stub.
fre/cmor/cmor_constants.py Removes CMOR constants module.
fre/cmor/cmor_finder.py Replaces finder/varlist implementations with placeholder stubs.
fre/cmor/cmor_helpers.py Removes CMOR helper implementation.
fre/cmor/cmor_mixer.py Replaces CMOR run implementation with placeholder stub.
fre/cmor/cmor_yamler.py Replaces YAML-driven CMOR implementation with placeholder stub.
fre/cmor/frecmor.py Updates imports for remaining CMOR CLI placeholders.
fre/cmor/tests/test_cmor_config_subtool.py Removes CMOR config tests.
fre/cmor/tests/test_cmor_find_subtool.py Removes CMOR finder tests.
fre/cmor/tests/test_cmor_finder_make_simple_varlist.py Removes varlist-generation tests.
fre/cmor/tests/test_cmor_helpers.py Removes CMOR helper tests.
fre/cmor/tests/test_cmor_helpers_update_calendar.py Removes calendar-update helper tests.
fre/cmor/tests/test_cmor_helpers_update_grid_label.py Removes grid-label helper tests.
fre/cmor/tests/test_cmor_mixer_calendar_integration.py Removes CMOR mixer calendar tests.
fre/cmor/tests/test_cmor_run_subtool.py Removes CMOR run tests.
fre/cmor/tests/test_cmor_run_subtool_further_examples.py Removes expanded CMOR run examples.
fre/cmor/tests/test_cmor_yamler.py Removes CMOR yamler path validation test.
fre/cmor/tests/test_cmor_yamler_freq_validation.py Removes frequency conversion tests.
fre/cmor/tests/test_cmor_yamler_subtool.py Removes YAML CMOR workflow tests.
fre/tests/test_files/CMOR_CMIP7_input_example.json Removes CMIP7 CMOR fixture.
fre/tests/test_files/CMOR_input_example.json Removes CMIP6 CMOR fixture.
fre/tests/test_files/CMORbite_var_list.json Removes CMOR variable-list fixture.
fre/tests/test_files/empty_varlist Removes empty CMOR varlist fixture.
fre/tests/test_files/varlist Removes CMOR varlist fixture.
fre/tests/test_files/varlist_local_target_vars_differ Removes alternate CMOR varlist fixture.
fre/tests/test_fre_cmor_cli.py Reduces CMOR CLI tests to command-shape checks.
fre/yamltools/combine_yamls_script.py Removes CMOR YAML combining implementation path.
fre/yamltools/freyamltools.py Updates help text for YAML combining uses.
fre/yamltools/info_parsers/cmor_info_parser.py Removes CMOR YAML parser implementation.
fre/yamltools/tests/test_combine_yamls_script.py Removes CMOR YAML combiner unit test.
meta.yaml Removes conda cmor runtime requirement.
pyproject.toml Removes Python cmor dependency.
pylintrc Removes cmor from ignored modules.
test_call.sh Removes local CMOR prototype/test script.

Comment thread fre/cmor/cmor_mixer.py Outdated
Comment thread fre/cmor/cmor_yamler.py Outdated
Comment thread fre/cmor/cmor_finder.py Outdated
Comment thread fre/yamltools/freyamltools.py Outdated
Comment thread fre/yamltools/combine_yamls_script.py
ilaflott and others added 12 commits May 19, 2026 15:00
…est_fre_yamltools_cli.py fre/yamltools/tests/test_helpers.py --> fails. run each separately --> OK. run the failing one in test_helpers with any other test with the yamltools_cli test --> fail. run the failing one in test_helperes with any other test and not the yamltools_cli test --> OK
@ilaflott ilaflott linked an issue May 19, 2026 that may be closed by this pull request
@ilaflott ilaflott marked this pull request as ready for review May 19, 2026 22:56
@ilaflott
Copy link
Copy Markdown
Member Author

this will close #885

and to be clear i only used copilot to review here, not to edit.

@ilaflott ilaflott requested review from ceblanton and singhd789 May 19, 2026 23:01
@codecov
Copy link
Copy Markdown

codecov Bot commented May 19, 2026

Codecov Report

❌ Patch coverage is 93.33333% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 81.59%. Comparing base (705f6cf) to head (9ba2ae3).

Files with missing lines Patch % Lines
fre/yamltools/combine_yamls_script.py 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #894      +/-   ##
==========================================
- Coverage   84.36%   81.59%   -2.78%     
==========================================
  Files          71       67       -4     
  Lines        5003     3739    -1264     
==========================================
- Hits         4221     3051    -1170     
+ Misses        782      688      -94     
Flag Coverage Δ
unittests 81.59% <93.33%> (-2.78%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
fre/cmor/cmor_config.py 100.00% <100.00%> (+2.46%) ⬆️
fre/cmor/cmor_finder.py 100.00% <100.00%> (ø)
fre/cmor/cmor_mixer.py 100.00% <100.00%> (+10.13%) ⬆️
fre/cmor/cmor_yamler.py 100.00% <100.00%> (ø)
fre/cmor/frecmor.py 100.00% <100.00%> (ø)
fre/yamltools/freyamltools.py 92.30% <100.00%> (-7.70%) ⬇️
fre/yamltools/helpers.py 93.50% <100.00%> (ø)
fre/yamltools/combine_yamls_script.py 92.30% <0.00%> (+5.64%) ⬆️

... and 1 file with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 705f6cf...9ba2ae3. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

disable current fre.cmor functionality

2 participants