File: mcdisplay.in

package info (click to toggle)
mccode 3.5.19%2Bds5-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,113,256 kB
  • sloc: ansic: 40,697; python: 25,137; yacc: 8,438; sh: 5,405; javascript: 4,596; lex: 1,632; cpp: 742; perl: 296; lisp: 273; makefile: 226; fortran: 132
file content (95 lines) | stat: -rwxr-xr-x 2,605 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/usr/bin/env bash
# Wrapper script for @P@display-matplotlib-py

@MCCODE_BASH_STANDARD_PREAMBLE@

TOOL="@P@display"
UTILDIR="${MCCODE_TOOLDIR}/Python/@P@display/matplotlib"


#NB: miniconda should be installed next to the tool folder:
if [ -d "${MCCODE_TOOLDIR}/../miniconda3" ]; then
    source "${MCCODE_TOOLDIR}/../miniconda3/bin/activate" "${MCCODE_TOOLDIR}/../miniconda3"
    export PATH=${MCCODE_TOOLDIR}/../miniconda3/bin/:$PATH
fi

canrun() {
    if ! [ -x "${UTILDIR}/${TOOL}.py" ]; then
        exit 127;
    fi

    modules="matplotlib"
    cmd=""
    for name in ${modules}; do
        cmd="${cmd}import ${name}; "
    done
    python3 -c "${cmd}"
}

if ( canrun ); then
    arguments=""
    ncountmax="1e2"
    ncount=""
    trace=""
    next=0
    found_ncount=0
    for arg in "${@}"; do
	if [ "${next}" == "1" ];               # We found -n or --ncount in last pass, this is NUMBER
	then
	    ncount=${arg}
	    found_ncount=1
	    next=0
	elif [[ "${arg}" == "-n" ]];           # Case: -n NUMBER (NUMBER is next pass)
	then
	    next=1
	elif [[ "${arg}" == "--ncount" ]];     # Case: --ncount NUMBER (NUMBER is next pass)
	then
	    next=1
	elif
	    [[ ${arg} =~ ^-n ]];               # Case: -nNUMBER
	then
	    ncount=`echo $arg | cut -f2 -dn`
	elif [[ ${arg} =~ ^--ncount= ]];       # Case: --ncount=NUMBER
	then
	    ncount=`echo $arg | cut -f2 -d=`
	    found_ncount=1
	elif [[ ${arg} =~ ^--trace= ]];       # Case: --trace=NUMBER
	then
	    trace=`echo $arg | cut -f2 -d=`
	elif [[ ${arg} =~ ^--help ]];       # Case: --help
	then
	    script=`basename $0`
	    echo ""
	    echo "$script usage:"
	    echo ""
	    echo "$script [--trace=2] [--ncount=1e2] Instrument.instr par1=A par2=B ..."
	    echo "       --trace={1,2} - select classic / new visualisation mode, 2 is default"
	    echo "       --ncount=N    - set number of particles to trace, max/default N=1e2"
	    echo "             -n N "
	    echo "              -nN "
	    echo ""
	    exit
	else
	    arguments="$arguments $arg"
	fi
    done
    if [ "${trace}" == "" ];
    then
	trace="2"
    fi
    if [ "${found_ncount}" == "1" ];
    then
	ncountmax_bc=`echo $ncountmax | sed s/e/\*10^/g`
	ncount_bc=`echo $ncount | sed s/e/\*10^/g`
	if (( $(echo "${ncount_bc} > ${ncountmax_bc}" |bc -l) ));
	then
	    ncount=$ncountmax
	    echo "WARNING from $0: Reduced your ncount to $ncountmax"
	fi
    else
	ncount=$ncountmax
    fi
    @P@run  $* --trace=$trace --no-output-files -n $ncount | python3 ${UTILDIR}/${TOOL}.py
else
    @FLAVOR@_errmsg Failed to run Python ${TOOL} - permissions or missing dependencies\?
fi