anchor.diff:  
   
   -spec retrieve_station_info(string()) -> #raws_station{} | no_such_station.
  -retrieve_station_info(StId) ->
  +retrieve_station_info(StId) when is_list(StId) ->
     case mnesia:transaction(fun () -> mnesia:read({raws_station,StId}) end) of
       {atomic,[StInfo]} ->
         StInfo;
  
positive.code:   fun (_) -> true end;
  get_var_selector_fun(VarIds) when is_list(VarIds) ->
    fun (V) -> lists:member(V,VarIds) end.
  
negative.code: 
  
  -spec acquire_observations(station_selector(),[var_id()],{calendar:datetime(),calendar:datetime()}) -> ok|{error,any()}.
  acquire_observations(_SSel,_VarIds,{From,To}) when From > To and is_list(_VarIds) ->
    ok;
  acquire_observations(SSel,VarIds,{From,To}) when is_list(VarIds) ->
    STo = calendar:datetime_to_gregorian_seconds(To),
    SFrom = calendar:datetime_to_gregorian_seconds(From),
    case STo - SFrom > 2 * 86400 of
  