# DCT **Repository Path**: jhaoli/dct ## Basic Information - **Project Name**: DCT - **Description**: No description available - **Primary Language**: FORTRAN - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-15 - **Last Updated**: 2024-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DCT #### 介绍 此脚本用来计算区域模式的动能谱分析,计算方法采用Denis et al.(2002)的DCT(Discrete Cosine Transform)。一种是用UV风场来计算动能,另一种是通过涡度和散度计算散度和旋转分量的动能。 #### 使用说明 1. 在当前目录下创建build目录,采用CMAKE编译,生成main.exe。 ``` $cd build $FC=ifort cmake .. $make -j4 ``` 2. 修改run目录下namelist.input,读入数据和输出数据。读入数据为二维(lat,lon)的netcdf格式,一般可通过cdo处理,举例见后面。 ``` $cd run $../build/main.exe namelist.input ``` 3. plot_power_div_vor.ncl 画图基于涡度和散度计算的动能谱。 4. plot_power_uv.ncl画图基于uv风场计算的动能谱。 #### 举例 已有GRAPES的气压层二进制数据 1. 首先用CDO将其转换为netcdf格式: ``` $cdo -f nc import_binary post.ctl_2022072000_024 tmp.nc ``` 2. 选择变量uv和层次 ``` $cdo -selvar,u,v -sellevel,200 tmp.nc uv_200hPa.nc ``` 3. 选择计算区域 ``` $cdo -sellonlatbox,60,150,10,50 uv_200hPa.nc uv_200hPa_region.nc ``` 4. 删除时间、层次维度,只剩uv变量的二维 ``` $ncwa -O -a time uv_200hPa_region.nc uv_200hPa_region.nc $ncwa -o -a lev uv_200hPa_region.nc uv_200hPa_region.nc ``` #### 联系方式 lijh@cma.gov.nc 李江浩