Skip to content

Conversation

ZedThree
Copy link
Member

@ZedThree ZedThree commented Jul 3, 2024

Sort of fixes #2878

Two things:

  • output:flush_frequency can be used to reduce how often netCDF data is flushed to disk (maybe flush_period is a more accurate name?)
  • the Options used to store data to be written to disk is now reset after writing

These two together can significantly cut the time spent in IO:

Figure_1

(absolute time from the io timer for conduction example for 500 timesteps, rolling average over 100 steps)

The red line is basically current next

I'm a bit concerned that we still get an increase over time, but this seems to unavoidable.

This PR also includes some drive-by fixes for some minor OptionsIO issues.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

* next: (563 commits)
  Bump DOI
  Add shim for ARKodeGetNumRhsEvals
  Suppress warning from `nodiscard` function
  Remove `boututils` from requirements; bump `boutdata`
  Fix deprecation warning
  Bump bundled fmt
  Fix some easy clang-tidy snes warnings
  Fix reorder warning from snes
  CI: Don't run clang-{tidy,format} on RC branches
  Update changelog
  Bump version to 5.2.0
  Tweak version updater, mention in docs
  Add dependencies to changelog updater
  Add new authors
  Tweak citations updater, mention in docs
  Update translations
  Fix testCommandLineOptionsArePrinted
  Apply black changes
  Prevent SignalHandlerTestDeathTest when OS is FreeBSD
  Use the portable "/usr/bin/env bash" shebang instead of "/bin/bash"
  ...
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

};

/// Set timestep counter for flushing file
void setFlushCounter(std::size_t iteration) { flush_counter = iteration; }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: no header providing "std::size_t" is directly included [misc-include-cleaner]

include/bout/physicsmodel.hxx:34:

- class PhysicsModel;
+ #include <cstddef>
+ class PhysicsModel;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant