Regional Climate Modeling and Climate Change
(REMOCLIC)

Thông tin nội bộ
Thống kê truy cập
Số người đang trực tuyến: 3
Trong đó có 0 thành viên .
Tổng số truy cập 8785394
Chuyên mục: » REMOCLIC Team » Notes
Đăng ngày 22/4/2026 Cập nhật lúc 06:04:15 ngày 22/4/2026

My notes

 

1) Cấu trúc chung của namelist.wps.all_options

File này gồm các block chính:

  • &share
  • &geogrid
  • &ungrib
  • &metgrid
  • &mod_levs
  • &plotfmt

Trong thực tế chạy WPS cho WRF ARW, quan trọng nhất là:

  • &share
  • &geogrid
  • &ungrib
  • &metgrid

Còn:

  • &mod_levs chỉ dùng trong một số trường hợp đặc biệt
  • &plotfmt hầu như ít dùng trong workflow hiện đại

2) Block &share

Đây là nơi khai báo thông tin chung cho toàn bộ WPS.

Ví dụ trong file mẫu có:

&share
 wrf_core = 'ARW',
 max_dom = 2,
 start_date = '2006-08-16_12:00:00','2006-08-16_12:00:00',
 end_date   = '2006-08-16_18:00:00','2006-08-16_12:00:00',
 interval_seconds = 21600
 active_grid = .true., .true.,
 subgrid_ratio_x = 1
 subgrid_ratio_y = 1
 io_form_geogrid = 2,
 opt_output_from_geogrid_path = './',
 debug_level = 0
/

Ý nghĩa từng tham số

wrf_core

Chọn lõi mô hình.

  • 'ARW' = lõi phổ biến nhất, gần như chắc chắn bạn dùng cái này

max_dom

Số domain.

  • 1 = chỉ có d01
  • 2 = d01 + d02
  • 3 = d01 + d02 + d03

start_date, end_date

Thời gian bắt đầu và kết thúc của mỗi domain.

  • phải có một giá trị cho mỗi domain
  • thường các domain bắt đầu cùng lúc
  • domain lồng trong có thể kết thúc khác nếu bạn muốn, nhưng đa số để giống nhau

interval_seconds

Khoảng cách thời gian của dữ liệu đầu vào khí tượng.

Ví dụ:

  • GFS 6-hourly → 21600
  • FNL 6-hourly → 21600
  • ERA5 1-hourly → 3600
  • dữ liệu 3-hourly → 10800

active_grid

Có kích hoạt domain đó không.

  • .true. = dùng
  • .false. = tắt

Ít khi phải sửa.

subgrid_ratio_x, subgrid_ratio_y

Liên quan đến subgrid tiling, rất ít khi cần cho bài toán chuẩn.

Thường để 1.

io_form_geogrid

Định dạng output của geogrid.

  • 2 = NetCDF
  • gần như luôn dùng 2

opt_output_from_geogrid_path

Thư mục ghi file geo_em*

  • './' = ghi ngay trong thư mục hiện tại

debug_level

Mức debug.

  • 0 = bình thường
  • tăng lên nếu cần dò lỗi

Cách xác định tham số trong &share

Với bạn

  • wrf_core = 'ARW'
  • max_dom = theo số miền bạn muốn
  • start_date, end_date = theo thời gian case
  • interval_seconds = theo dữ liệu đầu vào
  • io_form_geogrid = 2

Ví dụ

Nếu bạn dùng GFS 6 giờ một lần, chạy từ 00 UTC ngày 1/5/2026 đến 00 UTC ngày 6/5/2026, 2 miền:

max_dom = 2,
start_date = '2026-05-01_00:00:00','2026-05-01_00:00:00',
end_date   = '2026-05-06_00:00:00','2026-05-06_00:00:00',
interval_seconds = 21600,


3) Block &geogrid

Đây là block quan trọng nhất để thiết kế domain.

Ví dụ trong file:

