Getting incorrect plots for cosmic-2 bending profiles
Show older comments
Hey there, I am trying to reproduce results of a paper (see image below) (https://www.mdpi.com/2073-4433/14/1/121). I am trying to plot the bending profile of the files used in this paper (file attached) but for some reason my results are far off than the ones in the paper. I've searched everywhere but seems like I am missing something.

The thing that I want to get (at least one line from the following)

Please check the following code
File = "atmPrf_C2E3.2022.016.01.45.R04_0001.0001_nc";
info = ncinfo(File);
impactHeigth = ncread(File,"Impact_height");
Temp = ncread(File,'Ref');
tongLat = ncread(File, "Lat");
TongLong = ncread(File, "Lon");
pres = ncread(File,"Pres");
bendAngle = ncread(File, "Bend_ang");
bendAngle_sigma = ncread(File, 'Bend_ang_stdv');
bendAngle_ci = ncread(File, 'Bend_ang_conf');
MSL = ncread(File, "MSL_alt");
maxHeight = 40;
minHeight = 5;
alt = MSL((MSL >= minHeight) & (MSL <= maxHeight));
temp = Temp(1:length(alt));
figure
plot(bendAngle, impactHeigth)
title("COSMIC-2 RO Bending Angle W.R.T Mean Sea Altitude")
xlabel("Bending Angle")
ylabel("Mean Sea Altitude (km)")
8 Comments
Mathieu NOE
on 8 Dec 2023
I see that your reference plot x axis is bending angle change and not just bending angle itself
so I wonder if you should not take the diff or gradient of this angle
I get a new plot that shows better the bump around altitude = 33 km but at lower altitudes I see still a large discrepancy between your data and the reference plot - maybe it's not related to how we process it in matlab but the nc file itself ?

File = "atmPrf_C2E3.2022.016.01.45.R04_0001.0001_nc";
info = ncinfo(File)
impactHeigth = ncread(File,"Impact_height");
Temp = ncread(File,'Ref');
tongLat = ncread(File, "Lat");
TongLong = ncread(File, "Lon");
pres = ncread(File,"Pres");
bendAngle = ncread(File, "Bend_ang");
bendAngle_sigma = ncread(File, 'Bend_ang_stdv');
bendAngle_ci = ncread(File, 'Bend_ang_conf');
MSL = ncread(File, "MSL_alt");
maxHeight = 40;
minHeight = 5;
alt = MSL((MSL >= minHeight) & (MSL <= maxHeight));
temp = Temp(1:length(alt));
figure
plot(bendAngle, impactHeigth)
ylim([10 max(impactHeigth)]);
title("COSMIC-2 RO Bending Angle W.R.T Mean Sea Altitude")
xlabel("Bending Angle")
ylabel("Mean Sea Altitude (km)")
figure
plot(gradient(bendAngle), impactHeigth)
ylim([10 max(impactHeigth)]);
title("COSMIC-2 RO Bending Angle W.R.T Mean Sea Altitude")
xlabel("Gradient of Bending Angle")
ylabel("Mean Sea Altitude (km)")
Imtiaz nabi
on 11 Dec 2023
Mathieu NOE
on 11 Dec 2023
try smoothdata
Imtiaz nabi
on 12 Dec 2023
Mathieu NOE
on 12 Dec 2023
did you get an error message or is the result not what you expected ?
Imtiaz nabi
on 14 Dec 2023
Imtiaz nabi
on 14 Dec 2023
Mathieu NOE
on 19 Dec 2023
I would say :
percentage = 100 * (angle - mean(angle)) / mean(angle)
Answers (0)
Categories
Find more on NetCDF in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!