TABLE OF CONTENTS
::pwtk::environ::environ
SYNOPSIS
proc ::pwtk::environ::environ {{mode {}}} {
PURPOSE
Activate or deactivate the ENVIRON plugin. If the SWITCH argument is omitted, the current ENVIRON status is queried, which can be "on" or "off".
USAGE
environ on
or
environ off
or
environ restart
or
environ from_scratch
or
environ
DESCRIPTION
The 'environ' command can be called as:
• environ on implies adding -environ to POSTFIX (e.g., pw.x --environ)
• environ off implies removing -environ from POSTFIX
• environ restart implies adding -environ to POSTFIX and setting ENVIRON { environ_restart = .true. }
• environ from_scratch implies adding -environ to POSTFIX and setting ENVIRON { environ_restart = .false. }
WARNINGS
To use ENVIRON, QE needs to be compiled with Environ.
SOURCE
if { ! [info exists ::pwtk::state(environ)] } { set ::pwtk::state(environ) off } if { $mode != {} } { if { $mode == "restart" } { ::pwtk::print "ENVIRON restart activated (environ_restart = .true.)\n" ENVIRON { environ_restart = .true. } set mode on } elseif { [string match *scratch $mode] } { ::pwtk::print "ENVIRON restart disabled (environ_restart = .false.)\n" ENVIRON { environ_restart = .false. } set mode on } if { ! [::pwtk::type::number fboolean $mode] } { pwtk::error "environ mode must be boolean, but got mode = $mode" 1 } set postfix {} if { [info exists ::pwtk::RUNopt(POSTFIX)] } { set postfix $::pwtk::RUNopt(POSTFIX) } set ind [lsearch -regexp $postfix ^-+environ] if { $mode } { ::pwtk::print "ENVIRON mode is ON\n" set ::pwtk::state(environ) on # add -environ flag to POSTFIX if { $ind < 0 } { lappend ::pwtk::RUNopt(POSTFIX) -environ } } else { ::pwtk::print "ENVIRON mode is OFF\n" set ::pwtk::state(environ) off set ::pwtk::RUNopt(POSTFIX) [lsearch -inline -all -not -regexp $postfix ^-+environ] } } return $::pwtk::state(environ) }