diff --git a/geomagio/processing/magproc.py b/geomagio/processing/magproc.py index 49b2f882c4be137c70e83a3f52420bf50b244860..04fb60cfaa00db4eb67d9f42e445f0a83bab75e7 100644 --- a/geomagio/processing/magproc.py +++ b/geomagio/processing/magproc.py @@ -14,6 +14,7 @@ from ..residual import WebAbsolutesFactory, CalFileFactory CAL_FILENAME_FORMAT = "{OBSERVATORY}/{OBSERVATORY}{YEAR}PCD.cal" MIN_TEMPLATE = "%(OBS)s/" + PCDCP_FILE_PATTERN RAW_TEMPLATE = "%(OBS)s/" + PCDCP_FILE_PATTERN +HOR_TEMPLATE = "%(OBS)s/" + PCDCP_FILE_PATTERN def main(): @@ -31,7 +32,7 @@ def prepfiles(observatory: str, year: int, month: int): base_directory=os.getenv("RAW_DIRECTORY", "file://c:/Calibrat"), ) - timeseries_min, timeseries_sec = gather_data( + timeseries_hor, timeseries_min, timeseries_sec = gather_data( starttime=UTCDateTime(month_start), endtime=UTCDateTime(month_end), observatory=observatory, @@ -61,6 +62,18 @@ def prepfiles(observatory: str, year: int, month: int): template=os.path.join(basedir, MIN_TEMPLATE), ) + basedir = os.getenv("RAW_DIRECTORY", "file://c:/DEG") + + write_pcdcp_file( + starttime=UTCDateTime(month_start), + endtime=UTCDateTime(month_end), + timeseries=timeseries_hor, + observatory=observatory, + interval="hourly", + base_directory=basedir, + template=os.path.join(basedir, HOR_TEMPLATE), + ) + def write_cal_file( starttime: UTCDateTime, endtime: UTCDateTime, observatory: str, base_directory: str, @@ -90,8 +103,22 @@ def gather_data(starttime: UTCDateTime, endtime: UTCDateTime, observatory: str): type="variation", interval="second", ) + timeseries_min = f.process(timeseries_sec) + f = FilterAlgorithm(input_sample_period=60.0, output_sample_period=3600.0) + f_starttime, f_endtime = f.get_input_interval(starttime, endtime) + timeseries_temp = e.get_timeseries( + starttime=f_starttime, + endtime=f_endtime, + observatory=observatory, + channels=["G", "UK1", "UK2", "UK3", "UK4"], + type="variation", + interval="minute", + ) + timeseries_hor = f.process(timeseries_temp) + return ( - f.process(timeseries_sec), + timeseries_hor, + timeseries_min, timeseries_sec.trim(starttime=starttime, endtime=endtime), )