After removing the stub process/timesplit logic, and with the handling of state variables and tendencies in the physics through interstitials and in the host model through its own code, we can remove the state_variable metadata attribute. These are the only places where it is used.
[dom@dutchman ccpp-f-capgen-ng]$ grep -Re 'state_variable' scripts/
scripts/var_props.py: >>> VariableProperty('state_variable', str, valid_values_in=['True', 'False', '.true.', '.false.' ], optional_in=True, default_in=False) #doctest: +ELLIPSIS
scripts/metavar.py: VariableProperty('state_variable', bool,
scripts/ccpp_datafile.py: "state_variable", "type", "units", "molar_mass",
[dom@dutchman ccpp-f-capgen-ng]$ grep -Re 'state_variable' src/
src/ccpp_constituent_prop_mod.meta: state_variable = true
[dom@dutchman ccpp-f-capgen-ng]$ less src/ccpp_constituent_prop_mod.meta
[ vars_layer ]
standard_name = ccpp_constituents
long_name = Array of constituents managed by CCPP Framework
units = none
state_variable = true
dimensions = (horizontal_dimension, vertical_layer_dimension, number_of_ccpp_constituents)
type = real | kind = kind_phys
Description
After removing the stub process/timesplit logic, and with the handling of state variables and tendencies in the physics through interstitials and in the host model through its own code, we can remove the state_variable metadata attribute. These are the only places where it is used.