num_weak_files = length(WeakTEJYears);
num_strong_files = length(StrongTEJYears);
ncfile = WeakTEJYears{i};
latitude = ncread(ncfile, 'latitude');
longitude = ncread(ncfile, 'longitude');
longitude(longitude < 0) = longitude(longitude < 0) + 360;
[longitude, sort_idx] = sort(longitude);
sst = ncread(ncfile, 'sst');
sst_sorted = sst(sort_idx, :, :);
lat_idx = find(latitude >= lat_min & latitude <= lat_max);
lon_idx = find(longitude >= lon_min & longitude <= lon_max);
sst_region = sst_sorted(lon_idx, lat_idx, :);
sst_sum_weak = sst_sum_weak + mean(sst_region, 3);
for i = 1:num_strong_files
ncfile = StrongTEJYears{i};
latitude = ncread(ncfile, 'latitude');
longitude = ncread(ncfile, 'longitude');
longitude(longitude < 0) = longitude(longitude < 0) + 360;
[longitude, sort_idx] = sort(longitude);
sst = ncread(ncfile, 'sst');
sst_sorted = sst(sort_idx, :, :);
lat_idx = find(latitude >= lat_min & latitude <= lat_max);
lon_idx = find(longitude >= lon_min & longitude <= lon_max);
sst_region = sst_sorted(lon_idx, lat_idx, :);
sst_sum_strong = sst_sum_strong + mean(sst_region, 3);
sst_avg_weak = sst_sum_weak / num_weak_files;
sst_avg_strong = sst_sum_strong / num_strong_files;
sst_diff = sst_avg_strong - sst_avg_weak;
[lon_mesh, lat_mesh] = meshgrid(longitude(lon_idx), latitude(lat_idx));
contourf(lon_mesh, lat_mesh, sst_diff', 20, 'EdgeColor', 'none');
c.Label.String = 'Temperature (K)';
c.Label.FontWeight = 'bold';
coast = load('coastlines');
coastlon = coast.coastlon;
coastlat = coast.coastlat;
coastlon(coastlon < 0) = coastlon(coastlon < 0) + 360;
plot(coastlon, coastlat, 'k', 'LineWidth', 1.5);
xlim([lon_min, lon_max]);
ylim([lat_min, lat_max]);
title('Difference: Strong - Weak TEJ Average SST', 'FontSize', 14);