福衛七號:單一檔案分析
(使用Octave)
安裝GNU Octave (Octave是免費、開源的Matlab)
在https://octave.org/download,尋找適合安裝的版本,windows版檔案大約約為400mb。
安裝完後,開啟Octave-x.x.x(GUI),並繼續觀測資料的分析操作。
A. 福衛七號的大氣觀測資料
下載福衛七號的大氣觀測資料https://tacc.cwa.gov.tw/v2/
方法一:上方欄位的「福衛七號-TDPC」 資料下載 --> FS-7 TDPC Real-time --> level2 --> wetPF2 --> 可以找到最新或是前一天的資料夾 --> 挑選需要的檔案
方法二:上方欄位的「展示」 掩星分布圖 --> 選擇大氣斜溫圖 --> 放大並移動地點和選擇日期 --> 挑選點位後,在網頁右側下載檔案(wetPF2_***_nc)
方法三:本網頁的範例檔案(https://drive.google.com/file/d/1CpfXEexZ01jORKI0KeAReEodSCPYozS5/view?usp=drive_link,2024年3月5日台灣附近海域資料,檔案名稱:wetPf2_C2E1.2024.065.05.16.G10_0001.0001_nc)
將檔案移動至自己設定的資料夾中,本網站範例使用的資料夾為"c:\fs7data\fs7_2024065\"
#安裝NetCDF 工具箱
pkg install -forge netcdf
pkg load netcdf
#設定要分析的檔案名稱,並打開
filename = 'C:\fs7data\fs7_2024065\wetPf2_C2E1.2024.065.05.16.G10_0001.0001_nc';
ncid = netcdf.open(filename, 'NC_NOWRITE');
#資料參數的代號、格式
more
ncdisp(filename);
常用參數代號:
MSL_alt:高度(以平均海平面
lat:緯度 (degrees_north),(-90° ~ +90°)
lon:經度 (degrees_east),(-180° ~ +180°)
Temp:溫度 [℃]
Pres:大氣壓力 [hPa]
Vp:水氣壓 [hPa]
sph:比溼(Specific humidity) [g/kg]
rh:相對溼度 [%]
將溫度變化和高度做成圖表
pkg load netcdf
% 設定檔案名稱
ncid = netcdf.open('C:\fs7data\fs7_2024065\wetPf2_C2E1.2024.065.05.16.G10_0001.0001_nc', 'NC_NOWRITE');
% 設定變數名稱
temp_varid = netcdf.inqVarID(ncid, 'Temp');
height_varid = netcdf.inqVarID(ncid, 'MSL_alt');
% 讀取溫度和高度數據
temperature = netcdf.getVar(ncid, temp_varid);
height = netcdf.getVar(ncid, height_varid);
% 關閉 NetCDF 文件,可以先不要有這個功能,持續開啟檔案、以便繼續處理內容
% netcdf.close(ncid);
% 繪製圖表
plot(temperature, height, '-o', 'LineWidth', 2);
% 增加標題
xlabel('溫度(℃)');
ylabel('高度(km)');
title('溫度與高度關係圖');
顯示結果:
問題:
對流層的高度為何?
利用程式自動找出對流層頂的溫度、高度、經度、緯度
pkg load netcdf
% 設定檔案名稱
ncid = netcdf.open('C:\fs7data\fs7_2024065\wetPf2_C2E1.2024.065.05.16.G10_0001.0001_nc', 'NC_NOWRITE');
% 設定參數名稱
temp_varid = netcdf.inqVarID(ncid, 'Temp');
height_varid = netcdf.inqVarID(ncid, 'MSL_alt');
lon_varid = netcdf.inqVarID(ncid, 'lon');
lat_varid = netcdf.inqVarID(ncid, 'lat');
% 讀取資料數據
temperature = netcdf.getVar(ncid, temp_varid);
height = netcdf.getVar(ncid, height_varid);
lon = netcdf.getVar(ncid, lon_varid);
lat = netcdf.getVar(ncid, lat_varid);
% 找到最低溫度的位置
[min_temp, min_temp_index] = min(temperature(:));
% 讀取最低溫度的高度、經緯度
min_temp_height = height(min_temp_index);
min_temp_lon = lon(min_temp_index);
min_temp_lat = lat(min_temp_index);
% 顯示結果
fprintf('the lowest temperature: %f\n', min_temp);
fprintf('altitude: %f\n', min_temp_height);
fprintf('longitude: %f\n', min_temp_lon);
fprintf('latitude : %f\n', min_temp_lat);
顯示結果:
B. 福衛七號的電離層觀測資料
下載福衛七號的電離層觀測資料https://tacc.cwa.gov.t"w/v2/
方法一:上方欄位的「福衛七號-TDPC」 資料下載 --> FS-7 TDPC Provisional (ionPrf) --> 可以找到最新或是前一天的資料夾 --> 挑選需要的檔案
方法二:上方欄位的「展示」 掩星分布圖 --> 選擇電子濃度剖面圖 --> 放大並移動地點和選擇日期 --> 挑選點位後,在網頁右側下載檔案(ionPrf_***_nc)
方法三:本網頁的範例檔案(https://drive.google.com/file/d/15bdl5mrppgRTwIqNz2CV9FF3Q1ShiFQs/view?usp=drive_link,2024年3月5日台灣周遭環境資料,檔案名稱:ionPrf_C2E6.2024.065.08.19.R21_0001.0001_nc)
將檔案移動至自己設定的資料夾中,本網站範例使用的資料夾為c:\fs7data\fs7_2024036ion\
pkg load netcdf
#設定要分析的檔案名稱,並打開
filename = 'C:\fs7data\fs7_2024036ion\ionPrf_C2E6.2024.065.08.19.R21_0001.0001_nc';
ncid = netcdf.open(filename, 'NC_NOWRITE');
#資料參數的代號、格式
more
ncdisp(filename);
netcdf電離層檔案中的常用參數代號:
MSL_alt:高度(以平均海平面) [km]
Geo_lat:緯度 (degrees_north)
Geo_lon:經度 (degrees_east)
ELEC_dens:電子濃度 [el/cm3]
將溫度變化和高度做成圖表
pkg load netcdf
% 設定檔案名稱
ncid = netcdf.open('C:\fs7data\fs7_2024036ion\ionPrf_C2E6.2024.065.08.19.R21_0001.0001_nc', 'NC_NOWRITE');
% 設定變數名稱
elec_varid = netcdf.inqVarID(ncid, 'ELEC_dens');
height_varid = netcdf.inqVarID(ncid, 'MSL_alt');
% 讀取電子濃度和高度數據
elec = netcdf.getVar(ncid, elec_varid );
height = netcdf.getVar(ncid, height_varid);
% 關閉 NetCDF 文件,可以先不要有這個功能,持續開啟檔案、以便繼續處理內容
% netcdf.close(ncid);
% 繪製圖表
plot(elec, height, '-o', 'LineWidth', 1);
% 增加標題
xlabel('電子濃度(el/cm3)');
ylabel('高度(km)');
title('電子濃度與高度關係圖');
顯示結果:
2024/5/11
2024/5/20