&geogrid
 parent_id         =   1,   1,
 parent_grid_ratio =   1,   3,
 i_parent_start    =   1,  31,
 j_parent_start    =   1,  17,
 s_we              =   1,   1,
 e_we              =  74, 112,
 s_sn              =   1,   1,
 e_sn              =  61,  97,
 geog_data_res = 'default','default',
 dx        = 30000,
 dy        = 30000,
 map_proj  = 'lambert',
 ref_lat   =  34.83,
 ref_lon   = -81.03,
 ref_x     =  37.0,
 ref_y     =  30.5,
 truelat1  =  30.0,
 truelat2  =  60.0,
 stand_lon = -98.0,
 geog_data_path = '/glade/work/wrfhelp/WPS_GEOG/'
 opt_geogrid_tbl_path = 'geogrid/'
/

Ý nghĩa từng tham số

parent_id

Domain cha của mỗi domain.

Ví dụ 2 miền:

  • d01 luôn có parent_id = 1
  • d02 nằm trong d01 nên cũng ghi 1

Nếu có d03 nằm trong d02 thì d03 sẽ có parent_id = 2

parent_grid_ratio

Tỷ lệ độ phân giải giữa domain con và domain cha.

Ví dụ:

  • 1, 3
    nghĩa là:
  • d01 là miền gốc
  • d02 có độ phân giải mịn gấp 3 lần d01

Nếu dx của d01 là 27 km thì d02 sẽ là 9 km.

i_parent_start, j_parent_start

Vị trí bắt đầu của domain con bên trong domain cha.

Đây là chỉ số lưới, không phải lat/lon.

Chúng quyết định d02 nằm ở đâu bên trong d01.

s_we, s_sn

Điểm bắt đầu theo hướng tây-đông và nam-bắc.

Gần như luôn để:

  • 1

e_we, e_sn

Điểm cuối theo hướng tây-đông và nam-bắc.

Thực chất là số điểm lưới của mỗi domain.

Miền càng rộng thì e_we, e_sn càng lớn.

geog_data_res

Chọn bộ dữ liệu static dùng cho geogrid.

  • 'default' thường là đủ
  • có thể chỉ định cụ thể như modis_lakes+10m

Trong file mẫu có thêm ví dụ:

geog_data_res = 'modis_lakes+10m','modis_lakes+2m',
geog_data_res = 'usgs_lakes+10m','usgs_lakes+2m',

Nhưng đó chỉ là ví dụ, không phải dùng cùng lúc.

dx, dy

Độ phân giải ngang của domain ngoài cùng, đơn vị mét.

Ví dụ:

  • 30000 = 30 km
  • 15000 = 15 km
  • 9000 = 9 km

Với domain con, WPS tự tính từ parent_grid_ratio.

map_proj

Phép chiếu bản đồ.

Thường dùng:

  • 'lambert' cho miền trung vĩ độ/khu vực
  • 'mercator' cho vùng gần xích đạo
  • 'polar' cho vùng cực
  • 'lat-lon' cho lưới lat-lon đều

Với Việt Nam, thường:

  • lambert hoặc mercator
  • nhiều người dùng lambert

ref_lat, ref_lon

Vĩ độ, kinh độ tham chiếu của domain.

Thường gần với tâm miền.

ref_x, ref_y

Tọa độ lưới tham chiếu tương ứng với ref_lat, ref_lon.

Nhiều trường hợp có thể để mặc định hoặc không cần đụng sâu nếu thiết lập chuẩn.

truelat1, truelat2

Hai vĩ độ chuẩn của Lambert.

Chúng ảnh hưởng đến méo hình của phép chiếu.

stand_lon

Kinh tuyến chuẩn.

geog_data_path

Đường dẫn tới thư mục WPS geographical data.

Đây là thư mục chứa trực tiếp các thư mục con như topo, landuse, soil, lai...

opt_geogrid_tbl_path

Đường dẫn tới GEOGRID.TBL.

Thường để:

  • 'geogrid/'

Cách xác định tham số trong &geogrid

Đây là phần quan trọng nhất.

A. Xác định mục tiêu domain

Trước tiên bạn phải tự trả lời:

  • vùng nghiên cứu là đâu?
  • cần mô phỏng hoàn lưu trên phạm vi nào?
  • có cần nest không?
  • độ phân giải mong muốn là bao nhiêu?

Ví dụ:

  • nghiên cứu S2S cho Việt Nam
  • cần d01 rộng bao cả Biển Đông và khu vực lân cận
  • d02 có thể tập trung hơn vào Việt Nam

