This commit is contained in:
2026-03-10 10:47:34 +08:00
parent 012fa9c6d8
commit ae0e98c9ee
12 changed files with 630883 additions and 8 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

10
job.log
View File

@@ -1,15 +1,15 @@
# 输入网格文件 # 输入网格文件
input-grid = data/Inner_Mongolia_Cut/air_mag_inner_mongolia_cut.nc input-grid = data/Inner_Mongolia_2025/emag2v3_innermongolia_west.nc
output-grid = data/Inner_Mongolia_Cut/air_mag_inner_mongolia_cut_DRTP.nc output-grid = data/Inner_Mongolia_2025/emag2v3_innermongolia_west_DRTP.nc
grid-para = x,y,deltaT grid-para = x,y,z
# 是否调用geomag计算正常场的倾角与偏角 # 是否调用geomag计算正常场的倾角与偏角
call-geomag = yes call-geomag = yes
# geomag程序地址 # geomag程序地址
geomag-exe = geomag70_linux/geomag70 geomag-exe = geomag70_linux/geomag70
# geomag参数 # geomag参数
geomag-para = 2019,8,22 D M500 geomag-para = 2019,8,22 D M4000
# geomag输出文件 # geomag输出文件
geomag-output = data/Inner_Mongolia_Cut/geomag_inner_mongolia_cut.txt geomag-output = data/Inner_Mongolia_2025/geomag_inner_mongolia_2025.txt
# IGRF模型 # IGRF模型
IGRF = geomag70_linux/IGRF13.COF IGRF = geomag70_linux/IGRF13.COF
# Taylor展开阶数 # Taylor展开阶数

View File

@@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
export DYLD_LIBRARY_PATH=/usr/local/lib:/opt/homebrew/lib:$DYLD_LIBRARY_PATH
exe=./build/bin/drtp exe=./build/bin/drtp
if [[ ${1} == "benchmark" ]]; then if [[ ${1} == "benchmark" ]]; then
@@ -50,4 +52,24 @@ cat <<- EOF > job.log
taylor-order = 3 taylor-order = 3
EOF EOF
${exe} job.log && ncview data/Inner_Mongolia_Cut/air_mag_inner_mongolia_cut_DRTP.nc ${exe} job.log && ncview data/Inner_Mongolia_Cut/air_mag_inner_mongolia_cut_DRTP.nc
elif [[ ${1} == "mongolia2025" ]]; then
cat <<- EOF > job.log
# 输入网格文件
input-grid = data/Inner_Mongolia_2025/emag2v3_innermongolia_west.nc
output-grid = data/Inner_Mongolia_2025/emag2v3_innermongolia_west_DRTP.nc
grid-para = x,y,z
# 是否调用geomag计算正常场的倾角与偏角
call-geomag = yes
# geomag程序地址
geomag-exe = geomag70_linux/geomag70
# geomag参数
geomag-para = 2019,8,22 D M4000
# geomag输出文件
geomag-output = data/Inner_Mongolia_2025/geomag_inner_mongolia_2025.txt
# IGRF模型
IGRF = geomag70_linux/IGRF13.COF
# Taylor展开阶数
taylor-order = 3
EOF
${exe} job.log && ncview data/Inner_Mongolia_2025/emag2v3_innermongolia_west_DRTP.nc
fi fi

View File

@@ -5,7 +5,7 @@ if(${GCTL_VERSION} LESS 1.0)
endif() endif()
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11 -O2") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++17 -O2 -Wno-missing-template-arg-list-after-template-kw")
aux_source_directory(. SRC_DIR) aux_source_directory(. SRC_DIR)
add_executable(drtp ${SRC_DIR}) add_executable(drtp ${SRC_DIR})

View File

@@ -20,7 +20,21 @@ void DRTP::ReadGrid()
} }
ingrid_name_ = gopt_.get_value(GRIDIN); ingrid_name_ = gopt_.get_value(GRIDIN);
gctl::read_netcdf_grid(ingrid_name_, in_lon_, in_lat_, grid_, netcdf_lon_name_, netcdf_lat_name_, netcdf_data_name_);
gctl::_2d_matrix tmp_grid;
gctl::read_netcdf_grid(ingrid_name_, in_lon_, in_lat_, tmp_grid, netcdf_lon_name_, netcdf_lat_name_, netcdf_data_name_);
// 临时修改 将grid_从左上到右下改为左下到右上
grid_.resize(tmp_grid.row_size(), tmp_grid.col_size());
int rnum = tmp_grid.row_size();
for (int i = 0; i < tmp_grid.row_size(); i++)
{
for (int j = 0; j < tmp_grid.col_size(); j++)
{
grid_[i][j] = tmp_grid[rnum - 1 - i][j];
}
}
rtp_.resize(grid_.row_size(), grid_.col_size(), NAN); rtp_.resize(grid_.row_size(), grid_.col_size(), NAN);
rsize_ = in_lat_.size(); rsize_ = in_lat_.size();

View File

@@ -3,7 +3,7 @@
#include "gctl/core.h" #include "gctl/core.h"
#include "gctl/utility.h" #include "gctl/utility.h"
#include "gctl/io.h" #include "gctl/io.h"
#include "gctl/algorithm.h" #include "gctl/math.h"
#include "complex" #include "complex"
#include "fftw3.h" #include "fftw3.h"
#include "stdlib.h" #include "stdlib.h"