---
# System prepended metadata

title: WRF

---

# WRF

如果尚未登入，請登入 Rancher 並參考 [Rancher 教學文件](https://hackmd.io/@hoover0201/Bk2QcEj7A)。

WRF（Weather Research and Forecasting Model）是一款廣泛使用的數值天氣預報和大氣研究模型。它被設計來用於服務於氣象研究和運氣預報的多種需要，包括對流尺度預報、氣候研究及氣象教學等，本文**WRF版本為1.0.0**
## 版本要求
**Kubernetes 1.25+ 
Rancher 2.7.3+**
## 主要功能 ##
* 多用途性和廣泛應用：WRF適用於從小尺度（數公里或更小）到中尺度（上千公里）的模擬，能夠進行天氣預報、氣候研究和大氣污染模擬等多種應用。
* 先進的物理引擎：WRF擁有多種物理選項，包括對流參數化、雲微物理過程、輻射傳輸和地表處理等，這使得模型可以根據不同的研究需要調整。
* 實時和回溯天氣模擬：WRF可以進行實時天氣預報模擬，也可以用於進行歷史天氣事件的回溯分析。
## Notes #
* **CPU**:建議使用多核心處理器，例如 AMD EPYC 或 Intel Xeon。
* **Memory**:最少需要4GB的RAM，如果是規模較大的模擬建議使用16GB
* **MPI支持**:如果使用多節點進行WRF模擬，需要確保系統支援消息傳遞介面(MPI)以實現有效的平行計算。


# 請按照以下步驟部署 
## 選擇要部署的應用程式 ##
選擇使用者所創建的**namespace**(1)、點選**Apps**(2)、點選**Charts**(3)、點選**Hpc-apps**(4)、點選**WRF**(5)
![螢幕擷取畫面 2024-05-30 095739](https://hackmd.io/_uploads/BkRn6LrNC.png)



## 選擇應用程式版本 ##
選擇需要的應用程式版本"**Chart Versions**"(1)，點選**Install**(2)
![螢幕擷取畫面 2024-05-30 100109](https://hackmd.io/_uploads/ryBIAIr4C.png)






## 安裝應用程式 ##
在"**name**"裡輸入使用者想要的name(1)，如果沒有勾選"**Custom Helm options before install**"(2)請直接按下**Next**(3)。
![螢幕擷取畫面 2024-05-30 100935](https://hackmd.io/_uploads/HJzulDrEA.png)




## 編輯選項 ##

在 安裝WRF的過程中可以看到以下編輯選項：General、Input/Output Data。這些選項可協助使用者配置和管理應用程式的各種參數。

以下是這些選項的詳細說明及其配置方法:
### 通用設定
* **Name**:填入使用者的應用程式或服務的名稱。
* **Worker Replicas**:指應用程式在節點的數量。
* **CPU Minimum Require for Master** :運行集群控制所需的最少 CPU 資源。
* **Memory Minimum Require for Master**:集群控制所需要的最低內存量。
* **GPU Minimum Require for Master**:運行集群控制所需的最少 GPU 資源。
* **CPU Minimum Require for worker**:每個 worker 節點在運行應用程序和處理工作負載時所需的最低 CPU 資源配置。
* **Memory Minimum Require for worker**:每個 worker 節點在運行應用程序和處理工作負載時所需的最低內存資源配置。
* **GPU Minimum Require for Worker**:每個 worker 節點運行應用程序和處理工作負載所需的最低 GPU 資源配置。
* ![螢幕擷取畫面 2024-05-30 101343](https://hackmd.io/_uploads/BJPlWDH4A.png)





### 輸出/輸入資料
* **SubPath-WPS** (Weather Preprocessing System) 是WRF模型前處理的一部分，用於準備氣象數據（如地形、土地使用和氣象條件），以供WRF模型使用。此路徑下存儲的是WPS處理的產出。。
* **SubPath-WPF** WRF 這一階段指的是實際的天氣預報模型運行，進行氣象數據的動態模擬。此路徑下存儲的是WRF模擬的結果，如風速、氣溫等預報數據。
* **SubPath - Data Assimilation** :此路徑下存儲的是數據同化處理的輸出。
* **SubPath - Postprocess** :指的是對WRF模型輸出的後處理階段，例如數據格式轉換、統計分析或生成易於理解的圖形輸出。此路徑用於存儲這些後處理產出。
* **SubPath - Graphics** :此路徑用於存儲模型輸出數據的視覺化圖片。

配置完後點選右下角的"Install"

![螢幕擷取畫面 2024-05-30 101925](https://hackmd.io/_uploads/Sy-8zDr4A.png)




## 安裝前自訂 Helm 選項 ##
如果勾選了"Custom Helm options before install"，使用者可以看到以下額外的配置選項，這些選項可以對Helm chart的安裝過程進行細微的控制：
* **Apply Custom Resource Definitions**: 勾選此選項允許 Rancher 自動應用 Helm chart 中包含的自定義資源定義(CRDs)。
* **Execute Chart Hooks**：選此選項允許 Rancher 執行 Helm chart 中定義的 hooks。Hooks 是 Helm 提供的一種機制，可在部署的不同階段（如安裝前、安裝後）自動執行腳本或命令，用於執行額外的配置或清理任務。
* **Validate OpenAPI Schema**：勾選此選項將啟用 OpenAPI schema 驗證，以確保 Helm chart 中的資源定義符合 Kubernetes API 的 schema 要求。
* **Wait**：勾選此選項會讓 Rancher 在 Helm chart 安裝過程中等待，直到所有資源都準備就緒並且處於預期的運行狀態。

最後點選右下角的"install"後開始安裝WRF
![螢幕擷取畫面 2024-06-04 165905](https://hackmd.io/_uploads/rJKuDL2NR.png)




## 等待應用程式安裝 ##

點選install後，將看到安裝日誌，看到"successful:helm install"且state為deployed。

![螢幕擷取畫面 2024-05-30 143354](https://hackmd.io/_uploads/Sk9gRqBN0.png)

左側點選jobs，確認WRF的job成功執行。
![螢幕擷取畫面 2024-06-04 151107](https://hackmd.io/_uploads/rJCB0V2VC.png)

## HPC-Desktop ##
HPC-Desktop提供了一種安全、靈活的方法來連接和控制遠端的HPC系統，使用者無需身處實驗室或辦公室即可執行複雜的計算任務。

**以下是安裝HPC-Desktop的步驟**

***Step1***
點選Charts(1)、輸入HPC Desktop(2)、點選HPC Desktop(3)
![螢幕擷取畫面 2024-05-31 152036](https://hackmd.io/_uploads/HkAqcxPNA.png)
***Step2***
點選右上角的Install
![螢幕擷取畫面 2024-05-31 152357](https://hackmd.io/_uploads/B1YcsxPEC.png)
***Step3***
**Name**中輸入使用者想要的name，接著點選Next
![螢幕擷取畫面 2024-05-31 152748](https://hackmd.io/_uploads/Bk5XnxvE0.png)
***Step4***
在**Service**中填入使用者想要的URL。
![螢幕擷取畫面 2024-05-31 153544](https://hackmd.io/_uploads/rJqMAxvEC.png)
***Step5***
**Input/Output Data**的**NFS Server**需要修改為"/demo/HPC_12T/WRF/snow"
![螢幕擷取畫面 2024-05-31 170554](https://hackmd.io/_uploads/HJNGmMPER.png)


***Step6***
接著到**Advanced**中選擇對應的HPC-APPS，這邊就是WRF，最後點選右下角的install。
![螢幕擷取畫面 2024-05-31 163658](https://hackmd.io/_uploads/SymHh-wV0.png)

***Step7***
點選Jobs(1)、接著點選Console下的Open with VNC(2)
![螢幕擷取畫面 2024-05-31 180326](https://hackmd.io/_uploads/SJFE-7P40.png)

***Step8***
點選連線、接著點選noVNC Full Client、輸入密碼:headless、最後點選**Send Credentials**
![螢幕擷取畫面 2024-05-31 181555](https://hackmd.io/_uploads/H1FFQQv4A.png)
















