mirror of
https://git.gfz-potsdam.de/naaice/poet.git
synced 2025-12-16 12:54:50 +01:00
Refactor code according to static analyzers
This commit is contained in:
parent
8d254f334e
commit
b8fd16a8d9
@ -13,8 +13,6 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
constexpr uint32_t MB_FACTOR = 1E6;
|
||||
|
||||
std::vector<double>
|
||||
inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
|
||||
const std::vector<double> &from,
|
||||
@ -22,20 +20,21 @@ inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
|
||||
const std::vector<std::vector<double>> &output) {
|
||||
std::vector<double> results = from;
|
||||
|
||||
const std::uint32_t buffer_size = input.size() + 1;
|
||||
double buffer[buffer_size];
|
||||
double from_rescaled;
|
||||
// const std::uint32_t buffer_size = input.size() + 1;
|
||||
// double buffer[buffer_size];
|
||||
// double from_rescaled;
|
||||
|
||||
const std::uint32_t data_set_n = input.size();
|
||||
double rescaled[to_calc.size()][data_set_n + 1];
|
||||
double weights[data_set_n];
|
||||
|
||||
// rescaling over all key elements
|
||||
for (int key_comp_i = 0; key_comp_i < to_calc.size(); key_comp_i++) {
|
||||
for (std::uint32_t key_comp_i = 0; key_comp_i < to_calc.size();
|
||||
key_comp_i++) {
|
||||
const auto output_comp_i = to_calc[key_comp_i];
|
||||
|
||||
// rescale input between 0 and 1
|
||||
for (int point_i = 0; point_i < data_set_n; point_i++) {
|
||||
for (std::uint32_t point_i = 0; point_i < data_set_n; point_i++) {
|
||||
rescaled[key_comp_i][point_i] = input[point_i][key_comp_i];
|
||||
}
|
||||
|
||||
@ -46,7 +45,7 @@ inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
|
||||
const double max = *std::max_element(rescaled[key_comp_i],
|
||||
rescaled[key_comp_i] + data_set_n + 1);
|
||||
|
||||
for (int point_i = 0; point_i < data_set_n; point_i++) {
|
||||
for (std::uint32_t point_i = 0; point_i < data_set_n; point_i++) {
|
||||
rescaled[key_comp_i][point_i] =
|
||||
((max - min) != 0
|
||||
? (rescaled[key_comp_i][point_i] - min) / (max - min)
|
||||
@ -58,9 +57,10 @@ inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
|
||||
|
||||
// calculate distances for each data set
|
||||
double inv_sum = 0;
|
||||
for (int point_i = 0; point_i < data_set_n; point_i++) {
|
||||
for (std::uint32_t point_i = 0; point_i < data_set_n; point_i++) {
|
||||
double distance = 0;
|
||||
for (int key_comp_i = 0; key_comp_i < to_calc.size(); key_comp_i++) {
|
||||
for (std::uint32_t key_comp_i = 0; key_comp_i < to_calc.size();
|
||||
key_comp_i++) {
|
||||
distance += std::pow(
|
||||
rescaled[key_comp_i][point_i] - rescaled[key_comp_i][data_set_n], 2);
|
||||
}
|
||||
@ -75,7 +75,8 @@ inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
|
||||
// bool has_h = false;
|
||||
// bool has_o = false;
|
||||
|
||||
for (int key_comp_i = 0; key_comp_i < to_calc.size(); key_comp_i++) {
|
||||
for (std::uint32_t key_comp_i = 0; key_comp_i < to_calc.size();
|
||||
key_comp_i++) {
|
||||
const auto output_comp_i = to_calc[key_comp_i];
|
||||
double key_delta = 0;
|
||||
|
||||
@ -87,7 +88,7 @@ inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
|
||||
// has_o = true;
|
||||
// }
|
||||
|
||||
for (int j = 0; j < data_set_n; j++) {
|
||||
for (std::uint32_t j = 0; j < data_set_n; j++) {
|
||||
key_delta += weights[j] * output[j][output_comp_i];
|
||||
}
|
||||
|
||||
@ -157,7 +158,7 @@ inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
|
||||
poet::ChemistryModule::ChemistryModule(
|
||||
uint32_t wp_size_, const InitialList::ChemistryInit chem_params,
|
||||
MPI_Comm communicator)
|
||||
: params(chem_params), wp_size(wp_size_), group_comm(communicator) {
|
||||
: group_comm(communicator), wp_size(wp_size_), params(chem_params) {
|
||||
MPI_Comm_rank(communicator, &comm_rank);
|
||||
MPI_Comm_size(communicator, &comm_size);
|
||||
|
||||
@ -306,9 +307,9 @@ void poet::ChemistryModule::initializeInterp(
|
||||
|
||||
if (key_species.empty()) {
|
||||
map_copy = this->dht->getKeySpecies();
|
||||
for (std::size_t i = 0; i < map_copy.size(); i++) {
|
||||
for (auto i = 0; i < map_copy.size(); i++) {
|
||||
const std::uint32_t signif =
|
||||
map_copy[i] - (map_copy[i] > InterpolationModule::COARSE_DIFF
|
||||
static_cast<std::uint32_t>(map_copy[i]) - (map_copy[i] > InterpolationModule::COARSE_DIFF
|
||||
? InterpolationModule::COARSE_DIFF
|
||||
: 0);
|
||||
map_copy[i] = signif;
|
||||
|
||||
@ -69,7 +69,8 @@ public:
|
||||
auto GetChemistryTime() const { return this->chem_t; }
|
||||
|
||||
void setFilePadding(std::uint32_t maxiter) {
|
||||
this->file_pad = std::ceil(std::log10(maxiter + 1));
|
||||
this->file_pad =
|
||||
static_cast<std::uint8_t>(std::ceil(std::log10(maxiter + 1)));
|
||||
}
|
||||
|
||||
struct SurrogateSetup {
|
||||
@ -365,7 +366,7 @@ protected:
|
||||
|
||||
bool print_progessbar{false};
|
||||
|
||||
std::uint32_t file_pad{1};
|
||||
std::uint8_t file_pad{1};
|
||||
|
||||
double chem_t{0.};
|
||||
|
||||
|
||||
@ -20,8 +20,8 @@ void InitialList::importList(const Rcpp::List &setup) {
|
||||
|
||||
Rcpp::NumericVector grid_specs =
|
||||
setup[static_cast<int>(ExportList::GRID_SPECS)];
|
||||
this->n_rows = grid_specs[0];
|
||||
this->n_cols = grid_specs[1];
|
||||
this->n_rows = static_cast<std::uint32_t>(grid_specs[0]);
|
||||
this->n_cols = static_cast<std::uint32_t>(grid_specs[1]);
|
||||
|
||||
Rcpp::NumericVector spatial =
|
||||
setup[static_cast<int>(ExportList::GRID_SPATIAL)];
|
||||
|
||||
@ -92,13 +92,13 @@ private:
|
||||
|
||||
void prepareGrid(const Rcpp::List &grid_input);
|
||||
|
||||
std::uint8_t dim;
|
||||
std::uint8_t dim{0};
|
||||
|
||||
std::uint32_t n_cols;
|
||||
std::uint32_t n_rows;
|
||||
std::uint32_t n_cols{0};
|
||||
std::uint32_t n_rows{0};
|
||||
|
||||
double s_cols;
|
||||
double s_rows;
|
||||
double s_cols{0};
|
||||
double s_rows{0};
|
||||
|
||||
std::vector<std::uint32_t> constant_cells;
|
||||
std::vector<double> porosity;
|
||||
|
||||
@ -85,7 +85,7 @@ private:
|
||||
* @brief time spent for transport
|
||||
*
|
||||
*/
|
||||
double transport_t = 0.f;
|
||||
double transport_t = 0.;
|
||||
};
|
||||
} // namespace poet
|
||||
|
||||
|
||||
@ -25,10 +25,6 @@ int main(int argc, char **argv) {
|
||||
|
||||
Rcpp::List setup = R["setup"];
|
||||
|
||||
// Rcpp::List grid = R.parseEval("setup$grid");
|
||||
|
||||
// Rcpp::List results;
|
||||
|
||||
poet::InitialList init(R);
|
||||
|
||||
init.initializeFromList(setup);
|
||||
|
||||
14
src/poet.cpp
14
src/poet.cpp
@ -76,8 +76,7 @@ void writeFieldsToR(RInside &R, const Field &trans, const Field &chem) {
|
||||
|
||||
enum ParseRet { PARSER_OK, PARSER_ERROR, PARSER_HELP };
|
||||
|
||||
ParseRet parseInitValues(char **argv, RInsidePOET &R,
|
||||
RuntimeParameters ¶ms) {
|
||||
ParseRet parseInitValues(char **argv, RuntimeParameters ¶ms) {
|
||||
// initialize argh object
|
||||
argh::parser cmdl(argv);
|
||||
|
||||
@ -222,7 +221,7 @@ ParseRet parseInitValues(char **argv, RInsidePOET &R,
|
||||
return ParseRet::PARSER_OK;
|
||||
}
|
||||
|
||||
static Rcpp::List RunMasterLoop(RInside &R, const RuntimeParameters ¶ms,
|
||||
static Rcpp::List RunMasterLoop(const RuntimeParameters ¶ms,
|
||||
DiffusionModule &diffusion,
|
||||
ChemistryModule &chem) {
|
||||
|
||||
@ -230,8 +229,6 @@ static Rcpp::List RunMasterLoop(RInside &R, const RuntimeParameters ¶ms,
|
||||
* master for the following loop) */
|
||||
uint32_t maxiter = params.timesteps.size();
|
||||
|
||||
double sim_time = .0;
|
||||
|
||||
if (params.print_progressbar) {
|
||||
chem.setProgressBarPrintout(true);
|
||||
}
|
||||
@ -241,7 +238,6 @@ static Rcpp::List RunMasterLoop(RInside &R, const RuntimeParameters ¶ms,
|
||||
double dSimTime{0};
|
||||
for (uint32_t iter = 1; iter < maxiter + 1; iter++) {
|
||||
double start_t = MPI_Wtime();
|
||||
uint32_t tick = 0;
|
||||
|
||||
const double &dt = params.timesteps[iter - 1];
|
||||
|
||||
@ -325,8 +321,6 @@ static Rcpp::List RunMasterLoop(RInside &R, const RuntimeParameters ¶ms,
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
double dSimTime, sim_end;
|
||||
|
||||
int world_size;
|
||||
|
||||
MPI_Init(&argc, &argv);
|
||||
@ -343,7 +337,7 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
RuntimeParameters run_params;
|
||||
|
||||
switch (parseInitValues(argv, R, run_params)) {
|
||||
switch (parseInitValues(argv, run_params)) {
|
||||
case ParseRet::PARSER_ERROR:
|
||||
case ParseRet::PARSER_HELP:
|
||||
MPI_Finalize();
|
||||
@ -401,7 +395,7 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
chemistry.masterSetField(init_list.getInitialGrid());
|
||||
|
||||
Rcpp::List profiling = RunMasterLoop(R, run_params, diffusion, chemistry);
|
||||
Rcpp::List profiling = RunMasterLoop(run_params, diffusion, chemistry);
|
||||
|
||||
MSG("finished simulation loop");
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user