B. Chọn dx, dy

Cho S2S, domain ngoài thường không cần quá mịn.

Gợi ý thực tế:

  • d01: 27 km hoặc 15 km
  • d02 nếu có: 9 km hoặc 5 km

C. Chọn e_we, e_sn

Đây là kích thước miền.

Miền phải đủ rộng để:

  • vùng nghiên cứu không sát biên
  • mô tả được hoàn lưu quy mô lớn

D. Chọn ref_lat, ref_lon

Đặt gần tâm vùng bạn muốn mô phỏng.

Ví dụ Việt Nam thường có thể bắt đầu với:

  • ref_lat khoảng 16–18
  • ref_lon khoảng 107–109

E. Chọn map_proj

Với Việt Nam:

  • lambert thường ổn
  • truelat1, truelat2 có thể đặt quanh khoảng vĩ độ của miền

Ví dụ:

truelat1 = 10.0
truelat2 = 20.0
stand_lon = 108.0

F. Chọn nest

Nếu có d02:

  • parent_grid_ratio thường dùng 3
  • i_parent_start, j_parent_start phải được chỉnh sau khi xem vị trí domain

Đây chính là lý do bạn muốn chạy geogrid.exe riêng để kiểm tra miền trước.


4) Block &ungrib

Ví dụ:

&ungrib
 out_format = 'WPS',
 prefix     = 'FILE',
 ec_rec_len = 26214508,
 pmin = 100.
/

Ý nghĩa

out_format

Định dạng output của ungrib.

  • 'WPS' là chuẩn phổ biến

prefix

Tiền tố file output.

Nếu để:

prefix = 'FILE'

thì output sẽ là:

FILE:YYYY-MM-DD_HH

ec_rec_len

Ít khi phải sửa. Liên quan tới một số định dạng ECMWF.

pmin

Áp suất tối thiểu để đọc dữ liệu mức áp.

Ít khi phải đụng.


Cách xác định

Trong đa số case thực tế:

&ungrib
 out_format = 'WPS',
 prefix     = 'FILE',
/

là đủ.


5) Block &metgrid

Ví dụ:

&metgrid
 fg_name         = 'FILE'
 constants_name  = './TAVGSFC'
 io_form_metgrid = 2,
 opt_output_from_metgrid_path = './',
 opt_metgrid_tbl_path         = 'metgrid/',
 process_only_bdy = 5,
/

Ý nghĩa

fg_name

Tên prefix của dữ liệu khí tượng đầu vào do ungrib.exe sinh ra.

Nếu ungrib dùng:

prefix = 'FILE'

thì metgrid phải đọc:

fg_name = 'FILE'

constants_name

Tên file constant fields bổ sung.

Ít dùng trong case cơ bản.

io_form_metgrid

Định dạng output của metgrid.

  • 2 = NetCDF

opt_output_from_metgrid_path

Thư mục ghi met_em*

opt_metgrid_tbl_path

Đường dẫn tới METGRID.TBL

process_only_bdy

Chỉ xử lý một phần biên trong vài trường hợp đặc biệt.

Case chuẩn thường không cần đụng.


Cách xác định

Với case chuẩn, thường chỉ cần:

&metgrid
 fg_name = 'FILE',
 io_form_metgrid = 2,
/


6) Block &mod_levs

Ví dụ:

&mod_levs
 press_pa = 201300 , 200100 , 100000 , ...
/

Ý nghĩa

Block này dùng để quy định các mức áp suất mục tiêu trong một số workflow đặc biệt.

Trong phần lớn bài toán real-case WRF thông thường, bạn không cần dùng.


7) Block &plotfmt

Ví dụ:

&plotfmt
 ix = 100
 jx = 100
 ioff = 30
 joff = 30
/

Ý nghĩa

Liên quan tới một số định dạng plot/output cũ.

Hiện nay gần như không phải block quan trọng cho workflow chuẩn.


8) Những tham số nào bạn thực sự cần quan tâm?

Trong thực tế, với WPS chuẩn, bạn chủ yếu tập trung vào:

&share

  • wrf_core
  • max_dom
  • start_date
  • end_date
  • interval_seconds

