There are a couple files which have 2 versions.  When you update one, you should update the other.  This is not automated in any way and easy for forget about.


  1. filter_mod.f90 and filter_mod.dopplerfold.f90
    1. these are separate because the doppler folding code assumes that the radar obs types are compiled in, and the radar obs types assume that the locations mod is the 3d sphere version.  filter has to be obs type, quantity and location independent, so this code can't be in the base version.

    2. if we started supporting f90 files that were preprocessed (#ifdef FOLDING around the folding code blocks) then we could combine them easily.  until then, i made them as similar as possible and isolated the folding code into its own subroutine.  so it should be easy to diff the files and copy any changes from filter to the folding version.

  2. assim_tools_mod.f90 and assim_tools_mod.pf.f90
    1. the pf version includes jon poterjoy's localized particle filter code.  it has a large footprint and so we didn't try to combine it with the main version.  changes to the base version should be mirrored in the pf version.  be warned it's tricky to do this.  unlike the filter code, i think using the preprocessor to combine these versions into a single file would be hard because of the logic changes.  it would make the main version even harder to read.

  • No labels