Skip to content

Commit

Permalink
Update exspec.cc
Browse files Browse the repository at this point in the history
  • Loading branch information
lukeshingles committed Oct 26, 2024
1 parent 02143bf commit 6e757b5
Showing 1 changed file with 30 additions and 29 deletions.
59 changes: 30 additions & 29 deletions exspec.cc
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,13 @@ void do_angle_bin(const int a, Packet *pkts, bool load_allrank_packets, Spectra
if (a == -1 || !load_allrank_packets) {
char pktfilename[MAXFILENAMELENGTH];
snprintf(pktfilename, MAXFILENAMELENGTH, "packets%.2d_%.4d.out", 0, p);
printout("reading %s (file %d of %d)\n", pktfilename, p + 1, globals::nprocs_exspec);
printoutf("reading %s (file %d of %d)\n", pktfilename, p + 1, globals::nprocs_exspec);

if (std::filesystem::exists(pktfilename)) {
read_packets(pktfilename, pkts_start);
} else {
printout(" WARNING %s does not exist - trying temp packets file at beginning of timestep %d...\n",
pktfilename, globals::timestep_initial);
printoutf(" WARNING %s does not exist - trying temp packets file at beginning of timestep %d...\n",
pktfilename, globals::timestep_initial);
read_temp_packetsfile(globals::timestep_initial, p, pkts_start);
}
}
Expand All @@ -74,15 +74,15 @@ void do_angle_bin(const int a, Packet *pkts, bool load_allrank_packets, Spectra
#endif

if (p % globals::nprocs != globals::rank_global) {
printout("skipping packets file %d %d\n", p + 1, globals::nprocs);
printoutf("skipping packets file %d %d\n", p + 1, globals::nprocs);
continue;
}

int nesc_tot = 0;
int nesc_gamma = 0;
int nesc_rpkt = 0;
for (int ii = 0; ii < globals::npkts; ii++) {
// printout("packet %d escape_type %d type %d", ii, pkts[ii].escape_type, pkts[ii].type);
// printoutf("packet %d escape_type %d type %d", ii, pkts[ii].escape_type, pkts[ii].type);
if (pkts_start[ii].type == TYPE_ESCAPE) {
nesc_tot++;
if (pkts_start[ii].escape_type == TYPE_RPKT) {
Expand All @@ -100,8 +100,8 @@ void do_angle_bin(const int a, Packet *pkts, bool load_allrank_packets, Spectra
}
}
if (a == -1 || !load_allrank_packets) {
printout(" %d of %d packets escaped (%d gamma-pkts and %d r-pkts)\n", nesc_tot, globals::npkts, nesc_gamma,
nesc_rpkt);
printoutf(" %d of %d packets escaped (%d gamma-pkts and %d r-pkts)\n", nesc_tot, globals::npkts, nesc_gamma,
nesc_rpkt);
}
}

Expand All @@ -119,7 +119,7 @@ void do_angle_bin(const int a, Packet *pkts, bool load_allrank_packets, Spectra

write_spectrum("gamma_spec.out", "", "", "", gamma_spectra, globals::ntimesteps);

printout("finished angle-averaged stuff\n");
printoutf("finished angle-averaged stuff\n");
} else {
// direction bin a
// line-of-sight dependent spectra and light curves
Expand Down Expand Up @@ -156,7 +156,7 @@ void do_angle_bin(const int a, Packet *pkts, bool load_allrank_packets, Spectra
write_specpol(specpol_filename, emissionpol_filename, absorptionpol_filename, &stokes_i, &stokes_q, &stokes_u);
}

printout("Did %d of %d angle bins.\n", a + 1, MABINS);
printoutf("Did %d of %d angle bins.\n", a + 1, MABINS);
}
}

Expand All @@ -180,51 +180,52 @@ auto main(int argc, char *argv[]) -> int { // NOLINT(misc-unused-parameters)
assert_always(output_file.is_open());
}

printout("git branch %s\n", GIT_BRANCH);
printoutf("git branch %s\n", GIT_BRANCH);

printout("git version: %s\n", GIT_VERSION);
printoutf("git version: %s\n", GIT_VERSION);

printout("git status %s\n", GIT_STATUS);
printoutf("git status %s\n", GIT_STATUS);

printout("exspec compiled at %s on %s\n", __TIME__, __DATE__);
printoutf("exspec compiled at %s on %s\n", __TIME__, __DATE__);

#if defined TESTMODE && TESTMODE
printout("TESTMODE is ON\n");
printoutf("TESTMODE is ON\n");
#endif

#ifdef MPI_ON
printout("process id (pid): %d\n", getpid());
printout("MPI enabled:\n");
printout(" rank_global %d of [0..%d] in MPI_COMM_WORLD\n", globals::rank_global, globals::nprocs - 1);
printout(" rank_in_node %d of [0..%d] in node %d of [0..%d]\n", globals::rank_in_node, globals::node_nprocs - 1,
globals::node_id, globals::node_count - 1);
printoutf("process id (pid): %d\n", getpid());
printoutf("MPI enabled:\n");
printoutf(" rank_global %d of [0..%d] in MPI_COMM_WORLD\n", globals::rank_global, globals::nprocs - 1);
printoutf(" rank_in_node %d of [0..%d] in node %d of [0..%d]\n", globals::rank_in_node, globals::node_nprocs - 1,
globals::node_id, globals::node_count - 1);
#else
printout("MPI is disabled in this build\n");
printoutf("MPI is disabled in this build\n");
#endif

// single rank only for now
assert_always(globals::rank_global == 0);
assert_always(globals::nprocs == 1);

printout("Beginning exspec.\n");
printoutf("Beginning exspec.\n");

// Get input stuff
printout("time before input %ld\n", std::time(nullptr));
printoutf("time before input %ld\n", std::time(nullptr));
input(globals::rank_global);
printout("time after input %ld\n", std::time(nullptr));
printoutf("time after input %ld\n", std::time(nullptr));

// nprocs_exspec is the number of rank output files to process with expec
// however, we might be running exspec with 1 or just a few ranks

auto *pkts = static_cast<Packet *>(malloc(globals::nprocs_exspec * globals::npkts * sizeof(Packet)));
const bool load_allrank_packets = (pkts != nullptr);
if (load_allrank_packets) {
printout("mem_usage: loading %d packets from each %d processes simultaneously (total %d packets, %.1f MB memory)\n",
globals::npkts, globals::nprocs_exspec, globals::nprocs_exspec * globals::npkts,
globals::nprocs_exspec * globals::npkts * sizeof(Packet) / 1024. / 1024.);
printoutf(
"mem_usage: loading %d packets from each %d processes simultaneously (total %d packets, %.1f MB memory)\n",
globals::npkts, globals::nprocs_exspec, globals::nprocs_exspec * globals::npkts,
globals::nprocs_exspec * globals::npkts * sizeof(Packet) / 1024. / 1024.);
} else {
printout("mem_usage: malloc failed to allocate memory for all packets\n");
printout(
printoutf("mem_usage: malloc failed to allocate memory for all packets\n");
printoutf(
"mem_usage: loading %d packets from each of %d processes sequentially (total %d packets, %.1f MB memory)\n",
globals::npkts, globals::nprocs_exspec, globals::nprocs_exspec * globals::npkts,
globals::nprocs_exspec * globals::npkts * sizeof(Packet) / 1024. / 1024.);
Expand Down Expand Up @@ -252,7 +253,7 @@ auto main(int argc, char *argv[]) -> int { // NOLINT(misc-unused-parameters)

free(pkts);
decay::cleanup();
printout("exspec finished at %ld (tstart + %ld seconds)\n", std::time(nullptr), std::time(nullptr) - sys_time_start);
printoutf("exspec finished at %ld (tstart + %ld seconds)\n", std::time(nullptr), std::time(nullptr) - sys_time_start);

#ifdef MPI_ON
MPI_Finalize();
Expand Down

0 comments on commit 6e757b5

Please sign in to comment.