Skip to content
Urs Schroffenegger edited this page Nov 30, 2018 · 1 revision

Description of files and folders

Main directories

bin/: autogenerated, contains the compiled binaries

bin/esp: THOR's executable.

src/: source files

ifile/: initial conditions and simulation configuration files in *.thr format.

obj/: autogenerated, contains compilation object files.

mjolnir/: python data analysis scripts

tools/: helper programs and prototype visualisation code.

Sources:

src/

  • esp.cu: program entry point, main function. Does initial setup, runs the main loop calling dynamical core (THOR), physics (profx) and data output.

src/ESP/: simulation engine code and helpers for kernels

  • grid.cu: Icogrid class, setup all grid parameters, grid structure and memory
  • esp_initial.cu: ESP memory setup and initial conditions functions
  • thor_driver.cu: ESP dynamical core steps function
  • profx_driver.cu: ESP physics step computation function
  • profx_conservation.cu: ESP conservation computation function
  • esp_output.cu: ESP output of state to disk function
  • simulation_setup.cu: helper class holding simulation parameters
  • reduction_add.cu: function to apply reduction sum on arrays on device.
  • phy_modules_device.cu: physics modules helper

src/headers: header files src/headers/dyn/: dynamical core headers and header only kernels src/headers/phy/: physics computation headers and header only kernels

src/utils/: small utilities

  • iteration_timer.cpp: loop timing helper class
  • storage.cpp: helper class for storage to HDF5 files
  • directories.cpp: directories manipulation helper class
  • log_writer.cpp: logging helper classes
  • cmdargs.cpp: command line argument setup and parser class
  • config_file.cpp: config file parser class