Exemple #1
0
from sdcweb.spice import stix_datetime as sdt
from sdcweb.core import bsd_analyzer_stream
from sdcweb.spice.solo import SoloEphemeris as solo
from sdcweb.core.tm_minifier import HKMinifier as hkm
from sdcweb.core import ql_analyzer
from sdcweb.core import stix_config
from sdcweb.core import auth
from sdcweb.core import utils

from sdcweb.core.tm_minifier import LCMinifier as lcm
from sdcweb.core import auth
MAX_QL_DATA_DURATION = 7 * 24 * 3600

apis = Blueprint('apis', __name__, template_folder='templates')

STIX_MDB = mongodb_api.MongoDB()


@apis.route('/api/request/ql/lightcurves', methods=['POST'])
def request_ql_light_curves():
    auth.log_visit()
    try:
        begin_utc = request.values['begin']
        end_utc = request.values['end']
        light_time_correction = False
        ltc = request.values['ltc']
        if ltc in ['true', 'True', True]:
            light_time_correction = True
    except Exception as e:
        return jsonify({'error': 'Invalid request'})
Exemple #2
0
#stix instrument status

from sdcweb.core import mongodb_api as sdb
from sdcweb.spice import stix_datetime as sdt
from sdcweb.core.tm_minifier import HKMinifier as hkm
mdb = sdb.MongoDB()

hk_cadence = 64
MODES = {
    0: "RESET",
    1: "BOOT",
    2: "SAFE",
    3: "MAINT",
    4: "CONFIG",
    5: "NOMINAL"
}


def get_stix_status(start_unix, end_unix):
    """
        check if stix is in nominal in the period
    """
    #'duration':{'$gt':0}
    duration = end_unix - start_unix
    result = hkm.request_by_tw(start_unix, duration)
    ops_mode = [0] * 7
    res = {'gaps': (end_unix - start_unix) / hk_cadence, 'modes': ops_mode}
    try:

        modes = result['raw']['NIXD0023']
        times = result['time']
Exemple #3
0
# Create data requests for flares
# Author: Hualin Xiao on Jun 14, 2021
import os
import sys
import math
from datetime import datetime
sys.path.append('.')
from sdcweb.spice import stix_datetime
from sdcweb.core import mongodb_api as db
from sdcweb.core import sci_volume
from sdcweb.core import background_data_request as bkg_req
from scipy import signal

author = {'name': 'Hualin Xiao', 'email': '*****@*****.**'}

mdb = db.MongoDB()
DATA_LEVEL_NAMES = {
    0: 'L0',
    1: 'L1',
    2: 'L2',
    3: 'L3',
    4: 'Spectrogram',
    5: 'Aspect'
}
EMAX_MAP = [8, 13, 17, 23,
            28]  # emax if there are prominence the corresponding lightcurve

db = mdb.get_db()
bsd_form = db['data_requests']
flare_collection = db['flares']
IMAGING_MIN_COUNTS = 1000
from collections import defaultdict
from datetime import datetime
from itertools import chain
from time import perf_counter

from sdcweb.core import stix_datatypes as sdt
from sdcweb.spice.stix_datetime import datetime_to_scet
from fits.products.housekeeping import MiniReport, MaxiReport
from fits.products.quicklook import LightCurve, Background, Spectra, Variance, \
    FlareFlagAndLocation, CalibrationSpectra, TMManagementAndFlareList
from fits.products.science import XrayL0
#from stix_parser.utils.logger import get_logger

from sdcweb.core import mongodb_api

db = mongodb_api.MongoDB()

#logger = get_logger(__name__)
QL_REPORT_SPIDS = [54118, 54119, 54121, 54120, 54122]
BSD_SPIDS = [54114, 54115, 54116, 54117, 54143, 54125]
QL_TYPE = {
    54118: 'lc',
    54119: 'bkg',
    54120: 'qlspec',
    54121: 'var',
    54122: 'flare'
}
CALIBRATION_SPID = 54124

SPID_MAP = {
    # Bulk Science