๋ฐ์ํ
# installation ์ ํ์ํ dependencies๋ฅผ ๋ง์ถฐ์ฃผ์
conda install -c conda-forge wrf-python
pip install xarray
conda config --add channels conda-forge
conda install -c conda-forge pynio #error
pywrf OffshoreWindPy #version error
#---------------์ฌ๊ธฐ๋ ์ด์ํ๊ฒ ์ ์๊น๋ ค์ ๋ฐ๋ก ๋์๋ค
pip install netCDF4 PyWind FLORIS nemo pygeogrids
conda install -c conda-forge eccodes
pip install pygrib
pip install waves
์ ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ด๊ฑฐ ์ ๊ฑฐ ํ ์คํธ ํ์ ๋ python 3.10 ๋ฒ์ ์ด ํธํ์ฑ์ด ์ข์์ 3.10์ผ๋ก ํ๊ฒฝ์ ๊ณ ์ ํ๋ค.
conda create -n <environment_name> python=3.10
conda activate <environment_name>
conda install -c anaconda pip
conda config --set pip_interop_enabled true
# to deactivate
conda deactivate
ํ๊ฒฝ์ ์๋์ฝ๋ค๋ก ~~
์ถํ ํ๊ฒฝ์ด๋ ๊ธฐ๋ณธ์ ์ธ ํด์ ๋ฐ๋ก ์ฌ๋ฆด ์์ ์ ๋๋ค์ด
์ผ๋ฐ ์๋ฃ ๋ถ์ ๋ฐ ์๊ฐํ / Basic data analysis & Visualization
pip install numpy scipy Pandas Matplotlib Seaborn
- numpy ๋ฐฐ์ด ๊ณ์ฐ
- scipy ์ํ, ๊ณผํ, ๊ณตํ ๋ฑ ๊ณ ๊ธ ๊ณ์ฐ
- Pandas ํ ์ด๋ธํ ๋ฐ์ดํฐ
- Matplotlib ๋ค์ํ ๊ทธ๋ํ ๋ฐ ์ฐจํธ ์๊ฐํ
- Seaborn Matplotlib ๊ธฐ๋ฐ ๊ณ ๊ธ ์๊ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ํด์ ์๋ฃ๋ฅผ ๋ฐฐ์ด๋ก → ๋ฐ์ดํฐ ํ๋ ์์ผ๋ก → ๋ถ์ํ๊ณ → ์๊ฐํ ํ๋ ๊ณผ์
์ง๋ฆฌ ๊ณต๊ฐ ๋ฐ์ดํฐ ํํ ๋ฐ ๋ถ์ / Geospatial Data Representation & Analysis
pip install basemap geopy GeoPandas Shapely Rasterio
- basemap ์ง๋๋ ์ด๋ฏธ์ง ์์ฑ mapping tool, + basemap-data-hires
- geopy ๋ค์ํ ์ง์ค์ฝ๋ฉ ๊ธฐ๋ฅ
- GeoPandas Pandas ๊ธฐ๋ฐ ์ง๋ฆฌ ๊ณต๊ฐ ๋ฐ์ดํฐ ๋ถ์
- Shapely ๋ฒกํฐ ์งํ ๋ฐ์ดํฐ ์์
- Rasterio ๋์คํฐ ์ด๋ฏธ์ง ๋ฐ์ดํฐ ์ฒ๋ฆฌ
์๊ณ์ด ๋ฐ์ดํฐ ๋ถ์ / Time Series
pip install datetime Pandas-ta Statsmodels
- datetime ๋ ์ง์ ์๊ฐ ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ
- Pandas-ta Pandas ๊ธฐ๋ฐ ์๊ฐ ๊ณ์ด ๋ฐ์ดํฐ ๋ถ์
- Statsmodels ์๊ฐ ๊ณ์ด ๋ชจ๋ธ๋ง ๋ฐ ๋ถ์
ํด์ํ๋ ฅ ๊ด๋ จ ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ / Related to Offshore Wind Power
# installation ์ ํ์ํ dependencies๋ฅผ ๋ง์ถฐ์ฃผ์
conda install -c conda-forge wrf-python
pip install xarray
conda config --add channels conda-forge
conda install -c conda-forge pynio #error
pywrf OffshoreWindPy #version error
#-------------------์ฌ๊ธด ์ด์ํ๊ฒ ์ ์๊น๋ฆฌ๋ ์ ๋ค
pip install netCDF4 PyWind FLORIS nemo pygeogrids
conda install -c conda-forge eccodes
pip install pygrib
pip install waves
Installation — wrf-python 1.3.4.1 documentation
- netCDF4 - NetCDF ํ์ผ ๋ค๋ฃจ๊ธฐ ์ํด. Xarray๋ ์ ์ฌ
- PyWind - ํ๋ ฅ ๋ฐ์ ๋ถ์ ๋ฐ ์ค๊ณ
- OffshoreWindPy - ํด์ํ๋ ฅ ๋ฐ์ ํนํ https://github.com/NREL/WAVES
- FLORIS - ํ๋ ฅ ํฐ๋น ๋ฐฐ์ด ์ต์ ํ
- pywrf - WPS ๊ธฐ๋ฐ์ ๋๊ธฐ ๋ชจ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- pygrib - GRIB ํ์ผ์ ๋ค๋ฃจ๊ธฐ ์ํ
- pygeogrids - ํด์ ๊ฒฉ์๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ
- nemo - ํด์ ํ๋ ฅ ๋ฐ์ ์์คํ ์๋ฎฌ๋ ์ด์ , openfoam ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ
- pywrf ๋ฅผ ์ฌ์ฉํ์ฌ ํด์ ํ๋ ฅ ๋ฐ์ ์ ํ์ํ ๊ธฐ์ ์ ๋ณด ๊ณ์ฐ,
pygrib ์ฌ์ฉ, ๊ธฐ์ ์์ธก ์ ๋ณด ์์ฐ ๋ฐ ํด์.
pygeogrid๋ฅผ ์ฌ์ฉํ์ฌ ํด์ ๊ฒฉ์๋ฅผ ์์ฑ, ๊ด๋ฆฌ
๊ธฐํ ์ถ๊ฐ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ / Additional Library
pip install OpenFOAM PyMesh
- openFOAM ์ ์ฐ ์ ์ฒด ์ญํ CFD ์๋ฎฌ๋ ์ด์
- PyMesh 3D ๋ฉ์ฌ ์์ฑ ๋ฐ ์ฒ๋ฆฌ
์ถ๊ฐ๋ก wind energy research ๊ด๋ จ open source codes
๋๋ณด๊ธฐ
https://github.com/thw1021/Code4WindEnergy
- IEA-15-240-RWT - IEA Wind์ ํ๋ ฅํ์ฌ ๊ฐ๋ฐ๋ 15 MW ์ฐธ์กฐ ํ๋ ฅ ํฐ๋น ์ ์ฅ์์ ๋๋ค.
- makani - ์์ ๊ท๋ชจ์ ๊ณต์ค ํ๋ ฅ ํฐ๋น ๊ฐ๋ฐ ํ๋ก์ ํธ๋ก, ๋ ธ๋ฅด์จ์ด ํด์์์ Makani M600์ ๋นํ ํ ์คํธ๋ก ์ด์ด์ก์ต๋๋ค.
- windpowerlib - ํ๋ ฅ ํฐ๋น ๋ฐ ๋์ฅ์ ์ถ๋ ฅ์ ๋ชจ๋ธ๋งํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
- turbinesFoam - ์ก์ถ์์ดํฐ ๋ผ์ธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ OpenFOAM์์ ํ๋ ฅ ๋ฐ ํด์ ์๋ ฅ ํฐ๋น์ ์๋ฎฌ๋ ์ด์ ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
- nalu-wind - ์ด๋ํ ์ปดํจํ ํ๋ซํผ์ ๋ชฉํ๋ก ํ๋ ํ๋ ฅ ๋์ฅ ์๋ฎฌ๋ ์ด์ ์ ์ํ ์๋ฒ์ ๋๋ค.
- openfast - ์ฐ๊ตฌ์, ํ๊ณ ๋ฐ ์ฐ์ ์์ ์ฌ์ฉ๋ ์ ์๋ ์ปค๋ฎค๋ํฐ ๋ชจ๋ธ๋ก ๊ฐ๋ฐ๋ ํ๋ก์ ํธ์ ๋๋ค.
- amr-wind - ํ๋ ฅ ํฐ๋น ๋ฐ ํ๋ ฅ ๋์ฅ ์๋ฎฌ๋ ์ด์ ์ ์ํ ๋๊ท๋ชจ ๋ณ๋ ฌ ๋ธ๋ก ๊ตฌ์กฐ์ ์ ์ํ ๋ฉ์๋ฅผ ๊ฐ์ง ๋น์์ถ์ฑ ํ๋ฆ ์๋ฒ์ ๋๋ค.
- QBlade - HAWT ๋ฐ VAWT ๋กํฐ ์ค๊ณ๋ฅผ ์ํ ์ค์ต ์ค๊ณ ๋ฐ ์๋ฎฌ๋ ์ด์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ์ค๊ณ ๊ฐ๋ ๋ฐ ํฐ๋น ์ฑ๋ฅ์ ๊ธฐ๋ณธ ๊ด๊ณ๋ฅผ ์ฝ๊ฒ ์ง๊ด์ ์ผ๋ก ๋ณด์ฌ์ค๋๋ค.
- OpenOA - ํ๋ ฅ ๋ฐ์ ์์์ ๋๊ท๋ชจ ์๊ณ์ด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ํ๋ ์์ํฌ๋ฅผ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค(์: SCADA).
- ROSCO - ํ๋ ฅ ํฐ๋น ์์ฉ ํ๋ก๊ทธ๋จ์ ์ํ NREL์ ์ฐธ์กฐ ์คํ ์์ค ์ปจํธ๋กค๋ฌ์ ๋๋ค.
- floris - ์ ์ด ์งํฅ ์์ง๋์ด๋ง ์จ์ดํฌ ๋ชจ๋ธ์ ๋๋ค.
- windtools - ํ๋ ฅ ์๋์ง ์๋ฎฌ๋ ์ด์ ์ ์ง์ํ๋ ์ ์ฉํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ ํ๋ ฅ ์๋์ง ์์ฑ ๋๊ตฌ์ ๋๋ค.
- PyWake - Python์ผ๋ก ๊ตฌํ๋ ํ๋ ฅ ๋์ฅ AEP ๊ณ์ฐ๊ธฐ์ด๋ฉฐ, ๋ค์ํ ์จ์ดํฌ ๋ชจ๋ธ์ ํฌํจํ๊ณ ์์ต๋๋ค.
- WISDEM - ํ๋ ฅ ๋ฐ์ ํตํฉ ์์คํ ์ค๊ณ ๋ฐ ์์ง๋์ด๋ง ๋ชจ๋ธ์ ๋๋ค.
- LandBOSSE - ์ก์ ์์คํ ์์ง๋์ด๋ง ๋ชจ๋ธ๋ก, ์ ํธ๋ฆฌํฐ ๊ท๋ชจ์ ํ๋ ฅ ๋ฐ์ ์(10๋, 1.5 MW ํฐ๋น ์ด์) ์ค์น์ ๊ด๋ จ๋ ์์คํ ์์ง๋์ด๋ง ๋๊ตฌ์ ๋๋ค.
- OpenMDAO - ๊ณต๊ธฐ์ญํ ์์คํ ์ ์ต์ ํ ๋๊ตฌ์ ๋๋ค.
- TopFarm2 - DTU ํ๋ ฅ ์๋์ง๋ฅผ ์ํด ๊ฐ๋ฐ๋ ํ๋ ฅ ๋์ฅ ์ต์ ํ๋ฅผ ๋์์ฃผ๋ Python ํจํค์ง์ ๋๋ค.
- BasicDTUController - ํ๋ ฅ ์๋์ง ์ปค๋ฎค๋ํฐ๊ฐ ์ฐธ์กฐ๋ก ์ฌ์ฉํ ์ ์๋ ์คํ ์์ค, ์คํ ์ก์ธ์ค ์ปจํธ๋กค๋ฌ๋ฅผ ์ ๊ณตํ๋ ํ๋ก์ ํธ์ ๋๋ค.
- WindEnergyToolbox - HAWC2, HAWCStab2, FAST ๋๋ ๊ธฐํ ํ ์คํธ ์ ๋ ฅ ๊ธฐ๋ฐ ์๋ฎฌ๋ ์ด์ ๋๊ตฌ์ ์์ ์ ์ฉ์ดํ๊ฒ ํ๋ Python ์คํฌ๋ฆฝํธ ๋ชจ์์ ๋๋ค.
- windfarmGA - ํ๋ ฅ ๋์ฅ์ ๋ ์ด์์์ ์ต์ ํํ๊ธฐ ์ํ ์ ์ ์ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
- wtphm - ํ๋ ฅ ํฐ๋น ์ด๋ฒคํธ ๋ฐ์ดํฐ ๋ฐ ์ด์ SCADA ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ์ฌ ๊ฒฐํจ ํ์ง, ์์ธก ๋๋ ์ ๋ขฐ์ฑ ์ฐ๊ตฌ๋ฅผ ์ฉ์ดํ๊ฒ ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
- AirfoilPreppy - ์ฃผ๋ก ํ๋ ฅ ํฐ๋น ์์ฉ ํ๋ก๊ทธ๋จ์ ์ํ ๊ณต๊ธฐ ์ญํ์ ์์ดํฌ์ผ ๋ฐ์ดํฐ๋ฅผ ์ ์ฒ๋ฆฌํ๊ณ ํ๊ฐํ๋ Python ๋ชจ๋์ ๋๋ค.
- GreenGuard - ํ๋ ฅ ์๋์ง ์์ฐ ์์คํ ๋ชจ๋ํฐ๋ง์์ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ํ๋ ๊ธฐ๊ณ ํ์ต ๋ฌธ์ ์ ๋ํ ์๋ ํฌ ์๋ ์๋ฃจ์ ๋ชจ์์ ๋๋ค.
- pyconturb - ํ๋ ฅ ์๋์ง ์์ฉ์ ์ํ ์ ์ฝ ์กฐ๊ฑด์ด ์๋ ํ๋ฅ ์ ๋๋ฅ ๋ชจ๋ธ์ ๋๋ค.
- ORBIT - ํด์ ํ๋ ฅ ๋ฐ์ ์์ ๊ท ํ ์์คํ (ํฐ๋น ์ธ์ ๋ชจ๋ ๊ฒ) ๋น์ฉ ๋ฐ ํ๋ ์๊ฐ์ ๊ณ์ฐํ๋ ๋๊ตฌ์ ๋๋ค.
- WindTurbineClassification - ํ๋ ฅ ํฐ๋น์ '์ ์' ์๋ ํ๋์ ์ ์ํ์ฌ ์ ์ํ ์ด์ ํ์ง๋ฅผ ์ํ ๋๊ตฌ์ ๋๋ค.
- ANYstructure - ์๋ ์ต์ ํ ๋ฐ ๋ณด๊ณ ์ ์์ฑ์ ์ง์ํ๋ ํด์ ๊ฐ์ฒ ๊ตฌ์กฐ๋ฌผ ๊ณ์ฐ ๋๊ตฌ์ ๋๋ค.
- windrose - ๊ธฐ์ํ์๋ค์ด ํน์ ์์น์์์ ํ์ ๋ฐ ๋ฐฉํฅ์ ์ ํ์ ์ธ ๋ถํฌ๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ๋ณด์ฌ์ฃผ๋ ๊ทธ๋ํฝ ๋๊ตฌ์ ๋๋ค.
- SHARPy - Python์์ ๊ณ ๋น์จ ๋นํ๊ธฐ ๋ฐ ํ๋ ฅ ํฐ๋น ์๋ฎฌ๋ ์ด์ ์ ์ํ ๋๊ตฌ์ ๋๋ค.
- WindSE - FEniCS ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ ฅ ๋์ฅ ์๋ฎฌ๋ ์ด์ ๋ฐ ์ต์ ํ๋ฅผ ์ํํ๋ Python ํจํค์ง์ ๋๋ค.
- WEIS - ๋ถ์ ํ ํด์ ํ๋ ฅ ํฐ๋น์ ์ค๊ณ๋ฅผ ์ต์ ํํ๊ธฐ ์ํด ์ฌ๋ฌ ๋๊ตฌ๋ฅผ ๊ฒฐํฉํ ํ๋ ์์ํฌ์ ๋๋ค.
- HAMS - 3์ฐจ์ ๋ถ์ ๋๋ ์นจ์ ๊ตฌ์กฐ์ ํ๋ ํ์ ๋ฐ ๋ฐฉ์ฌ ๋ถ์์ ์ํ ์คํ ์์ค ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ๋๋ค.
- brightwind - ํ๋ ฅ ์์ ๋ถ์๊ฐ๋ฅผ ์ง์ํ๊ณ ๊ณตํต ์ฐ์ ํ์ค ๋๊ตฌ ์ธํธ๋ฅผ ์๋ฆฝํ๊ธฐ ์ํ Python ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
- VFS-Wind - ์ก์ ๋ฐ ํด์ ํ๋ ฅ ๋์ฅ์ ํฌํจํ ํ๋ ฅ ์๋์ง ์์ฉ์ ์ํ ๋ชจ๋ ํ์ ๋ชจ๋ธ๋ง ๋๊ตฌ๋ฅผ ํฌํจํฉ๋๋ค. ์ฃผ์: ์ด ์ํํธ์จ์ด์ ์ปดํ์ผ์๋ ACML ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํ์ง๋ง ACML์ ๋ ์ด์ ๊ฐ๋ฐ๋์ง ์์ผ๋ฉฐ, ์ด์ ๋ฒ์ ๋ ๋ค์ด๋ก๋ํ ์ ์์ผ๋ฏ๋ก AOCL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผ ํ ์ ์์ต๋๋ค.
- VFS-Geophysics - ์ปค๋ธ ์ขํ๊ณ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ ์ธ๊ฒฝ๊ณ๋ฒ ๋ชจ๋ธ์ ๋๋ค. DNS, K-omega ๋ฐ LES ๋๋ฅ ๋ชจ๋ธ์ ํฌํจํฉ๋๋ค. ์ฃผ์: ์ด ์ํํธ์จ์ด๋ฅผ ์คํํ๋ ค๋ฉด ์ง์ makeFile์ ์์ฑํด์ผ ํฉ๋๋ค. VFS-Geophysics๋ VFS-Wind์ ๊ฐ์ ํ์ ์ํด ๊ฐ๋ฐ๋์์ผ๋ฉฐ, ํ๋ ฅ ๊ธฐ๊ณ ๊ณต๊ธฐ ์ญํ ์๋ฎฌ๋ ์ด์ ์๋ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค.
- WInc3D - ํ๋ ฅ ๋์ฅ ์๋ฎฌ๋ ์ด์ ํ๋ ์์ํฌ๋ฅผ ์ ๊ณตํ๋ฉฐ, ์จ์ดํฌ-ํฌ-์จ์ดํฌ ๋ฐ ํฐ๋น-ํฌ-์จ์ดํฌ ์ํธ์์ฉ์ ๋ํ ์์ธ ๋ถ์์ ํ์ฉํฉ๋๋ค.
- Aerodynamic-Shape-Optimization-of-Savonius-Wind-Turbines-using-Genetic-Algorithm - ์ ์ ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ Savonius ํ๋ ฅ ํฐ๋น์ ๊ณต๊ธฐ์ญํ์ ํ์ ์ต์ ํํ๋ ํ๋ก์ ํธ์ ๋๋ค.
- ExaWind - ํ๋ ฅ ์๋์ง๋ฅผ ์ํ ๋ค์ค ์ถฉ์ค๋ ๋ชจ๋ธ๋ง ๋ฐ ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ์ ๋๋ค. ์ฃผ์: ๋ ผ๋ฌธ์ ๊ด๋ จ๋ ์ฝ๋๊ฐ ๋ง์ผ๋ฏ๋ก ์ง์ ํ์ธํด์ผ ํฉ๋๋ค.
- WindFLO - ํ๋ ฅ ๋์ฅ ๋ ์ด์์ ์ต์ ํ ๋ํ๋ฅผ ์ํ API์ ๋๋ค.
- WindFLO - ํ๋ ฅ ๋์ฅ ๋ ์ด์์ ์ต์ ํ. ์ฃผ์: ์ด ์ํํธ์จ์ด์ ์ด์ ์ํํธ์จ์ด์ ๊ด๊ณ๋ ๋ช ํํ์ง ์์ผ๋ฏ๋ก ์ง์ ํ์ธํด์ผ ํฉ๋๋ค.
- WRF-IBM - ์นจ์ ๊ฒฝ๊ณ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๊ธฐ์ ์ฐ๊ตฌ ๋ฐ ์์ธก ๋ชจ๋ธ์ ๋๋ค.
- CCBlade.jl - ํ๋กํ ๋ฌ ๋ฐ ํฐ๋น์ ์ํ ๋ ๊ฐ ์์ ๋ชจ๋ฉํ ๋ฐฉ๋ฒ์ ๋๋ค.
- HydroFlow-IBM: HydroFlow ์์น ๋ชจ๋ธ์ ๋น๊ตฌ์กฐ์ ๊ฒฉ์ ๋ฐ 2์ฐจ TVD ํ์์ ์ ํ ์ฒด์ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌ์ถ๋๋ฉฐ, ์ฃผ๋ก ์์ฐ ์์ญ๊ณผ ํ๊ฒฝ์ ์ํธ์์ฉ์ ์ฐ๊ตฌํ๋ ์์ ํ๋ฉด ํ๋ฆ์ ๋ฌผ๋ฆฌ์ ๋ฌธ์ ์์น ์๋ฎฌ๋ ์ด์ ์ ์ฌ์ฉ๋ฉ๋๋ค.
๊ฒ๋ ๋ง์ง๋ง ๋ง์ด ์จ์ ์ค์ํ ๊ฒ ์์ฃผ๋ก ํ๊ดํ์ ํด๋์๋ค !! (๋ฌผ๋ก ๋ ์์ง ๋ชจ๋ฆ)
๋ฐ์ํ
'Data Engineering ์ฌ๋ฐ๋ฐ > Ocean Meteorological Data' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํด์๊ธฐ์์ ์ํ NetCDF ๋ค๋ฃจ๊ธฐ (1) | 2024.12.03 |
---|