MATLAB Answers

How to extract satellite measured chlorophyll-a (chl-a) in MATLAB

12 views (last 30 days)
Karthik M
Karthik M on 28 Jul 2021
Commented: Karthik M on 3 Aug 2021
Hi Folks,
I was using thie following script to extract chlor_a variable with lat[0S 30N] and lon[30W 100E] further need to capture the data values of chla for particular region esp for North Indian Ocean lat, long range
ncdisp = ('A20150012015008.L3m_8D_CHL_chlor_a_4km.nc');
lat = ncread('A20150012015008.L3m_8D_CHL_chlor_a_4km.nc','lat');
lon = ncread('A20150012015008.L3m_8D_CHL_chlor_a_4km.nc','lon');
chlor_a = ncread('A20150012015008.L3m_8D_CHL_chlor_a_4km.nc','chlor_a');
% Load longitude array:
lon = double(ncread('A20150012015008.L3m_8D_CHL_chlor_a_4km.nc','lon'));
ind1 = find(lon>=30 & lon<=100);
% Do the same for lat:
lat = double(ncread('A20150012015008.L3m_8D_CHL_chlor_a_4km.nc','lat'));
ind2 = find(lat>=0 & lat<=30);
% Clip lat and lon to their specified range:
lat = lat(ind2);
lon = lon(ind1);
% Make a grid:
[Lat,Lon] = meshgrid(lat,lon);
Looking forward to your valuable suggestions
regards

Accepted Answer

KSSV
KSSV on 28 Jul 2021
Let lon,lat be your grid coordinates of the nc file.
[X,Y] = meshgrid(lon,lat) ;
xi = linspace(30,100) ;
yi = linspace(0,30) ;
[Xi,Yi] = meshgrid(xi,yi) ;
iwant = interp2(X,Y,chlor_a',Xi,Yi) ;
If the data is 3D run a loop.
  12 Comments
Karthik M
Karthik M on 3 Aug 2021
I tried using this script still error persist
nccreate('myfile.nc','myvar')
>> A = 99;
>> ncwrite('myfile.nc','myvar',A)
>> S = ncinfo('myfile.nc');
>> file_fmt = S.Format
file_fmt =
'netcdf4_classic'
>> S.Format = 'netcdf4';
>> ncwriteschema('newfile.nc',S)
kindly help

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!