Sea Surface Temperatures

Contents

Sea Surface Temperatures#

OISST dataset#

The NOAA 1/4° daily Optimum Interpolation Sea Surface Temperature (or daily OISST) Climate Data Record (CDR) provides complete ocean temperature fields constructed by combining bias-adjusted observations from different platforms (satellites, ships, buoys) on a regular global grid, with gaps filled in by interpolation.

Data source : ncei.noaa.gov

Plots for comparison : climatereanalyzer.org

Adapted from : https://juliaocean.github.io/Climatology.jl/dev/examples/sst_anomaly_notebook.html

if !isdefined(Main,:Glob)
    using Pkg; Pkg.activate(temp=true)
    Pkg.add.(["Climatology", "NCDatasets","CairoMakie", "Glob"])
end
using Climatology, NCDatasets, CairoMakie, Glob
input_path=Climatology.SST_demo_path
path_OISST_stats=Climatology.downloads.OISST_stats_download()
"/Users/gaelforget/.julia/scratchspaces/124859b0-ceae-595e-8997-d05f6a7a8dfe/datadeps/OISST-stats1"
# of days in between maps? $(b_fil_delta)
fil_del=1

## Regional SST timeseries
lon0=205; lat0=25

show_anom=true;
show_clim=false;

begin
	dlon=10.0
	dnl=Int(dlon/0.25)
	(df,gdf,kdf)=SST_coarse_grain.lowres_read(fil="lowres_oisst_sst_$(dlon).csv",path=path_OISST_stats)
	show(df)
end

# ╔═╡ 27c6c10b-93f0-4b3c-910c-a52c9b30ddf3
begin
	kdf0=kdf[SST_coarse_grain.lowres_index(lon0,lat0,kdf)]
	(lon1,lat1)=SST_coarse_grain.lowres_position(kdf0.i,kdf0.j,kdf)
end
8512140×4 DataFrame
     Row  i      j      t         sst       
         │ Int64  Int64  Int64     Float64   
─────────┼───────────────────────────────────
       1 │     1      2  19820101  -0.240948
       2 │     2      2  19820101  -0.347843
       3 │     3      2  19820101  -0.660196
       4 │     7      2  19820101  -0.995135
       5 │     8      2  19820101  -1.19049
       6 │    17      2  19820101  -1.1207
       7 │    18      2  19820101  -0.681981
       8 │    19      2  19820101  -0.605515
       9 │    20      2  19820101  -1.10193
      10 │    21      2  19820101  -1.16746
      11 │    22      2  19820101  -1.42289
    ⋮    │   ⋮      ⋮       ⋮          ⋮
 8512131 │    27     18  20240906  -1.62683
 8512132 │    28     18  20240906  -1.56852
 8512133 │    29     18  20240906  -1.62192
 8512134 │    30     18  20240906  -1.59569
 8512135 │    31     18  20240906  -1.611
 8512136 │    32     18  20240906  -1.61363
 8512137 │    33     18  20240906  -1.61438
 8512138 │    34     18  20240906  -1.60505
 8512139 │    35     18  20240906  -1.57329
 8512140 │    36     18  20240906  -1.5473
                         8512119 rows omitted
(205.0, 25.0)
begin
    (fil1,fil2)=SST_FILES.file_lists(path=input_path)
	list=SST_FILES.read_files_list(path=input_path)
    files_list=SST_processing.download_files(path=input_path,short_demo=true)
	display([input_path;basename.(files_list)])
end

fil_sst=files_list[end]
ano_sst=true
ano_ncei=false

ts=SST_timeseries.calc(kdf0,list,gdf=gdf)
f3b=plot(SSTdiag(options=(plot_type=:by_year,ts=ts)))
#save_fig(f3b,doSave,file="sst_local_by_year.png")
16-element Vector{String}:
 "/var/folders/vn/3r695jqd3177cw09wdmf3z940000gn/T/demo_OISST"
 "oisst-avhrr-v02r01.20240911.nc"
 "oisst-avhrr-v02r01.20240912_preliminary.nc"
 "oisst-avhrr-v02r01.20240913_preliminary.nc"
 "oisst-avhrr-v02r01.20240914_preliminary.nc"
 "oisst-avhrr-v02r01.20240915_preliminary.nc"
 "oisst-avhrr-v02r01.20240916_preliminary.nc"
 "oisst-avhrr-v02r01.20240917_preliminary.nc"
 "oisst-avhrr-v02r01.20240918_preliminary.nc"
 "oisst-avhrr-v02r01.20240919_preliminary.nc"
 "oisst-avhrr-v02r01.20240920_preliminary.nc"
 "oisst-avhrr-v02r01.20240921_preliminary.nc"
 "oisst-avhrr-v02r01.20240922_preliminary.nc"
 "oisst-avhrr-v02r01.20240923_preliminary.nc"
 "oisst-avhrr-v02r01.20240924_preliminary.nc"
 "oisst-avhrr-v02r01.20240925_preliminary.nc"