Тёмный

The Climate Data Toolbox for MATLAB - Analyzing Trends & Global Warming 

Chad Greene
Подписаться 422
Просмотров 9 тыс.
50% 1

This tutorial describes how to analyze trends in sea surface temperature using the Climate Data Toolbox for MATLAB (CDT).
Get CDT here: github.com/chadagreene/CDT
Greene, C.A., Thirumalai, K., Kearney, K.A., Delgado, J.M., Schwanghart, W., Wolfenbarger, N.S., Thyng, K.M., Gwyther, D.E., Gardner, A.S. and Blankenship, D.D., 2019. The climate data toolbox for MATLAB. Geochemistry, Geophysics, Geosystems, 20(7), pp.3774-3781. doi.org/10.1029/2019GC008392
Below you'll find the annotated code from today's show.
% View CDT documentation:
cdt deseason
% Load example data:
load pacific_sst
% Inspect the the variables in the workspace:
whos
% Calculate a map of mean sea surface temps:
sst_mean = mean(sst,3);
% Plot mean sea surface temperature:
imagescn(lon,lat,sst_mean)
xlabel longitude
ylabel latitude
colorbar
% View cmocean colormap options:
cmocean
% Set the thermal colormap:
cmocean thermal
% Add geopolitical borders:
hold on
borders
% Get the indices of the grid cell closest to (23N,115W):
row = near1(lat,23)
lat(row)
col = near1(lon,-115)
lon(col)
% Plot a circle at the location of interest:
plot(lon(col),lat(row),'ko')
% Get a 1D array of temperatures at the location of interest:
sst1 = sst(row,col,:);
size(sst1)
% Turn sst1 into a column vector:
sst1 = squeeze(sst1);
size(sst1)
% Clear the map figure:
clf
% Plot the time series of sst1:
plot(t,sst1)
ylabel temperature
xlabel time
% Format the date axis labels:
datetick
% Remove the seasonal cycle from sst1:
sst1_ds = deseason(sst1,t);
% Plot the de-seasoned sst1 time series:
hold on
plot(t,sst_ds)
% Plot the linear trend in sea surface temperature:
polyplot(t,sst1)
% Plot the linear trend of deseasoned temperature:
polyplot(t,sst1_ds)
% Calculate the SST trend at the location of interest:
trend(sst1,12)
% Verify the total amount of warming that has occurred since 1950:
trend(sst1,12)*67
% Calculate a map of trends in sea surface temperature:
sst_tr = trend(sst,12);
% Clear the current figure:
clf
% Map the trends in sea surface temperature:
imagescn(lon,lat,sst_tr)
cb = colorbar;
ylabel(cb,'sst trend \circC/yr')
% Set the colormap:
cmocean('balance','pivot')
% Calculate trends with statistical p values:
[sst_tr,p] = trend(sst,12);
% Determine if the trend at the single location of interest is significant:
mann_kendall(sst1)
% Verify that random numbers do not produce a significant trend:
mann_kendall(rand(size(sst1)))
% Calculate a map of statistical significance:
mk = mann_kendall(sst);
% Add stippling where trends are significant:
hold
stipple(lon,lat,mk)
Content created by Chad A. Greene of NASA Jet Propulsion Laboratory.

Видеоклипы

Опубликовано:

 

3 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 16   
@supercomedy86
@supercomedy86 Год назад
thanks Dr. Chad
@ghaidanabilah6238
@ghaidanabilah6238 2 года назад
Thank you🙏
@Rainstorm121
@Rainstorm121 2 года назад
Thank you very much Sir. I downloaded a monthly subset data of the NCEP reanalysis product. When I plotted it, it appear too small in the bigger map. How can matlab fix this so that only the map portions corresponding to the subset data is produced?
@Geooutlook852
@Geooutlook852 2 года назад
Please explain about statistical downscaling using matlab. Can we statistically downscale GCM data at spatial scale?
@leylaburret266
@leylaburret266 2 года назад
Thank you for the video, I have MATLAB 2022. And your screen seems totally different then mine even when I write your commands nothing works as yours, always error.Your answer will ne greatly appreciated !
@vincentdoriot8439
@vincentdoriot8439 Год назад
Hello from France ! I'm maybe totally outdated but I don't get the deseason function, even looking at the documentation. It's maybe stupid but the deseason function gives you monthly average (as your dataset is a monthly one) value for each month right ? So how is it possible to have a bigger value for seasonnal variation as it doesn't take into account possible short time scale extreme event which would be more visible with monthly average ? Thank you for your great work ! Wish you the best !
@Geooutlook852
@Geooutlook852 2 года назад
How to do downscaling GCM data in matlab
@joaquinsalvadorespinozagas1146
@joaquinsalvadorespinozagas1146 2 года назад
Dr. Greene, could you please tell why you multiply the trend by 67 in trend(sst1) * 67?
@chadagreene
@chadagreene 2 года назад
Good question! The answer: trend(sst1,12) gives an answer of 0.02, which is the trend in degrees C per year. The 12 is because it's a monthly dataset and there are 12 months per year. Multiplying the yearly trend by 67 is a way of estimating the total amount of warming that has occurred over the 67 year dataset. Of course, it would be easier to simply subtract the first measurement from the last measurement to calculate the total amount of warming over the 67 year period, but a simple subtraction would be sensitive to any short-term weather events that might occur in the first and last measurement. Taking the linear trend and multiplying by the total duration is less sensitive to noise.
@joaquinsalvadorespinozagas1146
@joaquinsalvadorespinozagas1146 2 года назад
​@@chadagreene Thanks for the explanation I have been able to solve my doubt.
@rohitshaw5968
@rohitshaw5968 2 года назад
Hello sir, could you kindly help me with the tentative guide on how to average across the two dimensions of a 3d array, and loop it across 86 timesteps? It's a climate data of type 720x360x86. Thank you.
@bargavreddymuskula1574
@bargavreddymuskula1574 Год назад
Hai Rohit, have you got your problem solved. I am in need of a solution for the same kind of problem. Could you help me if you have the solution for the same
@saumyasingh6233
@saumyasingh6233 2 года назад
Hello Sir, Can you please tell how to plot a figure using interpolated shading in imagescn
@chadagreene
@chadagreene 2 года назад
For interpolated shading use: pcolor(x,y,z) shading interp
@saumyasingh6233
@saumyasingh6233 2 года назад
@@chadagreene Thankyou Sir, pcolor interpolated is excluding some of the grids on the border of my shapefile as the data outside is NaN, so I was wondering if there could be another way.
@neginrostamikia5713
@neginrostamikia5713 Год назад
How to plot step response in MATLAB: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-BF9mLdQcgk8.html
Далее
Beyond Excel: Enhancing Your Data Analysis with MATLAB
1:00:42
Et toi ? Joue-la comme Pavard ! 🤪#shorts
00:11
Просмотров 1,6 млн
Marine Heatwaves
7:56
Просмотров 1,5 тыс.
Visualising data in NetCDF format
39:56
Просмотров 64 тыс.
Visualize DEMs and Raster Topography in Matlab
9:53
Просмотров 1,7 тыс.
Mapping and Geospatial Data Analysis Using MATLAB
37:50
Reading NetCDF Temperature Anomaly data in RStudio
20:16
Ozoda - JAVOHIR ( Official Music Video )
6:37
Просмотров 9 млн
Big Baby Tape, Aarne, Toxi$ - Ameli
3:00
Просмотров 243 тыс.
Jakone, Kiliana - Асфальт (Mood Video)
2:51
Просмотров 2,3 млн