氣象數據之積溫數據的獲取與處理

數據獲取

數據從中國氣象共享網站獲取
註冊之後記得經常登陸簽到,就當自己充了個vip一樣在這裏插入圖片描述
要不你剛開始能下載的數據量就是2.0M.
到篩選那輸入3.0點篩選在這裏插入圖片描述
出現了2個3.0然鵝只能選擇第2種,因爲第一種需要科研用戶才能下載,科研用戶需要省級以上的項目才能成爲科研用戶。所以只能選第二種,只有166個站點的數據,像我要處理的山東省的站點的數據只有6個。
然後點進去之後選擇時間,間隔只能爲2個月,比如選擇2009.03-2009.04,然後彈出來一堆數據,由於我要的是氣溫數據,所以選擇TEM,具體要什麼數據就可以參照網站內的word,選擇格式說明的doc就ok,在這裏插入圖片描述
每種後綴名對應的數據以及每種數據在.TXT中的對應列的含義也在裏面。
篩選完之後就在這裏插入圖片描述
勾選2個TEM即可,重複操作,像10年跨度的數據可能需要操作一會。選完之後在數據框中提交,等待一會然後等數據處理成功之後就可以下載,下載給的是鏈接。
然後把它複製到記事本里面去,剪切一下一個一個下載就ok,下完之後把文件全部放一個文件夾裏就行,爲後期的處理鋪墊,像我做的數據需要10年,每年8個月,一共就是80個.TXT。
數據
由於80個文本而且是全國的氣象站點,所以處理起來挺麻煩的,如果一年一年的話,就需要把數據放一起然後篩選,這樣時間成本一下就上去了,於是鄙人失眠了半個晚上想出了代碼處理。最後tic toc一下用了將近5秒就拿出了山東省6個站點10年的積溫數據
生物積溫:指的是每天平均氣溫≥10℃的數據。
由於用的是MODIS數據15景合成的數據,規定的生長期爲3月6日-10月6日,所以需要找出這裏面≥10℃的數據,由於數據都是整月的數據,需要自己剔除一部分數據,如3.1-3.6,10.6-10.31日。
由於數據文件的命名非常的對稱,爲批量處理埋下了伏筆,其實就是真正循環就是爲了字符串的拼接。
SURF_CLI_CHN_MUL_DAY_CES-TEM-12001-200910.TXT
所以只需要想辦法把字符串拼接起來即可。由於是10年每年8個月,所以外層循環套年份,內層套月份。

file1 = 'SURF_CLI_CHN_MUL_DAY_CES-TEM-12001-';
file2 = '.TXT';
year = {'2009','2010','2011','2012','2013','2014','2015','2016','2017','2018'};
month =  {'03','04','05','06','07','08','09','10'};  %``

真正重要的就是這部分,因爲外層年份用元胞數組{j}獲取內層月份用{i}表示,
在這裏插入圖片描述
這樣就闊以了,先拼出字符串好讓textread能找到,我也嘗試過用fid和fopen但是這樣出現的數據是大元胞,又的繼續重構,於是在小體量數據下還是用了textread,如果是像之前104w條數據還是建議用fid,fopen。
整體的思路就是先找到站點,然後拿出溫度所在的列,就是第8列,如果是3月份取後面的25天,如果是10月就6天,然後是找到大於10℃的位置,由於數據是以0.1℃爲單位,所以這裏大於等於100,然後把所有的數據給並起來,最後得到一個總和就是這個年份的積溫,其他6個站點也是同理,外層大循環就得到10年的數據。由於最後做總和的時候會有一個累加的過程,所以需要差分以及取出第一個數據,就需要差分拼接合成最後一個矩陣。在這裏插入圖片描述
最後一個xlswrite把它寫到excel表裏去,因爲實在是不想自己加搜索路徑,不如讓系統自動幫我把絕對路徑的前面部分自己找出來了。
在這裏插入圖片描述
這是最後運行的時間,比excel繁雜的操作快多了。
在這裏插入圖片描述
這個是後來加了range部分的結果,然後自己改一改excel就ok了在這裏插入圖片描述
這個就是最後的結果,然後和站點的座標數據放一起然後便於導入Arcmap,導入的最後結果咯。在這裏插入圖片描述
然而之前把屬性數據忘記放進去了直接導入了,就不想管了就這樣把。
感謝我2點時Mind Palace的運動讓我失眠到5點,昨天差點猝死。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章