亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python --歐洲中心資料下載

系統 1591 0

前期準備(煩)

裝好python

傳送 門!

去歐洲中心申請一個賬號

傳送
Python --歐洲中心資料下載_第1張圖片
自己看著申請吧,可能要翻墻申請

Python的前期配置

歐洲中心自帶教程傳送門
簡單來說,就是用python鏈接歐洲中心的api接口調用并下載數據
所以前期配置分兩步
1、讓電腦保留你的登錄用戶信息,并且可以讓Python識別、使用
2、Python安裝一個用于調用歐洲中心api接口的庫
下面介紹詳細步驟

第一步 獲取ECMWF的 Key

Python --歐洲中心資料下載_第2張圖片
首先 登錄 歐洲中心官網
然后上一個傳送門就變成這樣 (我打了馬賽克)
Python --歐洲中心資料下載_第3張圖片
你可以得到灰色區域里的 5 行代碼如下, 包括大括號

            
              
                {
              
              
                "url"
              
              
                :
              
              
                "https://api.ecmwf.int/v1"
              
              
                ,
              
              
                "email"
              
              
                :
              
              
                "你的用戶名"
              
              
                ,
              
              
                "key"
              
              
                :
              
              
                "你用戶名對應的一串key(相當于密碼)"
              
              
                }
              
            
          

然后復制你網頁上的這5行
在你桌面創建一個TXT并粘貼進去
Python --歐洲中心資料下載_第4張圖片
保存并關閉TXT文件
重命名為 .ecmwfapirc.txt ,注意文件名開頭就有個 . ,后綴是 .txt
在這里插入圖片描述
然后打開你的計算機、c盤、用戶文件夾
win7可能如圖
在這里插入圖片描述
win10 可能是 C:\Users\ \ 其中USERNAME是你激活win10的用戶名

把上一步的TXT移動到這個目錄下,并重命名為 .ecmwfapirc ,即把后綴名給去掉
結果如圖: 在這里插入圖片描述

第二步 安裝ecmwf-api-client庫

官網說明如圖
Python --歐洲中心資料下載_第5張圖片
具體操作為
打開你的 Anaconda Promt
Python --歐洲中心資料下載_第6張圖片
Python --歐洲中心資料下載_第7張圖片
這個也是命令提示符形式的窗口,
win7不能復制粘貼只能手動輸入,win10可以復制粘貼
輸入 pip install ecmwf-api-client 按下回車就裝好了

-------------------分割線--------------------

以上步驟為前期配置,配置好了就不用管了

之后的下載就寫腳本運行腳本就好了

但是第一步一年要重復一次

-------------------分割線--------------------

歐洲中心(WCMWF)的Python下載方法

官網登錄
然后找到 Public Datasets 數據集傳送門
Python --歐洲中心資料下載_第8張圖片

位勢場 資料下載

選取資料如下
Python --歐洲中心資料下載_第9張圖片
得到一個python腳本
Python --歐洲中心資料下載_第10張圖片

            
              #
              
                !
              
              
                /
              
              usr
              
                /
              
              bin
              
                /
              
              env python

              
                from
              
               ecmwfapi 
              
                import
              
               ECMWFDataServer
# python 的庫 需提前安裝 也可以在prompt里pip安裝或conda安裝
server 
              
                =
              
              
                ECMWFDataServer
              
              
                (
              
              
                )
              
              
