anchor.diff:  
   
   -spec retrieve_stations_in_region({number(),number()},{number(),number()}) -> [#raws_station{}].
  -retrieve_stations_in_region({MinLat,MaxLat},{MinLon,MaxLon}) ->
  -  case mnesia:transaction(
  -    fun() ->
  +retrieve_stations_in_region({MinLat,MaxLat},{MinLon,MaxLon}) when is_number(MinLat) and is_number(MaxLat)
  +                                                              and is_number(MinLon) and is_number(MaxLon) ->
  +  case mnesia:transaction(fun() ->
           Q = qlc:q([X || X=#raws_station{lat=Lat,lon=Lon} <- mnesia:table(raws_station),
                       Lat >= MinLat, Lat =< MaxLat, Lon >= MinLon, Lon =< MaxLon]),
           qlc:e(Q) end) of
  
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
  