Experience from the Hargreaves-Samani Example

We found some inconvenient stuff while setting up the example. It would be nice to:

  1. not require the _validate method (when there is nothing to validate), see !156 (merged)
  2. not require the _finalize method (when nothing needs to be finalized), see !156 (merged)
  3. have an attribute in the ConnectHelper called all_data_pulled that basically replaces this line:
    all(data is not None for data in self.in_data.values())
    See: !154 (merged)
  4. maybe have a force_units routine in the data tools that could help with empirical formulas, where some parameters simply don't have a unit
  5. we should setup a CI checking the examples with black and isort and maybe pylint
  6. be able to read static data from file (and have a single NetCDF Reader and Writer object)
  7. be able to mark inputs/outputs as static (for example with a special time value like fm.STATIC)

What do you think @mlange ?

Edited by Martin Lange