&geogrid

  • parent_id
  • parent_grid_ratio
  • i_parent_start
  • j_parent_start
  • e_we
  • e_sn
  • dx
  • dy
  • map_proj
  • ref_lat
  • ref_lon
  • truelat1
  • truelat2
  • stand_lon
  • geog_data_path
  • geog_data_res

&ungrib

  • out_format
  • prefix

&metgrid

  • fg_name
  • io_form_metgrid

9) Cách xác định tham số theo tư duy đúng

Tôi khuyên bạn không học thuộc từng dòng, mà học theo logic sau:

Bước 1: xác định case

  • chạy thời gian nào?
  • dùng dữ liệu đầu vào nào?
  • khoảng cách thời gian dữ liệu là bao nhiêu?

→ quyết định start_date, end_date, interval_seconds

Bước 2: xác định miền

  • vùng nghiên cứu là đâu?
  • miền ngoài cần rộng tới đâu?
  • có bao nhiêu nest?
  • độ phân giải mong muốn là bao nhiêu?

→ quyết định max_dom, dx, dy, e_we, e_sn, ref_lat, ref_lon, parent_grid_ratio, i_parent_start, j_parent_start

Bước 3: xác định static data

  • dùng MODIS hay USGS?
  • geog data để ở đâu?

→ quyết định geog_data_res, geog_data_path

Bước 4: xác định nguồn khí tượng đầu vào

  • GFS/FNL/ERA5?
  • Vtable nào?
  • prefix nào?

→ quyết định prefix, fg_name


10) Một namelist.wps thực tế thường đơn giản hơn rất nhiều

Ví dụ với 1 domain cơ bản:

&share
 wrf_core = 'ARW',
 max_dom = 1,
 start_date = '2026-05-01_00:00:00',
 end_date   = '2026-05-06_00:00:00',
 interval_seconds = 21600,
 io_form_geogrid = 2,
/

&geogrid
 parent_id         = 1,
 parent_grid_ratio = 1,
 i_parent_start    = 1,
 j_parent_start    = 1,
 e_we              = 120,
 e_sn              = 100,
 geog_data_res     = 'default',
 dx = 15000,
 dy = 15000,
 map_proj = 'lambert',
 ref_lat   = 16.0,
 ref_lon   = 108.0,
 truelat1  = 10.0,
 truelat2  = 20.0,
 stand_lon = 108.0,
 geog_data_path = '/work/tanpv/WPS_GEOG'
/

&ungrib
 out_format = 'WPS',
 prefix = 'FILE',
/

&metgrid
 fg_name = 'FILE',
 io_form_metgrid = 2,
/

Bạn thấy là nó ngắn hơn namelist.wps.all_options rất nhiều.


11) Lời khuyên thực tế nhất cho bạn

Khi nhìn namelist.wps.all_options, hãy xem nó như:

  • sổ tay liệt kê đầy đủ tùy chọn
  • không phải mẫu để copy nguyên

Bạn chỉ nên:

  • lấy các tham số cần thiết
  • bỏ các tham số ít dùng
  • giữ file namelist.wps của bạn ngắn và rõ

12) Cách học chắc nhất

Tôi khuyên bạn chia tham số thành 4 nhóm:

Nhóm thời gian

  • start_date
  • end_date
  • interval_seconds

Nhóm domain

  • max_dom
  • dx, dy
  • e_we, e_sn
  • ref_lat, ref_lon
  • parent_grid_ratio
  • i_parent_start, j_parent_start

Nhóm dữ liệu địa lý

  • geog_data_path
  • geog_data_res

Nhóm dữ liệu khí tượng

  • prefix
  • fg_name

 

 

1) &share

Tham số

Mức độ

Ý nghĩa

Cách xác định

wrf_core

Bắt buộc

Chọn lõi mô hình

Hầu như luôn dùng 'ARW'

max_dom

Bắt buộc

Số domain

1 nếu chỉ có d01; 2 nếu có d01+d02

start_date

Bắt buộc

Thời gian bắt đầu của từng domain

Theo thời gian case; mỗi domain một giá trị

end_date

Bắt buộc

Thời gian kết thúc của từng domain

Theo thời gian case

interval_seconds

Bắt buộc

Khoảng cách thời gian dữ liệu đầu vào khí tượng

GFS/FNL 6h → 21600; 3h → 10800; 1h → 3600

