idsdiff

idsdiff script shows ids level differences between two runs. It stores result in html document. For signals differences it is also shown as graph.

Syntax idsdiff

$ idsdiff -h
Usage: idsdiff -h

--- Compare a IDS from multiple date entries and returns True or False with
option of generating html page with comparison - Example: idsdiff --uri
"imas:mdsplus?user=public;shot=122525;run=1;database=ITER;version=3#summary"
"imas:mdsplus?user=public;shot=122525;run=2;database=ITER;version=3#summary"

Options:
  -h, --help            show this help message and exit
  --rc RC               Semicolon-separated rcParams string (e.g.,
                        'lines.linewidth=2;axes.titlesize=14')
  -u, --uri [URI ...]   uri separated by spaces (e.g.
                        "imas:hdf5?path=./testdb" "./testpulse.nc")
  -t, --time TIME       Time
  -m, --slicingmethod {CLOSEST,PREVIOUS,LINEAR}
                        Slicing method (default=CLOSEST)
  --skip-provenance     Discards provenance data differences (optional)
  -p, --plot            if idspath is given in the URI fragment with this
                        option you can plot the data also add plots in html
                        page if used along with -html
  -html, --html         Generate html page for showing difference, it can also
                        includes plots if -p option is enabled
  -f, --fullarray       Show full time array values
  --save                Save figure at default location
  --directory DIRECTORY
                        Specifies directory where report should be stored

Example idsdiff

# Compare with specific idses using --ids option
$ idsdiff --uri "imas:mdsplus?user=public;pulse=122525;run=1;database=ITER;version=3#summary" "imas:mdsplus?user=public;pulse=122525;run=2;database=ITER;version=3#summary"
                              First: imas:mdsplus?user=public;pulse=122525;run=1;database=ITER;version=3 (summary) -
                              Second: imas:mdsplus?user=public;pulse=122525;run=2;database=ITER;version=3 (summary)
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ IDS Path                                 Description        Value first                             Value second                            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ ids_properties/comment                   different values   (STR_0D) b2mn     B2.5 bjb99/7          (STR_0D) b2mn     B2.5 bjb99/7          │
│                                                             SOLPS-ITER  2021-10-14  17:31 bonninx   SOLPS-ITER  2023-02-23  20:05 bonninx   │
│                                                             ITER#2525_(F57-120-N_1.2%-Be0,_tau=0.…  ITER#2525_(F57-120-N_1.2%-Be0,_tau=0.2… │
│ ids_properties/source                    missing in second  (STR_0D) SOLPS4.3                                                               │
│ ids_properties/creation_date             different values   (STR_0D) 20211014 173342.600  +0200     (STR_0D) 20230223 200711.139  +0100     │
│ ids_properties/version_put/data_dictio…  different values   (STR_0D) 3.33.0                         (STR_0D) 3.38.0                         │
│ ids_properties/version_put/access_layer  different values   (STR_0D) 4.9.2                          (STR_0D) 4.11.1                         │
│ tag/name                                 different values   (STR_0D) 3.0.7                          (STR_0D) 3.0.8                          │
│ configuration/source                     missing in first                                           (STR_0D) SOLPS4.3                       │
│ global_quantities/r0/source              different values   (STR_0D) SOLPS4.3                       (STR_0D) ITER Baseline q95=3            │
│                                                                                                     equilibrium                             
# Use ids name in the URI using # (hash) parameter
$ idsdiff --uri "imas:mdsplus?user=public;pulse=130011;run=6;database=ITER;version=3#summary" "imas:mdsplus?user=public;pulse=130012;run=4;database=ITER;version=3#summary"
# compare all available IDSes
$ idsdiff --uri "imas:mdsplus?user=public;pulse=131024;run=50;database=ITER;version=3"  "imas:mdsplus?user=sawantp1;pulse=131024;run=50;database=ITER;version=3"
               First: imas:mdsplus?user=public;pulse=131024;run=50;database=ITER;version=3 (equilibrium) -
               Second: imas:mdsplus?user=sawantp1;pulse=131024;run=50;database=ITER;version=3 (equilibrium)
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ IDS Path                                          Description       Value first      Value second                     ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ ids_properties/version_put/data_dictionary        different values  (STR_0D) 3.38.1  (STR_0D) 3.42.0                  │
│ ids_properties/version_put/access_layer           different values  (STR_0D) 4.11.2  (STR_0D) 5.3.2                   │
│ ids_properties/version_put/access_layer_language  different values  (STR_0D) python  (STR_0D) python-5.3.1+5-ge7f9725 │
└──────────────────────────────────────────────────┴──────────────────┴─────────────────┴──────────────────────────────────┘
         IDS availability
┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ IDS                   Availability ┃
┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ core_sources          second       │
│ distribution_sources  second       │
│ wall                  second       │
│ core_profiles         second       │
│ nbi                   second       │
│ summary               second       │
│ pf_active             second       │
└──────────────────────┴──────────────┘
# compare plot by providing field path
$ idsdiff --uri "imas:mdsplus?user=public;pulse=122481;run=1;database=ITER;version=3#edge_profiles/ggd[:]/electrons/density[1].values" "imas:mdsplus?user=public;pulse=122481;run=2;database=ITER;version=3#edge_profiles/ggd[:]/electrons/density[1].values" --plot

$ idsdiff --uri "imas:mdsplus?user=public;pulse=134174;run=117;database=ITER;version=3#core_profiles/profiles_1d(:)/electrons/temperature[10]" "imas:mdsplus?user=public;pulse=134174;run=107;database=ITER;version=3#core_profiles/profiles_1d(:)/electrons/temperature[0]" --plot

$ idsdiff --uri "imas:mdsplus?user=public;pulse=134174;run=117;database=ITER;version=3#core_profiles/profiles_1d(40:60)/electrons/temperature" "imas:mdsplus?user=public;pulse=134174;run=117;database=ITER;version=3#core_profiles/profiles_1d(40:60)/electrons/temperature" --plot
image not found image not found image not found image not found image not found