In [1]:
import scda
import pprint
import logging
import os
scda.configure_log()
In [2]:
survey_params = {'Pupil': { 'prim': ['hex1', 'hex2', 'hex3', 'hex4'],
'secobs': 'X',
'thick': '025',
'centobs': [True],
'N': 250 },
'FPM': { 'rad': 4. },
'LS': { 'shape':'ann', 'obscure':1, 'spad':[5,10], 'id':[20, 25, 30], 'od':85 },
'Image': { 'ida':3.5, 'bw':0.10, 'Nlam':3 }}
In [3]:
survey_dir = "./nccs_survey_test/"
ampl_src_dir = os.path.join(survey_dir, "amplsrc")
sol_dir = os.path.join(survey_dir, "solutions")
log_dir = os.path.join(survey_dir, "logs")
TelAp_dir = "./InputMasks/TelAp"
LS_dir = "./InputMasks/LS"
FPM_dir = "./InputMasks/FPM"
fileorg = {'work dir':survey_dir, 'ampl src dir':ampl_src_dir, 'log dir':log_dir, 'sol dir':sol_dir,
'TelAp dir':TelAp_dir, 'LS dir':LS_dir, 'FPM dir':FPM_dir}
In [4]:
hexap_survey = scda.DesignParamSurvey(scda.QuarterplaneAPLC, survey_params, fileorg=fileorg)
print("This survey has {0:d} design parameter combinations.".format(hexap_survey.N_combos))
print("{0:d} parameters are varied: {1}".format(len(hexap_survey.varied_param_index), hexap_survey.varied_param_index))
In [5]:
pprint.pprint(hexap_survey.fileorg)
In [6]:
#i = 100
i = 0
print("Telescope aperture file for design #{:d}: {:s}".format(i+1, hexap_survey.coron_list[i].fileorg['TelAp fname']))
print("Focal plane mask file for design #{:d}: {:s}".format(i+1, hexap_survey.coron_list[i].fileorg['FPM fname']))
print("Lyot stop file for design #{:d}: {:s}".format(i+1, hexap_survey.coron_list[i].fileorg['LS fname']))
In [7]:
hexap_survey.check_ampl_input_files()
Out[7]:
In [8]:
# pprint.pprint(hexap_survey.varied_param_combos)
In [9]:
hexap_survey.write_ampl_batch(override_infile_status=True, overwrite=True)
In [10]:
hexap_survey.write_exec_script_batch(overwrite=True)
In [11]:
hexap_survey.write_spreadsheet()
In [12]:
hexap_survey.write()
In [13]:
mysurvey = scda.load_design_param_survey(hexap_survey.fileorg['survey fname'])
In [ ]: