Phase 3: Deferred Features from fre.cmor
This document tracks features from open fre.cmor pull requests that are intentionally deferred for future implementation in fremorizer. Each item corresponds to a specific PR in the fre-cli repository.
Purpose
Phase 3 features represent enhancements and improvements that were in progress in the fre.cmor submodule. These are deferred to focus on:
- Establishing a stable, working independent fremorizer package (Phase 1-2)
- Validating equivalence with existing fre-cli functionality (Phase 2.5)
- Ensuring CI/CD pipelines are robust and reliable
Once the foundation is solid and equivalence testing is complete, these features can be incorporated systematically.
Phase 3 Items
1. PR #826: Replace nccmp with netCDF4 in tests ✅ COMPLETED
2. PR #832: Harden branded-variable disambiguations
3. PR #833: Improved omission tracking
4. PR #834: New fremor init command for config fetching
5. PR #836: Informative error on mip_era/table format mismatch
6. PR #837: Accept CF calendar aliases (noleap/365_day, etc.)
7. PR #838: CMIP7 flavored tests
8. PR #846: Variable list semantics (map modeler vars to MIP table names)
9. PR #817: Update cmor to 3.14.2
Implementation Strategy
When ready to implement Phase 3 features:
-
Create individual GitHub issues for each item above with:
- Link to the original fre-cli PR
- Description of the feature/fix
- Any fremorizer-specific considerations
- Testing requirements
-
Prioritize based on:
- User impact (e.g., PR #826 fixes current test failures)
- Dependencies between features
- Alignment with CMIP6/CMIP7 timelines
-
Implementation approach:
- Review the original PR in fre-cli for implementation details
- Adapt code to fremorizer's independent package structure
- Ensure all changes maintain test coverage
- Update documentation as needed
- Validate no regressions in existing functionality
-
Testing requirements:
- All existing tests must continue to pass
- New tests should be added for new features
- Phase 2.5 equivalence tests should still pass after each feature addition
Notes
- Phase 2.5 (equivalence testing with fre-cli) should be completed before implementing Phase 3 features
- Each Phase 3 feature should be implemented in a separate PR for easier review and rollback if needed
- Consider creating a project board to track Phase 3 implementation progress
References
Phase 3: Deferred Features from fre.cmor
This document tracks features from open fre.cmor pull requests that are intentionally deferred for future implementation in fremorizer. Each item corresponds to a specific PR in the fre-cli repository.
Purpose
Phase 3 features represent enhancements and improvements that were in progress in the fre.cmor submodule. These are deferred to focus on:
Once the foundation is solid and equivalence testing is complete, these features can be incorporated systematically.
Phase 3 Items
1.
PR #826: Replace nccmp with netCDF4 in tests✅ COMPLETEDfre.cmor: replacenccmpsubprocess calls withnetCDF4in cmor run subtool tests NOAA-GFDL/fre-cli#826nccmptool dependency with PythonnetCDF4library for comparing netCDF files in testsnccmpsubprocess calls replaced withnetCDF4/numpyassertions intest_cmor_run_subtool.py2. PR #832: Harden branded-variable disambiguations
fre.cmor: harden branded-variable disambiguations NOAA-GFDL/fre-cli#8323. PR #833: Improved omission tracking
fre.cmor: improved and comprehensive omission tracking NOAA-GFDL/fre-cli#8334. PR #834: New
fremor initcommand for config fetchingfre.cmor: newfre cmor initcommand for config fetching NOAA-GFDL/fre-cli#8345. PR #836: Informative error on mip_era/table format mismatch
fre.cmor: raise informative error when mip_era config mismatches table format (CMIP6 vs CMIP7) NOAA-GFDL/fre-cli#8366. PR #837: Accept CF calendar aliases (noleap/365_day, etc.)
fre.cmor: accept CF calendar aliases as equivalent (noleap / 365_day, etc.) NOAA-GFDL/fre-cli#8377. PR #838: CMIP7 flavored tests
fre.cmor: create CMIP7 flavored tests of cmor_run_subtool_further_examples NOAA-GFDL/fre-cli#8388. PR #846: Variable list semantics (map modeler vars to MIP table names)
fre.cmor: variable list semantics: map modeler variable names to MIP table names NOAA-GFDL/fre-cli#8469. PR #817: Update cmor to 3.14.2
fre.cmor: update to3.14.2from3.14.0NOAA-GFDL/fre-cli#817Implementation Strategy
When ready to implement Phase 3 features:
Create individual GitHub issues for each item above with:
Prioritize based on:
Implementation approach:
Testing requirements:
Notes
References
fre/cmor/in fre-cli