Article

Tests

BeginPackage["Wikicode`WorldOcean`"]

Ocean::usage = "Ocean[property,{location,range}] shows a density map for the given property \
around the given location."

Begin["`Private`"]

oceanData["Temperature", "August", 0] = 
  Select[Import[
     "http://data.nodc.noaa.gov/woa/WOA09/DATA/temperature/csv/t_08_\
1d.tar.gz", "t_08_01_1d.csv"], Length@# == 11 &][[All, {1, 2, 4}]];

Ocean[property_String, {city_String, range_?NumberQ}] := 
 ListDensityPlot[{#[[2]], #[[1]], #[[3]]} & /@ 
   oceanData[property, "August", 0], PlotLegends -> Automatic, 
  PlotRange -> {{GeoDestination[
       CityData[city, "Coordinates"], {range*1000, -90}][[1, 2]], 
     GeoDestination[
       CityData[city, "Coordinates"], {range*1000, 90}][[1, 
       2]]}, {GeoDestination[
       CityData[city, "Coordinates"], {range*1000, 180}][[1, 1]], 
     GeoDestination[
       CityData[city, "Coordinates"], {range*1000, 0}][[1, 1]]}, 
    Automatic}, Mesh -> {Range[-180, 180, 5], Range[-90, 90, 5]}, 
  Epilog -> {CountryData["World", "Polygon"]}]

End[]
EndPackage[]