Skip to content

ICARTT v2 - #1053

Open
jrobrien91 wants to merge 5 commits into
ARM-DOE:mainfrom
jrobrien91:icartt-v2
Open

ICARTT v2#1053
jrobrien91 wants to merge 5 commits into
ARM-DOE:mainfrom
jrobrien91:icartt-v2

Conversation

@jrobrien91

Copy link
Copy Markdown
Collaborator

What changed

Removes the icartt library dependency from ACT, creating an new Icartt class within act/io/icartt.py that allows for reading and writing of FFI 1001 data.

write_icartt is an entirely new function designed to close the loop between ARM netcdf and ICARTT formatted files.

Why

Closes ACT 2.0 roadmap remaining item (write_icartt).
Also, greatly improves testing of the icartt class, particularly the handling of special comment lines

Issues closed

Closes #1051

Validation

Mark each item as done or N/A. Add one short evidence line for each item.

  • I ran pre-commit or ruff

  • I ran tests and/or added tests

AI usage & manual verification

If AI tools were used, complete this section.

  • AI used: Yes
  • Model/tooling:
    • Claude Opus 5 via Claude Code
  • Tasks delegated to AI:
    • Given the current implementation of the ICARTT reader, the NASA ICARTT v2.0 standards documentation, and a previous generated ICARTT class created by the developer, remove the icartt.py dependency and improve testing suite.
    • Developer removed icartt from the continuous integration and docs environments.
  • Manual verification performed:
    • From the ARM AAF ICARTT formatted file within the test data, preformed a loop of reading in the data and re-writing to a new file to test performance. Visual inspection of the before and after ICARTT files. Checked if methodology made sense and generated class was similar to previously created version.
    • joe.ict was included within this markdown for visual inspection against the ARM Test Data repo. This file was generated via write_icartt after reading in the ARM AAF ICARTT file.

Impact note (optional):
- there is not a change for users using the read_icartt function. However, the icartt library dependency is removed.

@jrobrien91 jrobrien91 changed the title ICART v2 ICARTT v2 Aug 27, 2026
@jrobrien91

Copy link
Copy Markdown
Collaborator Author

Hmm not letting me include the written sample .ict file. I'll send over internally

Comment thread act/io/icartt.py Outdated
Comment thread act/io/icartt.py Outdated
Comment thread act/io/icartt.py Outdated
Comment thread act/io/icartt.py
Comment thread act/io/icartt.py Outdated
Comment thread act/io/icartt.py Outdated
@jrobrien91

jrobrien91 commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator Author

Still need to add the scaling factor function but will do so in the morning; other suggested corrections applied

@jrobrien91

Copy link
Copy Markdown
Collaborator Author

Scale factor function created for the incredibly rare chance someone wants to use a non-one scale factor. The caveat on this is it does not touch the upper and lower detection limit flags, which will always be -7777 and -8888

@zssherman
zssherman self-requested a review August 28, 2026 17:23
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.

Removal of icartt dependency for independent ICARTT class (FFI 1001)

2 participants