server
              
                .
              
              
                retrieve
              
              
                (
              
              
                {
              
              
                "class"
              
              
                :
              
              
                "ei"
              
              
                ,
              
              
                "dataset"
              
              
                :
              
              
                "interim"
              
              
                ,
              
              
    #數據集 不可更改
    
              
                "date"
              
              
                :
              
              
                "19790101/19790201/19790301/19790401/19790501/19790601/19790701/19790801/19790901/19791001/19791101/19791201"
              
              
                ,
              
              
    # date 時間 可自己挑選
    
              
                "expver"
              
              
                :
              
              
                "1"
              
              
                ,
              
              
                "grid"
              
              
                :
              
              
                "0.75/0.75"
              
              
                ,
              
              
    # 網格精度 可以自己改
    
              
                "levelist"
              
              
                :
              
              
                "500"
              
              
                ,
              
              
    # 高度層 可自己改 如 
              
                200
              
              
                /
              
              
                300
              
              
                /
              
              
                500
              
              
                "levtype"
              
              
                :
              
              
                "pl"
              
              
                ,
              
              
                "param"
              
              
                :
              
              
                "129.128"
              
              
                ,
              
              
    # 變量代碼 不可更改 格式為 xxx
              
                .
              
              xxx
    
              
                "step"
              
              
                :
              
              
                "0"
              
              
                ,
              
              
    # 數據時間步長 可更改
    
              
                "stream"
              
              
                :
              
              
                "mnth"
              
              
                ,
              
              
                "time"
              
              
                :
              
              
                "00:00:00"
              
              
                ,
              
              
    # 每日數據時間 可更改
    
              
                "type"
              
              
                :
              
              
                "an"
              
              
                ,
              
              
                "target"
              
              
                :
              
              
                "output"
              
              
                ,
              
              
    #文件下載位置 用完整路徑名代換output
    # 注意:此下載數據格式默認為grid格式 換成nc格式需添加一句
    #  “format”
              
                :
              
               “netcdf”
              
                ,
              
              
                }
              
              
                )
              
            
          

以下為下載數據的完整代碼

            
              #
              
                !
              
              
                /
              
              usr
              
                /
              
              bin
              
                /
              
              env python
time
              
                =
              
              
                ''
              
              
mon
              
                =
              
              
                [
              
              
                '01'
              
              
                ,
              
              
                '02'
              
              
                ,
              
              
                '03'
              
              
                ,
              
              
                '04'
              
              
                ,
              
              
                '05'
              
              
                ,
              
              
                '06'
              
              
                ,
              
              
                '07'
              
              
                ,
              
              
                '08'
              
              
                ,
              
              
                '09'
              
              
                ,
              
              
                '10'
              
              
                ,
              
              
                '11'
              
              
                ,
              
              
                '12'
              
              
                ]
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                1979
              
              
                ,
              
              
                2019
              
              
                )
              
              
                :
              
              
                for
              
               j 
              
                in
              
              
                range
              
              
                (
              
              
                0
              
              
                ,
              
              
                12
              
              
                )
              
              
                :
              
              
        time
              
                =
              
              time
              
                +
              
              
                str
              
              
                (
              
              i
              
                )
              
              
                +
              
              mon
              
                [
              
              j
              
                ]
              
              
                +
              
              
                '01/'
              
              
time
              
                =
              
              time
              
                [
              
              
                :
              
              
                -
              
              
                1
              
              
                ]
              
              
# 自己補足時間序列 注意:月平均數據的時間格式 
              
                19790101
              
               ,而
              
                19070102
              
              是錯的



              
                from
              
               ecmwfapi 
              
                import
              
               ECMWFDataServer
server 
              
                =
              
              
                ECMWFDataServer
              
              
                (
              
              
                )
              
              
server
              
                .
              
              
                retrieve
              
              
                (
              
              
                {
              
              
                "class"
              
              
                :
              
              
                "ei"
              
              
                ,
              
              
                "dataset"
              
              
                :
              
              
                "interim"
              
              
                ,
              
              
                "date"
              
              
                :
              
               time
              
                ,
              
              
                "expver"
              
              
                :
              
              
                "1"
              
              
                ,
              
              
                "grid"
              
              
                :
              
              
                "0.75/0.75"
              
              
                ,
              
              
                "levelist"
              
              
                :
              
              
                "500"
              
              
                ,
              
              
                "levtype"
              
              
                :
              
              
                "pl"
              
              
                ,
              
              
                "param"
              
              
                :
              
              
                "129.128"
              
              
                ,
              
              
                "step"
              
              
                :
              
              
                "0"
              
              
                ,
              
              
                "stream"
              
              
                :
              
              
                "mnth"
              
              
                ,
              
              
                "time"
              
              
                :
              
              
                "00:00:00"
              
              
                ,
              
              
                "type"
              
              
                :
              
              
                "an"
              
              
                ,
              
              
                "target"
              
              
                :
              
              
                "C:\\Users\\Administrator\\Desktop\\作業大白\\weishi79_18.nc"
              
              
                ,
              
              
                "format"
              
              
                :
              
              
                "netcdf"
              
              
                ,
              
              
                }
              
              
                )
              
            
          

