Skip to content

Add l3 readers#87

Open
ghiggi wants to merge 21 commits into
mainfrom
add-l3-readers
Open

Add l3 readers#87
ghiggi wants to merge 21 commits into
mainfrom
add-l3-readers

Update products end time

e0979b2
Select commit
Loading
Failed to load commit list.
CodeScene Delta Analysis / CodeScene Code Health Review (main) failed Jun 18, 2026 in 1m 58s

CodeScene PR Check

Quality Gate Failed

Gates Failed
Enforce critical code health rules (1 file with Low Cohesion)
Enforce advisory code health rules (2 files with Number of Functions in a Single Module, Code Duplication, Large Method)

Gates Passed
2 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
Enforce critical code health rules Violations Code Health Impact
plot.py 1 critical rule 6.27 → 5.92 Suppress
Enforce advisory code health rules Violations Code Health Impact
test_manipulations.py 2 advisory rules 5.98 → 5.80 Suppress
manipulations.py 1 advisory rule 5.77 → 5.61 Suppress

Quality Gate Profile: Clean Code Collective
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.

Details

🚩 Declining Code Health (highest to lowest):

  • Code Duplication test_manipulations.py
  • Low Cohesion plot.py
  • Large Method test_manipulations.py: test_extract_dataset_above_bin
  • Large Method test_manipulations.py: test_extract_dataset_below_bin
  • Number of Functions in a Single Module manipulations.py

✅ Improving Code Health:

  • Code Duplication methods.py
  • Overall Code Complexity checks.py
  • Overall Code Complexity cross_section.py
  • Missing Arguments Abstractions plot.py
  • Complex Method manipulations.py: _get_valid_da_bin
  • Excess Number of Function Arguments methods.py: GPM_Base_Accessor.plot_swath
  • Excess Number of Function Arguments methods.py: GPM_Base_Accessor.plot_swath_lines
  • Excess Number of Function Arguments methods.py: GPM_Base_Accessor.plot_map_mesh
  • Excess Number of Function Arguments methods.py: GPM_Base_Accessor.plot_map_mesh_centroids
  • Overall Code Complexity plot.py

Annotations

Check notice on line 1 in gpm/accessor/methods.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

✅ Getting better: Code Duplication

reduced similar code in: GPM_Base_Accessor.plot_map_mesh,GPM_Base_Accessor.plot_map_mesh_centroids,GPM_Base_Accessor.plot_swath,GPM_Base_Accessor.plot_swath_lines. Avoid duplicated, aka copy-pasted, code inside the module. More duplication lowers the code health.

Check notice on line 1 in gpm/accessor/methods.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

✅ No longer an issue: Excess Number of Function Arguments

GPM_Base_Accessor.plot_swath is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check notice on line 1 in gpm/accessor/methods.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

✅ No longer an issue: Excess Number of Function Arguments

GPM_Base_Accessor.plot_swath_lines is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check notice on line 1 in gpm/accessor/methods.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

✅ No longer an issue: Excess Number of Function Arguments

GPM_Base_Accessor.plot_map_mesh is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check notice on line 1 in gpm/accessor/methods.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

✅ No longer an issue: Excess Number of Function Arguments

GPM_Base_Accessor.plot_map_mesh_centroids is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check warning on line 1 in gpm/utils/manipulations.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

❌ New issue: Number of Functions in a Single Module

This module has 89 functions, threshold = 75. This file contains too many functions. Beyond a certain threshold, more functions lower the code health.

Check notice on line 293 in gpm/utils/manipulations.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

✅ No longer an issue: Complex Method

_get_valid_da_bin is no longer above the threshold for cyclomatic complexity. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

Check warning on line 1 in gpm/tests/test_utils/test_manipulations.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

❌ Getting worse: Code Duplication

introduced similar code in: TestSliceRangeAtNearSurface.test_dataset_slices_all_variables_using_target,TestSliceRangeAtTop.test_dataset_slices_all_variables_using_target. Avoid duplicated, aka copy-pasted, code inside the module. More duplication lowers the code health.

Check warning on line 584 in gpm/tests/test_utils/test_manipulations.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

❌ Getting worse: Large Method

test_extract_dataset_above_bin increases from 113 to 114 lines of code, threshold = 70. Large functions with many lines of code are generally harder to understand and lower the code health. Avoid adding more lines to this function.

Check warning on line 417 in gpm/tests/test_utils/test_manipulations.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

❌ Getting worse: Large Method

test_extract_dataset_below_bin increases from 97 to 98 lines of code, threshold = 70. Large functions with many lines of code are generally harder to understand and lower the code health. Avoid adding more lines to this function.

Check warning on line 1 in gpm/visualization/plot.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

❌ New issue: Low Cohesion

This module has at least 4 different responsibilities amongst its 43 functions, threshold = 4. Cohesion is calculated using the LCOM4 metric. Low cohesion means that the module/class has multiple unrelated responsibilities, doing too many things and breaking the Single Responsibility Principle.

Check notice on line 1 in gpm/visualization/plot.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

✅ No longer an issue: Overall Code Complexity

The mean cyclomatic complexity in this module is no longer above the threshold

Check notice on line 1 in gpm/visualization/plot.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

✅ Getting better: Missing Arguments Abstractions

The average number of function arguments decreases from 4.93 to 4.74, threshold = 4.00. The functions in this file have too many arguments, indicating a lack of encapsulation or too many responsibilities in the same functions. Avoid adding more.

Check notice on line 1 in gpm/io/checks.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

✅ Getting better: Overall Code Complexity

The mean cyclomatic complexity decreases from 5.19 to 5.16, threshold = 4. This file has many conditional statements (e.g. if, for, while) across its implementation, leading to lower code health. Avoid adding more conditionals.

Check notice on line 1 in gpm/visualization/cross_section.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (main)

✅ Getting better: Overall Code Complexity

The mean cyclomatic complexity decreases from 6.29 to 6.14, threshold = 4. This file has many conditional statements (e.g. if, for, while) across its implementation, leading to lower code health. Avoid adding more conditionals.