• FB

Thứ Tư, 7 tháng 11, 2018

Earth Engine - Weather Data Viewer

Weather data, a simple question but sometimes difficult to know where and how to get it. Ground data is mostly station-based measurements which are expensive and coarse. Some shortcomings of ground data can bet listed as follows:

  • Expensive;
  • Coarse;
  • Difficult to get;
  • Commonly not real-time for civiliant use;
  • Lack of historical data (for developing countries);
  • Not ready for spatial analyses.

Of course it has quite a number of advantages, and again, still remains more drawbacks. It is for sure ground data is unreplacable, however, depending only on ground data is not a good choice of ones who are dealing with spatial data analyses.

There's another complimentary source, which is data derived from earth observation satellites and mathematical models.

Since everything has been "on the cloud", the weather data of the world has become more accessible than ever. Following example in Google Earth Engine codes will show you how to visualize some sort of weather data. And of course, you can further develop your own application with "download", "clip", "raster calculation", "data aggregation", "anomalies".... functions. With this example, you can fetch:

  • Precipitation
  • Heat flux
  • Land surface temperature
  • Wind speed
  • Air humidity
  • Sun radiation

Add more and share codes if you're ready.

Surface Temperature - Nhiệt độ bề mặt

Precipitation - Lượng giáng thủy (mưa)

Wind speed - Tốc độ gió

Heat flux - Nhiệt thông



// Weather Viewer
// Written by Phuong Do, Sep 2018
//==========================================================
var before = '2018-09-01';
var after = '2018-10-07';
//==========================================================
// Data sources
// Precipitation
var PRE = ee.ImageCollection("UCSB-CHG/CHIRPS/DAILY")
.select(['precipitation'])
.filterDate(before, after)
.sort('system:time_start', true);
// Land surface temperature var LST = ee.ImageCollection("MODIS/006/MOD11A1")
.select(['LST_Day_1km'])
.filterDate(before, after)
.sort('system:time_start', true);
// Heat flux
var RAD = ee.ImageCollection("NASA/GLDAS/V021/NOAH/G025/T3H")
.select(['Qg_tavg'])
.filterDate(before, after)
.sort('system:time_start', true);
// Wind speed
var WIND = ee.ImageCollection("NASA/GLDAS/V021/NOAH/G025/T3H")
.select('Wind_f_inst') .filterDate(before, after)
.sort('system:time_start', true);
// Air humidity var HUMID = ee.ImageCollection("NOAA/GFS0P25")
.select(['relative_humidity_2m_above_ground']) .filterDate(before, after)
.sort('system:time_start', true);
//==========================================================
var meanLST = LST.reduce('mean');
meanLST = meanLST.multiply(0.02).subtract(273.15);
var sumLST = LST.sum().multiply(0.02).subtract(273.15);
var meanPRE = PRE.sum();
var meanRAD = RAD.sum().multiply(8);
var HUM = HUMID.reduce('mean');
var avgWIND = WIND.reduce('mean');
Map.addLayer(avgWIND,{palette: '#dbfffc,#29c9ff,#66aeff,#9cf1c4,#71ffa1,#3aff61,#0eed59,#dbffa0,#e5ff79,#fff29e,#ffd6a4,#ffc28f,#ff937b,#ff634a,#ff0000', min: 0, max: 5},"Wind Speed (m/s)",false);
Map.addLayer(HUM,{palette: '#dbfffc, #29c9ff, #66aeff, #3801ff', min: 0, max: 100},"Humidity (%)",false);
Map.addLayer(meanLST,{palette: '#09b6ff, #f1ff07, #e00303', min: 0, max: 50},"Temperature",true);
Map.addLayer(meanPRE,{palette: '#dbfffc, #29c9ff, #66aeff, #3801ff', min: 0, max: 800},"Precipitation",true);
Map.addLayer(meanRAD,{palette: '#ffd3f5, #ffb0f4, #ff83dd, #da46c6', min: -600, max: 500},"Heat Flux (W/m^2)",false);
Map.addLayer(sumLST,{palette: '#e9ffb2,#fff7a2, #ffd26f, #ffbc44,#ffa623,#ff4b07,#eb0711', min: 0, max: 10000},"Sun radiation (C)",false);
//==========================================================


Tiếng Việt

Dữ liệu thời tiết - một câu hỏi tương đối đơn giản nhưng lại đôi khi rất khó để biết chúng ở đâu và lấy về như thế nào. Dữ liệu mặt đất thu từ các trạm đo thì luôn đắt đỏ và rời rạc. Một số hạn chế cơ bản của dữ liệu mặt đất có thể được liệt kê như sau:
  • Đắt đỏ;
  • Độ phân giải thấp (rời rạc);
  • Rất khó để có thể lấy được;
  • Không cập nhật ngay lập tức đối với hầu hết người dùng thông thường;
  • Thiếu hụt chuỗi số liệu trong quá khứ (đa phần với các nước đang phát triển);
  • Chưa sẵn sàng cho các phép phân tích không gian với GIS.

Tất nhiên dữ liệu mặt đất có rất nhiều ưu điểm, thế nhưng chúng cũng tồn tại thêm các hạn chế khác. Một điều chắc chắn là dữ liệu mặt đất không thể thay thế được, tuy nhiên nếu chỉ dựa vào chúng để tiến hành các phân tích thì đấy không phải là sự lựa chọn tốt.

Có một cách khác bổ sung nguồn dữ liệu này, đó là nguồn dữ liệu từ các vệ tinh giám sát trái đất và từ các mô hình toán học.

Khi mọi thứ đều theo xu hướng nhảy "lên mây" (cloud) thì việc truy cập các nguồn dữ liệu thời tiết toàn cầu trở nên dễ hơn rất nhiều. Ví dụ minh họa sau bằng Google Earth Engine sẽ cho thấy việc này dễ hơn bao giờ hết. Tất nhiên rồi, bạn có thể tiếp tục phát triển ứng dụng này bằng cách thêm vào các chức năng khác như "tải số liệu về", "cắt theo ranh giới", "tính toán phân tích", "tổng hợp thông tin", tìm kiếm giá trị bất thường".... Với bộ mã này, bạn có thể lấy được các nhóm số liệu sau:
  • Lượng giáng thủy (Precipitation)
  • Nhiệt thông (Heat flux)
  • Nhiệt độ bề mặt (Land surface temperature)
  • Tốc độ gió (Wind speed)
  • Độ ẩm không khí (Air humidity)
  • Tổng tích ôn (Sun radiation)

Cuối cùng, bạn có thể chia sẻ mã nguồn ứng dụng của bạn.






2 nhận xét:

  1. // Please add your codes here

    // Add ALOS 30m DEM
    var ALOS = ee.Image("JAXA/ALOS/AW3D30_V1_1").select('AVE');;

    // Color palette for ALOS DEM
    var VizALOS = {"opacity":1,"bands":["AVE"],"min":0,"max":2000,"palette":["001bff","077cff","01caff","32fff0","00cc73","70e232","b5ff60","ffe58b","ff9879","fff8f7"]};

    // Show it on screen
    Map.addLayer(ALOS,VizALOS,"ALOS 2006 (30m)",true);


    Trả lờiXóa

Contact

Gửi tin nhắn


Adress/Địa chỉ

61 Hang Chuoi, Hai Ba Trung district, Hanoi, Vietnam
61 Hàng Chuối, Q. Hai Bà Trưng, Hà Nội, Việt Nam

Phone number

+(84) 97 892 9822

Email

dphuong@gmail.com