diff --git a/aeri_qc/all_checks.py b/aeri_qc/all_checks.py index eca465f95afff019a2c059a592dc9dcc176e221c..a3606c8ad07ef451be9f3b43b91e792756b4639a 100644 --- a/aeri_qc/all_checks.py +++ b/aeri_qc/all_checks.py @@ -110,14 +110,14 @@ class Checklist(object): checklist = Checklist() # then register all the checks using circular import like flask -import electronic_checks -import global_checks -import radiometric_checks -import scene_checks -import state_checks -import thermal_checks -import bomem_file -import igm_checks +import aeri_qc.electronic_checks +import aeri_qc.global_checks +import aeri_qc.radiometric_checks +import aeri_qc.scene_checks +import aeri_qc.state_checks +import aeri_qc.thermal_checks +import aeri_qc.bomem_file +import aeri_qc.igm_checks every_check_so_far = list({check.name for check in checklist.checks}) diff --git a/aeri_qc/electronic_checks.py b/aeri_qc/electronic_checks.py index 22e7a1721ba0a316e0210b559a27a112036448b9..5a12014b25bddc742155365476bbc3ee3f7bded1 100644 --- a/aeri_qc/electronic_checks.py +++ b/aeri_qc/electronic_checks.py @@ -1,7 +1,7 @@ import numpy as np import pandas as pd import itertools -from all_checks import checklist +from aeri_qc.all_checks import checklist ######### CHECKS ########### @checklist.add_check(depends=['datetime','HBBapexTemp','HBBbottomTemp','HBBtopTemp' ], affects_calibration=True, hides=['missing_data_flag_check'], description='outlier in HBB temperature discovered') diff --git a/aeri_qc/global_checks.py b/aeri_qc/global_checks.py index c57348fd75fc4e24409b97198a24cdafb9fe5e4e..bb6b7a04dcc73cb1fac31a43f67a90d1c0cf1563 100644 --- a/aeri_qc/global_checks.py +++ b/aeri_qc/global_checks.py @@ -1,6 +1,6 @@ import numpy as np import pandas as pd -from all_checks import checklist +from aeri_qc.all_checks import checklist @checklist.add_check(depends=['missingDataFlag'], affects_calibration=True, description='record is missing') def missing_data_flag_check(frame, parameters): diff --git a/aeri_qc/main.py b/aeri_qc/main.py index 9144bf35bd24f248720c4cbb6061eec9f8bf2dd8..e140b13f5b114329df3ab3ade2cf7fd9b9a4035b 100644 --- a/aeri_qc/main.py +++ b/aeri_qc/main.py @@ -11,9 +11,9 @@ from io import BytesIO from tempfile import mkstemp from shutil import move from datetime import datetime -from igm_checks import spike_check +from aeri_qc.igm_checks import spike_check -def save_quality(frame, qc_path): +def save_quality(frame, qc_path, checklist): """ Save the DataFrame (frame) to a netCDF at (qc_path) """ @@ -179,7 +179,7 @@ def update_all(ftp_dir, sci_dir, checklist, parameters=None): # Perform qc on housekeeping frame frame = check_frame(frame, parameters, checklist) - save_quality(frame, qc_file) + save_quality(frame, qc_file, checklist) def files_to_update(cxs_files, update_only=True): """ @@ -207,19 +207,3 @@ def files_to_update(cxs_files, update_only=True): # if qc doesn't exist, generate yield (possible_qc, cxs_file, sum_file) -if __name__ == '__main__': - import argparse - import os - parser = argparse.ArgumentParser() - parser.add_argument('ftp') - if 'nt' in os.name: - default_sci = 'C:\\' - else: - default_sci = '/cygdrive/c/' - parser.add_argument('sci', default=None, nargs='?') - - args = parser.parse_args() - - from all_checks import checklist - - update_all(args.ftp, args.sci, checklist) diff --git a/aeri_qc/radiometric_checks.py b/aeri_qc/radiometric_checks.py index 57fb564f41108e9f5bfb2d9c1a6a896184839c5a..bca781c7ec963dce223920465aaab8d2aea670c3 100644 --- a/aeri_qc/radiometric_checks.py +++ b/aeri_qc/radiometric_checks.py @@ -1,8 +1,8 @@ -from util import _compute_robust_zscore +from aeri_qc.util import _compute_robust_zscore import pandas as pd import numpy as np import scipy.stats -from all_checks import checklist +from aeri_qc.all_checks import checklist hide_data_if_invalid = [ 'hbb_temp_outlier_check', diff --git a/aeri_qc/scene_checks.py b/aeri_qc/scene_checks.py index cd8e3e11f31fb7b664bb3c853868e8c49bca0982..7c9dfb6d50515eb53e33976c37b7ddbd96b0b07c 100644 --- a/aeri_qc/scene_checks.py +++ b/aeri_qc/scene_checks.py @@ -1,6 +1,6 @@ import pandas as pd import numpy as np -from all_checks import checklist +from aeri_qc.all_checks import checklist @checklist.add_check(depends=['hatchOpen','sceneMirrorPosition'], affects_calibration=False, description='hatch is closed') def hatch_check(frame, parameters): diff --git a/aeri_qc/state_checks.py b/aeri_qc/state_checks.py index c6a42df50f2fb33914b81615361f545dfd244dc0..d6ad3437910b64855ac26bca0f73d2bbe5418a74 100644 --- a/aeri_qc/state_checks.py +++ b/aeri_qc/state_checks.py @@ -1,6 +1,6 @@ import pandas as pd import numpy as np -from all_checks import checklist +from aeri_qc.all_checks import checklist @checklist.add_check(depends=['detectorTemp'], affects_calibration=True, description='detector temperature too high') def detector_check(frame, parameters): diff --git a/aeri_qc/thermal_checks.py b/aeri_qc/thermal_checks.py index fe33e8a1ceba204c11af1f2ed6c5fdf16a2cbb8b..241ecc9316f18c4059a0d9825fa5804e91c19690 100644 --- a/aeri_qc/thermal_checks.py +++ b/aeri_qc/thermal_checks.py @@ -1,7 +1,7 @@ import sklearn.covariance import scipy.stats import numpy as np -from all_checks import checklist +from aeri_qc.all_checks import checklist @checklist.add_check(depends=['HBBbottomTemp','HBBtopTemp','HBBapexTemp'], affects_calibration=True, description='HBB thermistors disagree') def hbb_covariance_check(frame, parameters): diff --git a/setup.py b/setup.py index 9b7ba9e7cb1256107b756edabb718c20b300b711..fa7243b9a502f303d327b0c779d3c94f8642beaf 100644 --- a/setup.py +++ b/setup.py @@ -7,6 +7,9 @@ setup( "numpy", "scipy", "pandas", - "scikit-learn" + "scikit-learn", + "dmv", + "aeri_tools", + "netCDF4" ] )