下載單日 (非月平均) 數據時
date的設置可以用to連接起始日期和截止日期
注意日期格式

            
              
                "date"
              
              
                :
              
              
                "2017-01-01/to/2017-12-31"
              
              
                ,
              
            
          

即可批量下載2017年一年的逐日數據
注意 :下載的數據是放在一個文件里的
若想每個月的數據單獨存成一個nc文件,需掌握其他的python語法
例如:

            
              
                !
              
              
                /
              
              usr
              
                /
              
              bin
              
                /
              
              env python
from ecmwfapi 
              
                import
              
               ECMWFDataServer

server 
              
                =
              
              
                ECMWFDataServer
              
              
                (
              
              
                )
              
              
                for
              
               i in 
              
                range
              
              
                (
              
              
                2000
              
              
                ,
              
              
                2018
              
              
                )
              
              
                :
              
               
   server
              
                .
              
              
                retrieve
              
              
                (
              
              
                {
              
              
                "class"
              
              
                :
              
              
                "ei"
              
              
                ,
              
              
                "dataset"
              
              
                :
              
              
                "interim"
              
              
                ,
              
              
                "date"
              
              
                :
              
              
                "{ks}-01-01/to/{js}-12-31"
              
              
                .
              
              
                format
              
              
                (
              
              ks
              
                =
              
              i
              
                ,
              
              js
              
                =
              
              i
              
                )
              
              
                ,
              
              
                "expver"
              
              
                :
              
              
                "1"
              
              
                ,
              
              
                "grid"
              
              
                :
              
              
                "0.125/0.125"
              
              
                ,
              
              
                "levtype"
              
              
                :
              
              
                "sfc"
              
              
                ,
              
              
                "param"
              
              
                :
              
              
                "58.162/78.162"
              
              
                ,
              
              
                "step"
              
              
                :
              
              
                "0"
              
              
                ,
              
              
                "stream"
              
              
                :
              
              
                "oper"
              
              
                ,
              
              
                "time"
              
              
                :
              
              
                "00:00:00"
              
              
                ,
              
              
                "type"
              
              
                :
              
              
                "an"
              
              
                ,
              
              
                "target"
              
              
                :
              
              
                "F:\\ecmwf\\%s.nc"
              
              
                %
              
              
                str
              
              
                (
              
              i
              
                )
              
              
                ,
              
              
                "format"
              
              
                :
              
              
                "netcdf"
              
              
                }
              
              
                )
              
            
          

以上為2018-2017年每年數據單獨存放


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 一级成人毛片免费观看欧美 | 91精品国产91久久久久福利 | 97久久精品人人澡人人爽 | 443hk四虎 在线观看 | 亚洲成人在线免费 | 亚洲免费视频观看 | 久草在线在线视频 | 欧美jizz18性欧美 | 性欧美精品久久久久久久 | 中文字幕不卡在线播放 | 亚洲视频在线视频 | 99久久精品在免费线18 | 国产一区二区三区高清 | 国产www网站 | 亚洲网站免费 | 中文字幕中韩乱码亚洲大片 | 亚洲精品中文字幕一区 | 毛片天堂 | 一本久道久综合久久鬼色 | 日本欧美一区二区三区乱码 | 在线观看香蕉免费啪在线观看 | 亚洲国产精品悠悠久久琪琪 | 欧美一级毛片特黄黄 | 成人亚洲在线观看 | 伊人网99| 国产一区二区三区精品久久呦 | 一区二区三区在线免费 | 91破解版在线 | 亚洲 | 在线欧美日韩 | 在线视频日韩 | 亚洲精品成人7777在线观看 | 欧美性精品hd在线观看 | 久久午夜伦理 | 日本一区二区三区在线播放 | 国产精品亚洲精品观看不卡 | 操美女免费看 | 国产精品国产国产aⅴ | 日本不卡视频免费的 | 久草在线资源网 | 波多野结衣亚洲一区 | 永久看日本大片免费 |