【海洋遥感】海洋遥感/BGC Argo/南极磷虾/Python

2022.2.2

首先,按照惯例来碎碎念一点。本来2020年暑假就开始做的课题,发病又休学又种种,结果拖到一年多才继续。为了不延期毕业,按时出国,在此记录一下课题完成的一些步骤、灵感、目标以及计划。
目前的打算是:

  • 3月之前开题
  • 6月之前把小文章投出去
  • 9月再考一次托福顺便套磁弄申请的事情
  • 10月左右正好中期报告
  • 2023年3月就顺利毕业酱紫

本来说吧2.1就把开题报告写完,但是太EMO了于是谢谢乐队键盘手小姐姐自驾游让我过了10年来最开心的中国春节嗷。于是延迟了一下计划,2.14开学之前把开题报告发给老师酱紫。最近的进度都是在看文献,感觉由于这个领域还是很新,总觉得都好厉害,都没什么可以吐槽的文章哈哈哈(bushi)。今天还在研究现状头秃。
以及,想要做一个给自己用的ICESat-2卫星数据专门的预处理软件,看看拿python怎么写比较好一点。

2022.2.13

亲爱的导师给我超级认真地批改了开题报告,以至于我绞尽脑汁,好难改。
但是确实给的意见让我学习到了不少。
预计一个周的周期,周四之前把改好的开题报告交给她。

2020.2.24

开题报告的时间应该在4月中旬之后了,于是开始小论文构架。
关于ICESat-2卫星的数据处理问题,这里用到的是ATL03产品,即全球地理定位光子产品。

  • 下载链接:https://nsidc.org/data/atl03,这个不是很好用
  • 根据需要的时空信息筛选产品的话:https://search.earthdata.nasa.gov/search
  • 然后下载得到.h5文件,可以使用PhoREAL进行处理。
  • PhoREAL下载链接:https://github.com/icesat-2UT/PhoREAL
  • 但是实际上这个软件主要是用来做陆地冠层高度什么之类分类的,这里要应用到海洋次表层的数据提取,可能作用就只有对于光子信息在需要范围内的裁剪,以及获得它时间对应的latitude。这样可以直接对于csv文件进行处理,无需继续用python或者r语言进行.h5文件中属性的提取。
  • 根据https://github.com/icesat-2UT/PhoREAL给出的官方文档就可以看到一系列其功能和操作。
  • 但是这里所用到的功能不多,就不展开了。
  • 最后筛选出的2019.1.26的四个.h5文件导出csv就可以了。

然后,再用python来对这个csv进行处理,显示。

2022.2.28

谔谔,这里讲一下ATL03产品用PhoREAL导出之后的两个高度信息:HAE和MSL的区别嗷:GPS Altitude
这个网页中写的比较清楚
然后按照《ICESat-2 ATL03 数据预处理及校正方法》一文进行ICESat-2 ATL03产品的数据预处理
丢一点预处理代码(PhoREAL+光子高度归一化)

#1. import packages
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

#2. import .csv generated from PhoREAL
gt1r = pd.read_csv("ATL03_20190126004930_04360212_005_01_gt1r.csv")
all_ph = gt1r
high_conf_ph = all_ph[(all_ph["Height (m MSL)"]<20)&(all_ph["Height (m MSL)"]>-30)&
                      (all_ph["Latitude (deg)"]>-61)&(all_ph["Latitude (deg)"]<-60.5)]
descri = high_conf_ph.describe()

#3. plot photon distribution in land surface
clip_ph = high_conf_ph

plt.style.use("seaborn-whitegrid")
plt.figure(figsize=[10,10])
plt.scatter(clip_ph["Latitude (deg)"],clip_ph["Height (m MSL)"],s=1)
plt.title('Photon ditribution on ocean',fontdict={'family' : 'Times New Roman', 'size' : 26})
plt.xlabel("Latitude (degree)",fontdict={'family' : 'Times New Roman', 'size' : 24})
plt.ylabel("Photon altitude (meter)",fontdict={'family' : 'Times New Roman', 'size' : 24})
# plt.yticks([400,500,600,700,800],fontproperties = 'Times New Roman', size = 20) 
# plt.xticks([210,220,230,240,250],fontproperties = 'Times New Roman', size = 20)
plt.xlim(-61,-60.5)
plt.ylim(-25,20)
plt.savefig("ice edge area-20190126.png", dpi = 300)

#4. Normalization
normalized_ph = pd.DataFrame(columns=clip_ph.columns)

begin_t = round(descri["Time (sec)"]["min"], 3) - 0.001
end_t = round(descri["Time (sec)"]["max"], 3)
row = int((end_t-begin_t)/0.001)

for i in range(0, row):
    verti_ph = high_conf_ph[(high_conf_ph["Time (sec)"]>=begin_t+i*0.001) &
                            (high_conf_ph["Time (sec)"]<=begin_t+i*0.001+0.001)]
    descri_v = verti_ph.describe()
    high_h = round(descri_v["Height (m MSL)"]["max"],2)+0.01
    high_l = round(descri_v["Height (m MSL)"]["min"],2)
    if np.isnan(high_h) or np.isnan(high_l):
        continue
    col =int((high_h - high_l)/0.15)+1
    DTM = np.zeros(col)
    for j in range(0, col):
        DTM[j] = verti_ph[(verti_ph["Height (m MSL)"]<high_h-j*0.15) &
                          (verti_ph["Height (m MSL)"]>high_h-j*0.15-0.15)].shape[0]
    loc = DTM.argmax()
    hmax = high_h - 0.15*loc
    verti_ph["Height"] = verti_ph["Height (m MSL)"]-hmax
    normalized_ph = normalized_ph.append(verti_ph)

2022.3.23

心态崩了属于是,上海疫情,被封在学校里。之前本来打算用ICESat-2 ATL03去做南极磷虾的,后来发现还是没有可行性。现在改变方向,用遥感数据,Argo数据以及机器学习的模型去做南极磷虾场的预测。
那么现在就开始学习Argo
BGC Argo的文献:https://www.frontiersin.org/articles/10.3389/fmars.2019.00502

The community has recommended for BGC-Argo to measure six additional properties in addition to pressure, temperature and salinity measured by Argo, to include oxygen, pH, nitrate, downwelling light, chlorophyll fluorescence and the optical backscattering coefficient.

  • 但是目前还是不管那么多,因为4月要把开题弄了,所以这周要完成开题报告和ppt发给老师并且修改,然后尽量在下周把开题报告完成。
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值