ecmwf-opendata
เป็นแพ็คเกจที่จะทำให้การดาวน์โหลดข้อมูล Open ECMWF ง่ายขึ้น มันใช้อินเทอร์เฟซตามคำขอไปยังชุดข้อมูลโดยใช้ภาษา Mars ของ ECMWF เพื่อเลือกเขตข้อมูลอุตุนิยมวิทยาคล้ายกับแพ็คเกจ Python ECMWF-API-Client ที่มีอยู่
คอลเลกชันของสมุดบันทึก Jupyter ที่ใช้ประโยชน์จากแพ็คเกจนั้นมีอยู่ที่นี่
สามารถติดตั้งแพ็คเกจ ecmwf-opendata
Python ได้จาก PYPI ด้วย:
$ pip install ecmwf-opendata
ตัวอย่างด้านล่างจะดาวน์โหลดการคาดการณ์ 10 วันล่าสุดสำหรับ ความดันระดับน้ำทะเลเฉลี่ย ( msl
) ลงในไฟล์ท้องถิ่นที่เรียกว่า data.grib2
:
from ecmwf . opendata import Client
client = Client ()
client . retrieve (
step = 240 ,
type = "fc" ,
param = "msl" ,
target = "data.grib2" ,
)
❗ หมายเหตุ: แพ็คเกจนี้ออกแบบมาสำหรับผู้ใช้ที่ต้องการดาวน์โหลดชุดย่อยของชุดข้อมูลทั้งหมด หากคุณวางแผนที่จะดาวน์โหลดเปอร์เซ็นต์ส่วนใหญ่ของแต่ละไฟล์ข้อมูลอาจมีประสิทธิภาพมากขึ้นในการดาวน์โหลดไฟล์ทั้งหมดและกรองข้อมูลที่คุณต้องการในเครื่อง ดูเอกสารประกอบในการตั้งชื่อไฟล์สำหรับข้อมูลเพิ่มเติม หรือคุณสามารถใช้เครื่องมือนี้เพื่อดาวน์โหลดไฟล์ทั้งหมดโดยระบุ
date
time
step
stream
และtype
เท่านั้น โปรดทราบว่าข้อมูลทั้งหมดสำหรับวันเต็มอยู่ในลำดับของ 726 GIB
ตัวสร้างของวัตถุไคลเอนต์มีตัวเลือกต่อไปนี้:
client = Client (
source = "ecmwf" ,
model = "ifs" ,
resol = "0p25" ,
preserve_request_order = False ,
infer_stream_keyword = True ,
)
ที่ไหน:
source
คือชื่อของเซิร์ฟเวอร์ในการติดต่อหรือ URL ที่ผ่านการรับรองอย่างสมบูรณ์ ค่าที่เป็นไปได้คือ ecmwf
เพื่อเข้าถึงเซิร์ฟเวอร์ของ ECMWF หรือ azure
เพื่อเข้าถึงข้อมูลที่โฮสต์บน Azure ของ Microsoft ค่าเริ่มต้นคือ ecmwf
model
คือชื่อของโมเดลที่ผลิตข้อมูล ใช้ ifs
สำหรับโมเดลที่ขับเคลื่อนด้วยฟิสิกส์และ aifs
สำหรับโมเดลที่ขับเคลื่อนด้วยข้อมูล โปรดทราบว่า aifs
กำลังทดลองและผลิตเฉพาะฟิลด์ย่อยขนาดเล็ก ค่าเริ่มต้นคือ ifs
resol
ระบุความละเอียดของข้อมูล ค่าเริ่มต้นคือ 0p25
สำหรับความละเอียด 0.25 องศาและเป็นความละเอียดเดียวที่มีอยู่ในปัจจุบัน
preserve_request_order
หากตั้งค่าสถานะนี้เป็น True
ไลบรารีจะพยายามเขียนข้อมูลที่ดึงมาลงในไฟล์เป้าหมายในคำสั่งที่ระบุโดยคำขอ ตัวอย่างเช่นหากคำขอระบุ param=[2t,msl]
ไลบรารีจะตรวจสอบให้แน่ใจว่าฟิลด์ 2t
เป็นอันดับแรกในไฟล์เป้าหมายในขณะที่มี param=[msl,2t]
ฟิลด์ msl
จะเป็นอันดับแรก สิ่งนี้ใช้งานได้กับคำหลักที่แตกต่างกัน: ...,levelist=[500,100],param=[z,t],...
จะสร้างผลลัพธ์ที่แตกต่างกันไป ...,param=[z,t],levelist=[500,100],...
หากตั้งค่าสถานะเป็น False
ไลบรารีจะเรียงลำดับคำขอเพื่อลดจำนวนคำขอ HTTP ที่ทำไปยังเซิร์ฟเวอร์ซึ่งนำไปสู่ความเร็วในการดาวน์โหลดที่เร็วขึ้น ค่าเริ่มต้นเป็น False
infer_stream_keyword
คำหลัก stream
แสดงถึงระบบการพยากรณ์ ECMWF ที่สร้างข้อมูล การตั้งค่าอย่างเหมาะสมต้องใช้ความรู้ว่า ECMWF ดำเนินการอย่างไร หากบูลีนนี้ถูกตั้งค่าเป็น True
ไลบรารีจะพยายามอนุมานค่าที่ถูกต้องสำหรับคำหลัก stream
ตามส่วนที่เหลือของคำขอ ค่าเริ่มต้นเป็น True
หากรุ่นคือ ifs
หมายเหตุ: ขอแนะนำ ไม่ ให้ตั้งค่าสถานะ preserve_request_order
เป็นTrue
เมื่อดาวน์โหลดฟิลด์จำนวนมากเนื่องจากจะเพิ่มโหลดเพิ่มเติมบนเซิร์ฟเวอร์
Client.retrieve()
เมธอด Client.retrieve()
ใช้การร้องขอเป็นอินพุตและจะดึงข้อมูลที่เกี่ยวข้องจากเซิร์ฟเวอร์และเขียนไว้ในไฟล์เป้าหมายของผู้ใช้
คำขอคือรายการคู่คำหลัก/ค่าที่ใช้ในการเลือกข้อมูลที่ต้องการ เป็นไปได้ที่จะระบุรายการค่าสำหรับคำหลักที่กำหนด
คำขอสามารถระบุได้ว่าเป็นพจนานุกรม:
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
request = {
"time" : 0 ,
"type" : "fc" ,
"step" : 24 ,
"param" : [ "2t" , "msl" ],
}
client . retrieve ( request , "data.grib2" )
# or:
client . retrieve (
request = request ,
target = "data.grib2" ,
)
หรือโดยตรงเป็นอาร์กิวเมนต์ไปยังวิธี retrieve()
:
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
client . retrieve (
time = 0 ,
type = "fc" ,
step = 24 ,
param = [ "2t" , "msl" ],
target = "data.grib2" ,
)
คำหลัก date
และ time
ใช้เพื่อเลือกวันที่และเวลาของการคาดการณ์ (ดูวันที่และเวลาด้านล่าง) หากไม่ได้ระบุ date
หรือทั้ง date
และ time
ไลบรารีจะสอบถามเซิร์ฟเวอร์สำหรับข้อมูลการจับคู่ล่าสุด date
และ time
ของการคาดการณ์ที่ดาวน์โหลดจะถูกส่งคืนโดยวิธี retrieve()
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
result = client . retrieve (
type = "fc" ,
step = 24 ,
param = [ "2t" , "msl" ],
target = "data.grib2" ,
)
print ( result . datetime )
อาจพิมพ์ 2022-01-23 00:00:00
Client.download()
เมธอด Client.download()
ใช้พารามิเตอร์เดียวกับเมธอด Client.retrieve()
แต่จะดาวน์โหลดไฟล์ข้อมูลทั้งหมดจากเซิร์ฟเวอร์โดยไม่สนใจคำหลักเช่น param
levelist
หรือ number
ตัวอย่างด้านล่างจะดาวน์โหลดฟิลด์ทั้งหมดจากขั้นตอนล่าสุดที่ 24 โดยไม่สนใจ param
คำหลัก:
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
client . download (
param = "msl" ,
type = "fc" ,
step = 24 ,
target = "data.grib2" ,
)
Client.latest()
เมธอด Client.latest()
ใช้พารามิเตอร์เดียวกันกับเมธอด Client.retrieve()
และส่งคืนวันที่ของการพยากรณ์การจับคู่ล่าสุดโดยไม่ต้องดาวน์โหลดข้อมูล:
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
print ( client . latest (
type = "fc" ,
step = 24 ,
param = [ "2t" , "msl" ],
target = "data.grib2" ,
))
อาจพิมพ์ 2022-01-23 00:00:00
⏰ หมายเหตุ : ข้อมูลมีให้ระหว่าง 7 ถึง 9 ชั่วโมงหลังจากวันที่เริ่มต้นและเวลาเริ่มต้นขึ้นอยู่กับระบบการพยากรณ์และขั้นตอนเวลาที่ระบุ
คำหลักที่รองรับคือ:
type
: ประเภทของข้อมูล (ภาคบังคับ, ค่าเริ่มต้นเป็น fc
)stream
: ระบบพยากรณ์ (เป็นทางเลือกหากไม่คลุมเครือ, บังคับเป็นอย่างอื่น) ดู infer_stream_keyword
ด้านบนdate
: วันที่ที่การคาดการณ์เริ่มต้นtime
: เวลาที่การคาดการณ์เริ่มต้นstep
: ขั้นตอนการคาดการณ์ขั้นตอนในชั่วโมงหรือ fcmonth
ขั้นตอนเวลาในเดือนสำหรับการคาดการณ์ตามฤดูกาล (ภาคบังคับ, เริ่มต้นเป็น 0
และ 1
ตามลำดับ)และ (เป็นทางเลือกทั้งหมดโดยไม่มีค่าเริ่มต้น):
param
: พารามิเตอร์ทางอุตุนิยมวิทยาเช่นลมความดันหรือความชื้นlevtype
: เลือกระหว่างพารามิเตอร์ระดับเดียวและพารามิเตอร์ในระดับความดันlevelist
: รายการระดับความดันเมื่อเกี่ยวข้องnumber
: รายการหมายเลขสมาชิกทั้งมวลเมื่อเกี่ยวข้องคำหลักในรายการแรกใช้เพื่อระบุไฟล์ที่จะเข้าถึงในขณะที่รายการที่สองใช้เพื่อระบุส่วนใดของไฟล์ที่จำเป็นต้องดาวน์โหลดจริง เซิร์ฟเวอร์ HTTP บางตัวสามารถส่งคืนหลายส่วนของไฟล์ได้ในขณะที่อื่น ๆ สามารถส่งคืนส่วนเดียวจากไฟล์ได้ ในกรณีหลังไลบรารีอาจดำเนินการตามคำขอ HTTP จำนวนมากไปยังเซิร์ฟเวอร์ หากคุณต้องการดาวน์โหลดไฟล์ทั้งหมดให้เฉพาะคำหลักจากรายการแรก
พารามิเตอร์วันที่และเวลาอ้างถึงเวลาเริ่มต้นของการคาดการณ์ วันที่และเวลาทั้งหมดจะแสดงใน UTC
มีหลายวิธีในการระบุวันที่และเวลาในการร้องขอ
วันที่สามารถระบุได้โดยใช้สตริงตัวเลขและ python datetime.datetime
หรือ datetime.date
วัตถุ:
...
date = '20220125' ,
time = 12 ,
...
date = '2022-01-25' ,
time = 12 ,
...
date = '2022-01-25 12:00:00' ,
...
date = 20220125 ,
time = 12 ,
...
date = datetime . datetime ( 2022 , 1 , 25 , 12 , 0 , 0 ),
...
date = datetime . date ( 2022 , 1 , 25 ),
time = 12 ,
...
วันที่ยังสามารถกำหนดเป็นตัวเลขน้อยกว่าหรือเท่ากับศูนย์ ในกรณีนี้มันเทียบเท่ากับวันที่ UTC ปัจจุบันลบจำนวนวันที่กำหนด:
...
date = 0 , # today
date = - 1 , # yesterday
date = - 2 , # the day before yesterday
...
time
คำหลักสามารถกำหนดเป็นสตริงหรือจำนวนเต็มหรือวัตถุ Python datetime.time
ค่าทั้งหมดของเวลาด้านล่างเทียบเท่า:
...
time = 12 ,
...
time = 1200 ,
...
time = '12' ,
...
time = '1200' ,
...
time = datetime . time ( 12 ),
...
รายการค่าที่ถูกต้องสำหรับเวลา |
---|
0, 6, 12 และ 18 |
หากไม่ได้ระบุ time
เวลาจะถูกสกัดจากวันที่
...
date = '2022-01-25 12:00:00' ,
...
เทียบเท่ากับ:
...
date = '2022-01-25' ,
time = 12 ,
...
หากระบุคำหลัก time
จะแทนที่เวลาที่กำหนดในคำขอ
...
date = '2022-01-25 12:00:00' ,
time = 18 ,
...
เทียบเท่ากับ:
...
date = '2022-01-25' ,
time = 18 ,
...
ตามที่ระบุไว้ก่อนหน้านี้หากไม่ได้ระบุ date
หรือทั้ง date
และ time
ไลบรารีจะสอบถามเซิร์ฟเวอร์สำหรับข้อมูลการจับคู่ล่าสุด date
และ time
ของการพยากรณ์ที่ดาวน์โหลดจะถูกส่งคืนโดยวิธี retrieve()
:
ตัวอย่างที่ไม่มีคำหลัก date
:
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
result = client . retrieve (
time = 12 ,
type = "fc" ,
param = "2t" ,
step = "24" ,
target = "data.grib2" ,
)
print ( result . datetime )
จะพิมพ์ 2022-01-22 12:00:00
ถ้าทำงานในตอนเช้าของปี 2022-01-23
ตัวอย่างที่ไม่มีคำหลัก date
และ time
:
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
result = client . retrieve (
type = "fc" ,
param = "2t" ,
step = "24" ,
target = "data.grib2" ,
)
print ( result . datetime )
จะพิมพ์ 2022-01-23 00:00:00
ถ้าทำงานในตอนเช้าของปี 2022-01-23
ECMWF ดำเนินการหลายระบบการพยากรณ์:
การคาดการณ์เหล่านี้แต่ละครั้งยังสร้างผลิตภัณฑ์หลายประเภทซึ่งเรียกว่าการใช้ stream
และ type
ของคำหลัก
ค่าที่ถูกต้องสำหรับ
type
คือ:
ชั่วโมง:
fc
: การคาดการณ์ENS:
cf
: การพยากรณ์การควบคุมpf
: การพยากรณ์ที่ถูกรบกวนem
: ค่าเฉลี่ยของวงดนตรีes
: ส่วนเบี่ยงเบนมาตรฐานของวงดนตรีep
: ความน่าจะเป็นค่าที่ถูกต้องสำหรับ
stream
คือ:
oper
: เขตบรรยากาศจาก HRES - 00 UTC และ 12 UTCwave
: ทุ่งคลื่นมหาสมุทรจาก HRES - 00 UTC และ 12 UTCenfo
: ทุ่งนาจาก ENSwaef
: FIELDS WAVE OCEAN WAVE จาก ENSscda
: เขตบรรยากาศจาก HRES - 06 UTC และ 18 UTCscwv
: สนามคลื่นมหาสมุทรจาก HRES - 06 UTC และ 18 UTC- หมายเหตุ : หากตั้งค่าสถานะ FLAG ของไคลเอนต์
infer_stream_keyword
เป็นTrue
ไลบรารีจะอนุมานสตรีมจากtype
และtime
ในกรณีนี้คุณเพียงแค่ต้องระบุstream=wave
เพื่อเข้าถึงผลิตภัณฑ์คลื่นมหาสมุทรและไม่ได้ให้ค่าสำหรับstream
ในกรณีอื่น ๆ
ในการเลือกขั้นตอนเวลาให้ใช้คำหลัก step
:
...
step = 24 ,
...
step = [ 24 , 48 ],
...
ระบบพยากรณ์ | เวลา | รายการขั้นตอนเวลา |
---|---|---|
ชั่วโมง | 00 และ 12 | 0 ถึง 144 โดย 3, 144 ถึง 240 โดย 6 |
ens | 00 และ 12 | 0 ถึง 144 โดย 3, 144 ถึง 360 โดย 6 |
ชั่วโมง | 06 และ 18 | 0 ถึง 90 โดย 3 |
ens | 06 และ 18 | 0 ถึง 144 โดย 3 |
ความน่าจะเป็น - เหตุการณ์สภาพอากาศทันที | 00 และ 12 | 0 ถึง 360 โดย 12 |
ความน่าจะเป็น - เหตุการณ์สภาพอากาศประจำวัน | 00 และ 12 | 0-24 ถึง 336-360 โดย 12 |
- หมายเหตุ : ไม่ระบุ
step
จะส่งคืนขั้นตอนเวลาที่มีอยู่ทั้งหมด
ในการเลือกพารามิเตอร์ให้ใช้คำหลัก param
:
...
param = "msl" ,
...
param = [ "2t" , "msl" ]
...
สำหรับพารามิเตอร์ระดับความดันให้ใช้คำหลัก levelist
:
...
param = "t" ,
levelist = 850 ,
...
param = [ "u" , "v" ],
levelist = [ 1000 , 850 , 500 ],
...
- หมายเหตุ : การไม่ระบุระดับ
levelist
จะส่งคืนทุกระดับที่มีอยู่และไม่ระบุparam
จะส่งคืนพารามิเตอร์ที่มีอยู่ทั้งหมด
รายการระดับความดัน (HPA) |
---|
1,000, 925, 850, 700, 500, 300, 250, 200 และ 50 |
ด้านล่างนี้เป็นรายการของพารามิเตอร์ทั้งหมด:
ทุ่งนาในระดับความดัน
พารามิเตอร์ | คำอธิบาย | หน่วย |
---|---|---|
d | ความแตกต่าง | s -1 |
GH | ความสูงทางธรณีวิทยา | GPM |
ถาม | ความชื้นเฉพาะ | กิโลกรัมกิโลกรัม -1 |
R | ความชื้นสัมพัทธ์ | - |
T | อุณหภูมิ | K |
คุณ | ส่วนประกอบของลม | MS -1 |
V | องค์ประกอบ V ของลม | MS -1 |
VO | Vorticity (ญาติ) | s -1 |
สนามบรรยากาศในระดับเดียว
พารามิเตอร์ | คำอธิบาย | หน่วย |
---|---|---|
10u | ส่วนประกอบลม 10 เมตร | MS -1 |
10V | ส่วนประกอบลม V 10 เมตร | MS -1 |
2T | อุณหภูมิ 2 เมตร | K |
MSL | ค่าเฉลี่ยความดันระดับน้ำทะเล | PA |
RO | การไหลบ่า | ม. |
Skt | อุณหภูมิผิวหนัง | K |
SP | ความดันพื้นผิว | PA |
เซนต์ | อุณหภูมิดิน | K |
STL1 | อุณหภูมิดินระดับ 1 | K |
TCWV | คอลัมน์รวมไอน้ำในแนวตั้ง | kg m -2 |
TP | ปริมาณน้ำฝนทั้งหมด | ม. |
ทุ่งคลื่นมหาสมุทร
พารามิเตอร์ | คำอธิบาย | หน่วย |
---|---|---|
MP2 | ค่าเฉลี่ยระยะเวลาคลื่นข้ามศูนย์ | S |
MWD | เฉลี่ยทิศทางของคลื่น | ปริญญาจริง |
MWP | เฉลี่ยระยะเวลาของคลื่น | S |
PP1D | ระยะเวลาคลื่นสูงสุด | S |
SWH | ความสูงอย่างมีนัยสำคัญของคลื่นลมรวมและบวม | ม. |
ค่าเฉลี่ยของชุดและค่าเบี่ยงเบนมาตรฐาน - ระดับความดัน
พารามิเตอร์ | คำอธิบาย | หน่วย | ระดับ |
---|---|---|---|
GH | ความสูงทางธรณีวิทยา | GPM | 300, 500, 1,000 |
T | อุณหภูมิ | K | 250, 500, 850 |
WS | ความเร็วลม | MS -1 | 250, 850 |
ค่าเฉลี่ยของชุดและค่าเบี่ยงเบนมาตรฐาน - ระดับเดียว
พารามิเตอร์ | คำอธิบาย | หน่วย |
---|---|---|
MSL | ค่าเฉลี่ยความดันระดับน้ำทะเล | PA |
เหตุการณ์สภาพอากาศทันที - ทุ่งนา - 850 hpa
พารามิเตอร์ | คำอธิบาย | หน่วย |
---|---|---|
PTSA_GT_1P5STDEV | ความน่าจะเป็นของความผิดปกติของอุณหภูมิสูงกว่า 1.5 ส่วนเบี่ยงเบนมาตรฐาน | - |
PTSA_GT_1STDEV | ความน่าจะเป็นของความผิดปกติของอุณหภูมิอุณหภูมิสูงกว่า 1 ส่วนเบี่ยงเบนมาตรฐาน | - |
PTSA_GT_2STDEV | ความน่าจะเป็นของความผิดปกติของอุณหภูมิอุณหภูมิสูงกว่า 2 ส่วนเบี่ยงเบนมาตรฐาน | - |
PTSA_LT_1P5STDEV | ความน่าจะเป็นของความผิดปกติของอุณหภูมิอุณหภูมิน้อยกว่า -1.5 ส่วนเบี่ยงเบนมาตรฐาน | - |
PTSA_LT_1STDEV | ความน่าจะเป็นของความผิดปกติของอุณหภูมิอุณหภูมิน้อยกว่า -1 ค่าเบี่ยงเบนมาตรฐาน | - |
PTSA_LT_2STDEV | ความน่าจะเป็นของความผิดปกติของอุณหภูมิอุณหภูมิน้อยกว่า -2 ส่วนเบี่ยงเบนมาตรฐาน | - |
เหตุการณ์สภาพอากาศประจำวัน - เขตบรรยากาศ - ระดับเดียว
พารามิเตอร์ | คำอธิบาย | หน่วย |
---|---|---|
10fgg10 | ลมกระโชกแรงลม 10 เมตรอย่างน้อย 10 m/s | - |
10fgg15 | ลมกระโชกแรงลม 10 เมตรอย่างน้อย 15 เมตร/วินาที | - |
10fgg25 | ลมกระโชกแรงลม 10 เมตรอย่างน้อย 25 m/s | - |
TPG1 | ปริมาณน้ำฝนรวมอย่างน้อย 1 มม. | - |
TPG10 | ปริมาณน้ำฝนรวมอย่างน้อย 10 มม. | - |
TPG100 | ปริมาณน้ำฝนรวมอย่างน้อย 100 มม. | - |
TPG20 | ปริมาณน้ำฝนรวมอย่างน้อย 20 มม. | - |
TPG25 | ปริมาณน้ำฝนรวมอย่างน้อย 25 มม. | - |
TPG5 | ปริมาณน้ำฝนรวมอย่างน้อย 5 มม. | - |
TPG50 | ปริมาณน้ำฝนรวมอย่างน้อย 50 มม. | - |
เหตุการณ์สภาพอากาศทันที - ทุ่งคลื่นมหาสมุทร
พารามิเตอร์ | คำอธิบาย | หน่วย |
---|---|---|
SWHG2 | ความสูงของคลื่นอย่างน้อย 2 เมตร | - |
SWHG4 | ความสูงของคลื่นที่สำคัญอย่างน้อย 4 เมตร | - |
SWHG6 | ความสูงของคลื่นที่สำคัญอย่างน้อย 6 เมตร | - |
SWHG8 | ความสูงของคลื่นที่สำคัญอย่างน้อย 8 เมตร | - |
คุณสามารถเลือกสมาชิกแต่ละคนของการพยากรณ์วงดนตรีใช้ number
คำหลัก
...
stream = "enfo" ,
step = 24 ,
param = "msl" ,
number = 1 ,
...
stream = "enfo" ,
step = 24 ,
param = "msl" ,
number = [ 1 , 10 , 20 ],
...
รายการหมายเลขวงดนตรี |
---|
1 ถึง 50 |
- หมายเหตุ : ไม่ได้ระบุ
number
จะส่งคืนสมาชิกพยากรณ์ทั้งมวลทั้งหมด
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
client . retrieve (
time = 0 ,
stream = "oper" ,
type = "fc" ,
step = 24 ,
param = "2t" ,
target = "data.grib2" ,
)
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
client . retrieve (
time = 0 ,
stream = "oper" ,
type = "tf" ,
step = 240 ,
target = "data.bufr" ,
)
...
step = 90 ,
...
❗ หมายเหตุ: ผลิตภัณฑ์ไซโคลนเขตร้อนมีเฉพาะเมื่อมีพายุหมุนเขตร้อนที่สังเกตหรือคาดการณ์
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
client . retrieve (
time = 0 ,
stream = "enfo" ,
type = "pf" ,
param = "msl" ,
target = "data.grib2" ,
)
number
: number=1
number=[num for num in range(1,51,2)]
type="cf"
แทร็กพายุไซโคลนเขตร้อนถูกระบุโดยคำหลัก type="tf"
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
client . retrieve (
time = 0 ,
stream = "enfo" ,
type = "tf" ,
step = 240 ,
target = "data.bufr" ,
)
step=240
ด้วย step=144
ค่าเฉลี่ยของชุดและค่าเบี่ยงเบนมาตรฐานถูกระบุโดยคำหลัก type="em"
:
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
client . retrieve (
time = 0 ,
stream = "enfo" ,
type = "em" ,
step = 24 ,
target = "data.grib2" ,
)
และ type="es"
ตามลำดับ:
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
client . retrieve (
time = 0 ,
stream = "enfo" ,
type = "es" ,
step = 24 ,
target = "data.grib2" ,
)
ผลิตภัณฑ์ความน่าจะเป็นของวงดนตรีจะถูกระบุด้วยคำหลัก type="ep"
ผลิตภัณฑ์ความน่าจะเป็นมีให้เฉพาะ time=00
และ time=12
มีผลิตภัณฑ์ที่แตกต่างกันสองรายการ
ความน่าจะเป็นของความผิดปกติของอุณหภูมิที่ได้มาตรฐานที่ระดับความดันคงที่ 850HPA มีอยู่ที่ขั้นตอนการคาดการณ์ 12 ชั่วโมง
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
client . retrieve (
time = 0 ,
stream = "enfo" ,
type = "ep" ,
step = [ i for i in range ( 12 , 361 , 12 )],
levelist = 850 ,
param = [
"ptsa_gt_1stdev" ,
"ptsa_gt_1p5stdev" ,
"ptsa_gt_2stdev" ,
"ptsa_lt_1stdev" ,
"ptsa_lt_1p5stdev" ,
"ptsa_lt_2stdev" ,
],
target = "data.grib2" ,
)
ความน่าจะเป็นของการตกตะกอนทั้งหมดและลมกระโชกแรงเกินเกณฑ์ที่ระบุในระยะเวลา 24 ชั่วโมงมีให้สำหรับช่วงขั้นตอน 0-24 ถึง 336-360 โดย 12 สิ่งเหล่านี้ถูกระบุในคำขอดึงข้อมูลเช่น: step=["0-24", "12-36", "24-48"]
from ecmwf . opendata import Client
client = Client ( source = "ecmwf" )
steps = [ f" { 12 * i } - { 12 * i + 24 } " for i in range ( 29 )]
client . retrieve (
time = 0 ,
stream = "enfo" ,
type = "ep" ,
step = steps ,
param = [ "tpg1" , "tpg5" , "10fgg10" ],
target = "data.grib2" ,
)
โดยการดาวน์โหลดข้อมูลจากชุดข้อมูล Open ECMWF คุณยอมรับข้อกำหนดของพวกเขา: Attribution 4.0 International (CC โดย 4.0) หากคุณไม่เห็นด้วยกับข้อกำหนดดังกล่าวอย่าดาวน์โหลดข้อมูล เยี่ยมชมหน้านี้สำหรับข้อมูลเพิ่มเติม
Apache License 2.0 ในการใช้ใบอนุญาตนี้ ECMWF ไม่ได้ยกเว้นสิทธิพิเศษและภูมิคุ้มกันที่ได้รับจากสถานะของ บริษัท ในฐานะองค์กรระหว่างรัฐบาลและไม่ส่งไปยังเขตอำนาจศาลใด ๆ