io_form_geogrid

Thường dùng

Format output của geogrid

Gần như luôn để 2

active_grid

Có thể bỏ qua

Bật/tắt từng domain

Thường để mặc định

opt_output_from_geogrid_path

Có thể bỏ qua

Thư mục ghi geo_em*

Thường để './'

debug_level

Ít khi cần

Mức debug

Thường để 0

subgrid_ratio_x, subgrid_ratio_y

Ít khi cần

Dùng cho subgrid đặc biệt

Thường để 1

Ghi nhớ

Trong &share, thứ bạn thật sự phải tự quyết là:

  • thời gian
  • số domain
  • khoảng cách thời gian dữ liệu đầu vào

2) &geogrid

Đây là block quan trọng nhất.

Tham số

Mức độ

Ý nghĩa

Cách xác định

parent_id

Bắt buộc

Domain cha của mỗi domain

d01 luôn là 1; d02 trong d01 thì là 1; d03 trong d02 thì là 2

parent_grid_ratio

Bắt buộc nếu có nest

Tỷ lệ độ phân giải giữa con và cha

Thường dùng 3

i_parent_start, j_parent_start

Bắt buộc nếu có nest

Vị trí bắt đầu domain con trong domain cha

Chỉnh sau khi kiểm tra domain

e_we, e_sn

Bắt buộc

Số điểm lưới theo tây-đông, nam-bắc

Quyết định kích thước miền

geog_data_res

Bắt buộc thực tế

Chọn bộ địa lý tĩnh

Thường để 'default'

dx, dy

Bắt buộc

Độ phân giải ngang của domain ngoài cùng

Ví dụ 27000, 15000, 9000 m

map_proj

Bắt buộc

Phép chiếu bản đồ

Việt Nam thường lambert hoặc mercator

ref_lat, ref_lon

Bắt buộc

Tâm tham chiếu của miền

Chọn gần tâm khu vực nghiên cứu

truelat1, truelat2

Bắt buộc nếu dùng Lambert/Mercator

Vĩ độ chuẩn

Chọn theo vùng nghiên cứu

stand_lon

Bắt buộc nếu dùng Lambert

Kinh tuyến chuẩn

Gần kinh độ trung tâm miền

geog_data_path

Bắt buộc

Đường dẫn tới WPS geog data

Trỏ tới thư mục chứa trực tiếp các thư mục topo/soil/landuse...

opt_geogrid_tbl_path

Thường dùng

Đường dẫn GEOGRID.TBL

Thường để 'geogrid/'

s_we, s_sn

Thường giữ mặc định

Điểm bắt đầu lưới

Gần như luôn là 1

ref_x, ref_y

Ít khi cần

Tọa độ lưới tham chiếu

Thường không cần chỉnh tay

Ghi nhớ

Trong &geogrid, bạn phải thật sự hiểu và tự quyết:

  • miền nằm ở đâu
  • rộng bao nhiêu
  • độ phân giải bao nhiêu
  • có bao nhiêu nest
  • dữ liệu địa lý tĩnh nằm ở đâu

3) &ungrib

Tham số

Mức độ

Ý nghĩa

Cách xác định

out_format

Bắt buộc thực tế

Định dạng output của ungrib

Gần như luôn 'WPS'

prefix

Bắt buộc thực tế

Tiền tố file output

Thường để 'FILE'

ec_rec_len

Ít khi cần

Dùng cho một số dữ liệu ECMWF

Chỉ đụng khi có yêu cầu đặc biệt

pmin

Ít khi cần

Áp suất tối thiểu khi xử lý dữ liệu mức áp

Hầu như không sửa

Ghi nhớ

Trong &ungrib, thường chỉ cần nhớ 2 dòng:

out_format = 'WPS',
prefix = 'FILE',


4) &metgrid

Tham số

Mức độ

Ý nghĩa

Cách xác định

fg_name

Bắt buộc thực tế

Tên prefix của dữ liệu từ ungrib

Nếu prefix='FILE' thì fg_name='FILE'

io_form_metgrid

Thường dùng

Format output của metgrid

Gần như luôn 2

opt_output_from_metgrid_path

Có thể bỏ qua

Thư mục ghi met_em*

Thường để './'

