Skip to content
Snippets Groups Projects
  • Erin (Josh) Rigler's avatar
    dd71bde9
    Pull inputs in run(), not run_as_update() · dd71bde9
    Erin (Josh) Rigler authored
    For years, when invoking geomag-algorithms' update mechanism, inputs
    were pulled and checked from the run_as_update() method inside the
    Controller class. I never understood this. It seemed to break the
    logic of the update mechanism if no inputs were available for the
    current inteval/gap. This might even be the source of noted issues
    where running back-filling scripts didn't behave as expected, and
    those scripts needed to be run multiple times.
    
    What's more, the run_as_update() method logically seems like the
    most appropriate place to read *outputs* and check for gaps. Whereas
    the run() method seems like the most appropriate place to read
    inputs, apply algorithms, and write out outputs.
    
    In any case, this change should not break any existing code. It
    should only allow the update mechanism to complete, every time, and
    as originally intended, rather than be short-circuited when input
    data are missing for the current interval (but might be available
    for previous intervals)..
    dd71bde9
    History
    Pull inputs in run(), not run_as_update()
    Erin (Josh) Rigler authored
    For years, when invoking geomag-algorithms' update mechanism, inputs
    were pulled and checked from the run_as_update() method inside the
    Controller class. I never understood this. It seemed to break the
    logic of the update mechanism if no inputs were available for the
    current inteval/gap. This might even be the source of noted issues
    where running back-filling scripts didn't behave as expected, and
    those scripts needed to be run multiple times.
    
    What's more, the run_as_update() method logically seems like the
    most appropriate place to read *outputs* and check for gaps. Whereas
    the run() method seems like the most appropriate place to read
    inputs, apply algorithms, and write out outputs.
    
    In any case, this change should not break any existing code. It
    should only allow the update mechanism to complete, every time, and
    as originally intended, rather than be short-circuited when input
    data are missing for the current interval (but might be available
    for previous intervals)..