Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.stsci.edu/spst/UnixTransition/doc/run_anal_views.py
Дата изменения: Fri Apr 8 12:46:13 2016
Дата индексирования: Mon Apr 11 02:12:21 2016
Кодировка:
#
#MODULE run_anal_views
#
#***********************************************************************
"""

**PURPOSE** --
Run the ANAL_VIEWS PASS utility.

ANAL_VIEWS reads a .aet file for the antenna blockage and antenna
view records. It generates a view report, a blockage report, and
an debug report.

**DEVELOPER** --
Don Chance

**MODIFICATION HISTORY** --
Initial implementation 4/22/03
updated for pass build 31.85 dc 10/10/03
Revamped to use avtut. drc 10/6/09
Updated for PASS 33.80 drc 2/21/11
updated for PASS 33.82 drc 11/18/13
updated for PASS 33.95 drc 5/13/14
"""
#***********************************************************************
import spss_sys_util
import os
import pass_util
import spst_getopt
from create_contacts import avtut
import namelist_util

__version__ = '14.05.13'

class anal_views(avtut):
"""Mimic the old anal_views program using AVTUT.
"""
def __init__(self, run_name='', ms_dir='', out_dir='', config_file='', ms_basefile='', sw_version='ops'):
avtut.__init__(self)
self.output_directory = out_dir
self.namelist_path = os.path.join(self.output_directory, 'avtut_input.nml')
self.ms_basefile_path = ms_basefile
aet_file_list = spss_sys_util.glob(os.path.join(ms_dir, '*.aet'))
if aet_file_list:
self.aet_file = aet_file_list[0]
else:
raise ValueError("aet file does not exist in %s" % ms_dir)
ism_file_list = spss_sys_util.glob(os.path.join(ms_dir, '*.ism'))
if ism_file_list:
self.ism_file = ism_file_list[0]
else:
raise ValueError("ism file does not exist in %s" % ms_dir)
cin_file_list = spss_sys_util.glob(os.path.join(ms_dir, '*.cin'))
if cin_file_list:
self.ms_cin_file_path = cin_file_list[0]
else:
raise ValueError(".cin file does not exist in %s" % ms_dir)
oev_file_list = spss_sys_util.glob(os.path.join(ms_dir, '*.oev'))
if oev_file_list:
self.oev_file = oev_file_list[0]
else:
raise ValueError(".oev file does not exist in %s" % ms_dir)
self.ms_config_file_path = config_file
self.run_name = run_name
self.set_software_version(sw_version)

def create_namelist(self):
"""Use the special namelist to run AVTUT in 'anal_views' mode.
"""
self.generic_namelist = namelist_util.namelist(pass_util.get_pass_namelist_path('avtut_av_mode.nml',
self.software_version))
self.generic_namelist.write_namelist(self.namelist_path)
return self.namelist_path

def run(ms_output_directory=None, *args):
"""Run the ANAL_VIEWS PASS utility.

Usage:
do run_anal_views [-out=output_directory]
[-verbose]
[-software_version=old|ops|new]
[-config_file=]
[-basefile=]

The 'output_directory' defaults to .
"""

if not ms_output_directory:
# Spew out the usage and quit when no ms_output_directory is given
print run.__doc__
return spss_sys_util.SUCCESS

allowed_options = ['output=', 'verbose', "config_file=", "software_version=", "basefile="]

options, parms = spst_getopt.spst_getopt(args, allowed_options)

if '-output' in options.keys():
output_directory = options['-output']
else:
output_directory = ms_output_directory

run_name = os.path.basename(ms_output_directory)

if '-config_file' in options.keys():
config_path = options['-config_file']
else:
# find the default config file
config_path = spss_sys_util.glob(os.path.normpath(os.path.join(ms_output_directory,
"../../msin/",
os.path.basename(ms_output_directory)
+ "*config*.csh")))

if config_path:
config_path = config_path[0]
else:
# no config file found -- raise an error
raise IOError("Config file not found")


if '-software_version' in options.keys():
sw_version = options['-software_version'].lower()
else:
sw_version = 'ops'

if '-verbose' in options.keys():
verbose = True
else:
verbose = False

if not os.path.isdir(ms_output_directory):
raise ValueError("MS output directory %s does not exist." % ms_output_directory)

if not os.path.isdir(output_directory):
raise ValueError("Output directory %s does not exist." % output_directory)

if '-basefile' in options.keys():
ms_basefile = options['-basefile']
else:
ms_basefile = '$MSBASFIL'

os.chdir(ms_output_directory)
aet_file = spss_sys_util.glob("*.aet")
if aet_file:
aet_file = spss_sys_util.basename(aet_file[0])
else:
raise ValueError("aet file does not exist in %s" % ms_output_directory)

if verbose:
print "Config path:", config_path

av_tut = anal_views(run_name, ms_output_directory, output_directory, config_path, ms_basefile, sw_version)
av_tut.create_namelist()

status, output = av_tut.run()

print "status =", status
print output

return status