opt_metgrid_tbl_path

Có thể bỏ qua

Đường dẫn METGRID.TBL

Thường để mặc định

constants_name

Ít khi cần

File constant fields bổ sung

Case đặc biệt mới dùng

process_only_bdy

Ít khi cần

Chỉ xử lý biên

Hiếm dùng

Ghi nhớ

Trong &metgrid, thường chỉ cần:

fg_name = 'FILE',
io_form_metgrid = 2,


5) &mod_levs

Tham số

Mức độ

Ý nghĩa

Cách xác định

press_pa

Ít khi cần

Danh sách mức áp suất mục tiêu

Chỉ dùng trong workflow đặc biệt

Ghi nhớ

Block này phần lớn có thể bỏ qua với real-case chuẩn.


6) &plotfmt

Tham số

Mức độ

Ý nghĩa

Cách xác định

ix, jx, ioff, joff

Ít khi cần

Các tùy chọn liên quan plot/format cũ

Thường không cần dùng


7) Tóm tắt rất ngắn: cái gì là “phải tự quyết”?

Bạn phải tự quyết

Đây là các tham số cốt lõi:

Thời gian

  • start_date
  • end_date
  • interval_seconds

Domain

  • max_dom
  • dx, dy
  • e_we, e_sn
  • ref_lat, ref_lon
  • parent_grid_ratio
  • i_parent_start, j_parent_start

Địa lý tĩnh

  • geog_data_path
  • geog_data_res

Đầu vào khí tượng

  • prefix
  • fg_name

8) Cái gì thường để mặc định?

Thường để mặc định

  • wrf_core = 'ARW'
  • io_form_geogrid = 2
  • io_form_metgrid = 2
  • opt_geogrid_tbl_path = 'geogrid/'
  • s_we = 1
  • s_sn = 1
  • out_format = 'WPS'
  • prefix = 'FILE'
  • fg_name = 'FILE'
  • debug_level = 0

9) Cái gì ít khi đụng?

Ít khi đụng

  • active_grid
  • subgrid_ratio_x, subgrid_ratio_y
  • ref_x, ref_y
  • ec_rec_len
  • pmin
  • constants_name
  • process_only_bdy
  • toàn bộ &mod_levs
  • toàn bộ &plotfmt

10) Một mẫu “namelist.wps tối thiểu” thực tế

Đây là kiểu bạn thường sẽ dùng:

&share
 wrf_core = 'ARW',
 max_dom = 1,
 start_date = '2026-05-01_00:00:00',
 end_date   = '2026-05-06_00:00:00',
 interval_seconds = 21600,
 io_form_geogrid = 2,
/

&geogrid
 parent_id         = 1,
 parent_grid_ratio = 1,
 i_parent_start    = 1,
 j_parent_start    = 1,
 e_we              = 120,
 e_sn              = 100,
 geog_data_res     = 'default',
 dx = 15000,
 dy = 15000,
 map_proj = 'lambert',
 ref_lat   = 16.0,
 ref_lon   = 108.0,
 truelat1  = 10.0,
 truelat2  = 20.0,
 stand_lon = 108.0,
 geog_data_path = '/work/tanpv/WPS_GEOG'
/

&ungrib
 out_format = 'WPS',
 prefix = 'FILE',
/

&metgrid
 fg_name = 'FILE',
 io_form_metgrid = 2,
/


11) Cách nhớ đơn giản nhất

&share

khi nào và bao nhiêu miền

&geogrid

miền nằm ở đâu, rộng bao nhiêu, dữ liệu địa lý ở đâu

&ungrib

đọc dữ liệu khí tượng thô ra tên gì

&metgrid

lấy dữ liệu đó để tạo met_em*


12) Khuyến nghị dành riêng cho bạn

Với mục tiêu hiểu đúng rồi mới chạy, tôi khuyên bạn học theo 3 lớp:

Lớp 1: thuộc nhóm tham số

  • thời gian
  • domain
  • geog data
  • met input

Lớp 2: biết tham số nào là bắt buộc

không cố nhớ tất cả trong file all_options

Lớp 3: khi chạy thật

chỉ mở rộng thêm nếu case đặc biệt đòi hỏi

 

 

(GS. TS. Phan Văn Tân)