The initial version of the ccpp_track_variables.py tool incorrectly lists some schemes multiple times if those schemes are described in a .meta file that contains info for more than one scheme.
Steps to Reproduce
The top of main will exhibit this behavior.
To reproduce, simply execute the scheme with this example:
In the output, several schemes appear multiple times in the list despite the fact that they are only called once in CCPP execution. This is because GFS_suite_interstitial.meta contains info for several GFS interstitial schemes, and so every time one of the schemes described in that file is called, every scheme in that file will be double-counted in the output of the track variables script.
This is just one example; there are likely multiple instances of physics suite and variable combinations that will exhibit this issue.
Additional Context
This will occur on any platform.
Output
This is an example of the incorrect output, with the incorrect duplicates highlighted
Description
The initial version of the ccpp_track_variables.py tool incorrectly lists some schemes multiple times if those schemes are described in a .meta file that contains info for more than one scheme.
Steps to Reproduce
The top of main will exhibit this behavior.
To reproduce, simply execute the scheme with this example:
framework/scripts/ccpp_track_variables.py --config=config/ccpp_prebuild_config.py -s=suites/suite_FV3_GFS_v16_noahmp.xml -v air_temperature_of_new_state -m ./physics/physics/
In the output, several schemes appear multiple times in the list despite the fact that they are only called once in CCPP execution. This is because GFS_suite_interstitial.meta contains info for several GFS interstitial schemes, and so every time one of the schemes described in that file is called, every scheme in that file will be double-counted in the output of the track variables script.
This is just one example; there are likely multiple instances of physics suite and variable combinations that will exhibit this issue.
Additional Context
This will occur on any platform.
Output
This is an example of the incorrect output, with the incorrect duplicates highlighted