Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • wdata wdata
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 4
    • Issues 4
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • wtools
  • wdatawdata
  • Wiki
  • wdata format concept

wdata format concept · Changes

Page history
Update wdata format concept authored Jun 22, 2025 by Gabriel Wlazłowski's avatar Gabriel Wlazłowski
Hide whitespace changes
Inline Side-by-side
wdata-format-concept.md
View page @ 0abaae42
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* Data is convenient for copying between computing systems. * Data is convenient for copying between computing systems.
* It allows for easy extraction/copying of selected variables. * It allows for easy extraction/copying of selected variables.
**W-data** format **is not a library**. It is only a **concept**. It specifies how the data should be saved or read. It means that you do not need to use any external libraries to be able to read or write. It is sufficient to use standard I/O functions to work with this format. We provide within this repository libraries written in C or in python just for convenience. The example code demonstrating this concept can be found here [ **W-data** format **is not a library**. It is only a **concept**. It specifies how the data should be saved or read. It means that you do not need to use any external libraries to be able to read or write. It is sufficient to use standard I/O functions to work with this format. We provide within this repository libraries written in C or in Python just for convenience. The example code demonstrating this concept can be found here [
c-examples c-examples
/example-write-low-level.c](https://gitlab.fizyka.pw.edu.pl/wtools/wdata/-/blob/master/c-examples/example-write-low-level.c). The concept is described below. /example-write-low-level.c](https://gitlab.fizyka.pw.edu.pl/wtools/wdata/-/blob/master/c-examples/example-write-low-level.c). The concept is described below.
...@@ -31,11 +31,14 @@ nz 32 # lattice ...@@ -31,11 +31,14 @@ nz 32 # lattice
dx 1 # spacing dx 1 # spacing
dy 1 # spacing dy 1 # spacing
dz 1 # spacing dz 1 # spacing
x0 -12 # origin of x-axis
y0 -14 # origin of y-axis
z0 -16 # origin of z-axis
datadim 3 # dimension of block size: 1=nx, 2=nx*ny, 3=nx*ny*nz datadim 3 # dimension of block size: 1=nx, 2=nx*ny, 3=nx*ny*nz
prefix test # prefix for files belonging to this data set, binary files have names `prefix_variable-name.format` prefix test # prefix for files belonging to this data set`
cycles 10 # number of cycles (measurements) cycles 10 # number of cycles (measurements)
t0 0 # time value for the first cycle t0 0 # time value for the first cycle
dt 0.1 # time interval between cycles. If `dt` negative then time step is varying and is read from binary file `prefix__t.wdata` dt 1 # time interval between cycles
# variables # variables
# tag name type unit format # tag name type unit format
...@@ -53,7 +56,15 @@ link current_b current_a ...@@ -53,7 +56,15 @@ link current_b current_a
const eF 0.5 MeV const eF 0.5 MeV
const kF 1 1/fm const kF 1 1/fm
``` ```
According to our experience, three [types of variables](https://gitlab.fizyka.pw.edu.pl/wtools/wdata/-/wikis/Data%20types) (`real`, `complex`, `vector`) are sufficient and cover more than 90% of applications. However, we have implemented single-precision (`float` in C notation) types denoted as `real4`, `complex8`, and `vector4`. To be consistent with the notation, one can use `real8`, `complex16` or `vector8` exchangeable for `real`, `complex`, `vector`. According to our experience, three types of variables (`real`, `complex`, `vector`) are sufficient and cover more than 90% of applications. The variables can be stored either in double or float precision.
| type | float | double |
|-----------|----------|-----------|
| real | `real4` | `real`, `real8` |
| complex | `complex8` | `complex`, `complex16` |
| vector | `vector4` | `vector`, `vector8` |
However, we have implemented single-precision (`float` in C notation) types denoted as `real4`, `complex8`, and `vector4`. To be consistent with the notation, one can use `real8`, `complex16` or `vector8` exchangeable for `real`, `complex`, `vector`.
Binary files store data as row arrays called `datablocks`: Binary files store data as row arrays called `datablocks`:
![datablocks](uploads/4d9d6260250707f665bda6e6c4e921cf/datablocks.png) ![datablocks](uploads/4d9d6260250707f665bda6e6c4e921cf/datablocks.png)
......
Clone repository
  • Examples
    • C examples
    • Python examples
  • VisIt plugin compilation
  • Visit integration
  • Home
  • wdata format concept