Commit 972b9b51 authored by Podhorszki, Norbert's avatar Podhorszki, Norbert
Browse files

more bpls doc

parent d0e0a98e
Loading
Loading
Loading
Loading
+54 −5
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ In our example, we have two arrays, `T` and `dT`. Both are 2-dimensional `double
    bpls is written in C++ and therefore sees the order of the dimensions in `row major`. If the data was written from Fortran in column-major order, you will see the dimension order flipped when listing with bpls, just as a code written in C++ or python would see the data. 

 
Here is the description of additional options
Here is the description of the most used options
(use `bpls -h` to print help on all options for this utility).


@@ -43,19 +43,68 @@ Here is the description of additional options
      double   T     3*{12, 20} = 2.17453e-06 / 200
      double   dT    3*{12, 20} = -41.384 / 40.2627

* **-a**
* **-a** **-A**

  List the attributes along with the variables 
  List the attributes along with the variables. `-A` will print the attributes only.

  .. code-block:: bash

    $ bpls a.bp -la
      double   T               3*{12, 20} = 2.17453e-06 / 200
      string   T/description   attr   = "Temperature from heatSimulation"
      string   T/description   attr   = "Temperature from simulation"
      string   T/unit          attr   = "C"
      double   dT              3*{12, 20} = -41.384 / 40.2627
      string   dT/description  attr   = "Temperature difference between two steps calculated in heatAnalysis"
      string   dT/description  attr   = "Temperature difference between two steps calculated in analysis"

* `pattern`

  Select which variables/attributes to list or dump. By default the pattern is like a shell file pattern. Using the -e option the pattern will be used as an regular expression

  
  .. code-block:: bash

    $ bpls a.bp -la T*
      double   T               3*{12, 20} = 2.17453e-06 / 200
      
  .. code-block:: bash

    $ bpls a.bp -la T.* -e
      double   T               3*{12, 20} = 2.17453e-06 / 200
      string   T/description   attr   = "Temperature from simulation"
      string   T/unit          attr   = "C"

  .. code-block:: bash

    $ bpls a.bp -la T/* dT/* 
      string   T/description   attr   = "Temperature from simulation"
      string   T/unit          attr   = "C"
      string   dT/description  attr   = "Temperature difference between two steps calculated in analysis"

* **-D**

  Print the decomposition of a variable. In the BP file, the data blocks written by different writers are stored separately and have their own size info and min/max statistics. This option is useful at code development to check if the output file is written the way intended.


  .. code-block:: bash

    $ bpls a.bp -l T -D
      double   T               3*{12, 20} = 2.17453e-06 / 200
            step 0: 
              block 0: [ 0: 3,  0:19] = 2.17453e-06 / 169.366
              block 1: [ 4: 7,  0:19] = 36.2402 / 200
              block 2: [ 8:11,  0:19] = 2.17453e-06 / 169.366
            step 1: 
              block 0: [ 0: 3,  0:19] = 34.4583 / 129.104
              block 1: [ 4: 7,  0:19] = 53.9598 / 164.721
              block 2: [ 8:11,  0:19] = 34.4583 / 139.093
            step 2: 
              block 0: [ 0: 3,  0:19] = 47.8894 / 117.111
              block 1: [ 4: 7,  0:19] = 61.6086 / 149.78
              block 2: [ 8:11,  0:19] = 48.6223 / 128.216

  In this case we find 3 blocks per output step and 3 output steps. We can see that the variable `T` was decomposed in the first (slow) dimension. In the above example, the `T` variable in the simulation output (sim.bp) had 12 blocks per step, but the analysis code was running on 3 processes, effectively reorganizing the data into fewer larger blocks.


* **-d**

  Dump the data content of a variable. For pretty-printing, one should use the additional `-n` and `-f` options. For selecting only a subset of a variable, one should use the `-s` and `-c` options.