Paper The following article is Free article

Application of NASA core Flight System to Telescope Control Software for 2017 Total Solar Eclipse Observation

, , , , , , , , , , , , , , and

Published 2022 April 4 © 2022. The Astronomical Society of the Pacific. All rights reserved.
, , Citation Jongyeob Park et al 2022 PASP 134 034504 DOI 10.1088/1538-3873/ac5848

1538-3873/134/1033/034504

Abstract

The core Flight System (cFS), developed by NASA, is a reusable software framework and a set of pluggable software applications that take advantage of the rich heritage of NASA's successful space missions. We applied the cFS to the development of telescope control software for the observation of the 2017 total solar eclipse. Four main modules were developed: imaging control, mechanism control, data handling, and automated observation. Other modules, such as communication and scheduler, were reused from the cFS. Using an integrated observation system, we successfully observed the total solar eclipse, in which the linearly polarized brightness of the solar corona and sky background were measured at four different wavelengths. In this study, we demonstrated the usefulness of the cFS to develop telescope control software through an eclipse observation system, the so-called DICE (DIagnostic Coronagraph Experiment) mission. Our experience and knowledge of the cFS were expanded to a flight software BITSE (Balloon-borne Investigation of Temperature and Speed of Electrons in the corona), the high-altitude scientific balloon mission in 2019. We plan to apply this approach to future solar coronagraph observations, such as CODEX (COronal Diagnostic EXperiment), on the International Space Station. We expect that the cFS can also be applied in telescope control software for ground-and space-based observations.

Export citation and abstract BibTeX RIS

1. Introduction

Software reuse is aimed at improving the quality and productivity of the software. Most modern software systems are not developed as entirely new code but derived from the modification of code used in existing systems. Successful reuse of software not only can reduce the time and cost associated with software development, but also improve the overall software quality by allowing developers to focus on writing mission-specific codes. Software reuse is critical in missions that require the cooperation of several developers. The developers can accumulate common knowledge and experience as well as collaborate to increase software productivity by using reusable software for their specific missions.

The operational lifetimes of astronomical telescopes are longer than those of the associated devices, hardware platforms, and operating systems, and it requires some effort to port existing software to a new one. Efforts have been made to create software environments for general telescope control systems by building independent components and exposing standard interfaces to abstract them from background details. Reusing such software environments will reduce the amount of effort needed to develop new telescope control software.

Bailey and Prestage (1997) studied the need for scalable software development for future changeable resources in a telescope system. Therefore, they considered a portable telescope control system (PTCS) using the distributed real-time Anglo-Australian Observatory (AAO) Monitor for Astronomy (DRAMA) instrumentation software environment developed by the AAO. DRAMA has a messaging system that handles a variety of data structures, allowing communication across different computer architectures (Bailey et al. 1995). The PTCS organizes separate tasks for hardware and software interfaces, enabling portable instruments to easily interface with standard astronomy software.

Tobar et al. (2008) developed a control system for an amateur telescope (CSAT) using the Atacama Large Millimeter/submillimeter Array (ALMA) Common Software (ACS) framework as a distributed system based on the common object request broker architecture (CORBA). ACS uses a component and container model to develop software plugins, and supports a variety of programming languages, platforms, and operating systems.

The telescope software environment provides standards for the development of astronomical instrument software and dynamic reconfiguration at runtime, enabling the telescope to function as a platform for operating various astronomical instruments. Gillies et al. (2008) introduced the development of the next generation of astronomical instruments, the Aspen instruments, at the Gemini observatory. To reduce the complexity of the overall system, with clear responsibility to instrument builders, the Gemini Instrument Application Programmer Interface (GIAPI) environment allows developers to build distributed control systems by programming a language-specific API (called GIAPI or API Glue). The Gemini Master Process (GMP) is a Gemini-provided component that provides the bulk of Gemini features and integration functionality. It relies on two standards: the Java Message Service (JMS, "for reliable message-based communication") and Open Systems Gateway initiative (OSGi, "a Java-based framework that enables loosely coupled services to dynamically discover each other and collaborate to form applications").

McComas et al. (2016) and McComas (2018) presented the core Flight System (cFS) that NASA has developed into a platform-independent and reusable software framework for real-time systems, including satellite systems, by integrating software used in past missions. The cFS has a layered, portable architecture that enables developers use the architecture in user development environments or desktop environments. Developments completed in these environments can then be easily ported and integrated on flight hardware without any code changes. The layered software architecture of the cFS enables vertical software reuse on hardware platforms used in previous successful missions. In addition, the cFS supports horizontal software reuse to expand the system using modular components. The cFS is fundamentally suited for use as a general telescope system software environment because it is independent of the telescope hardware used and can be used to reconfigure and extend the telescope functions via the application of instrument applications as plug-ins.

The Korea Astronomy and Space Science Institute (KASI) began developing the next-generation coronagraph in collaboration with NASA in 2017 (Cho et al. 2017). The next-generation coronagraph measures the polarization and brightness of the solar corona at multiple wavelengths; therefore, we can measure the electron temperature and solar wind speed in the solar corona that a conventional coronagraph cannot obtain. This can help improve the understanding of the process of solar wind acceleration, and more accurately predict and reduce the damage caused by adverse changes in space weather.

The next-generation coronagraph being developed has been tested on two of three missions. First, we developed an eclipse observation system, the so-called Diagnostic Coronagraph Experiment (DICE), with which we observed the total solar eclipse traversing the United States in 2017 (Cho et al. 2020). In the next mission, the BITSE (Balloon-borne Investigation of Temperature and Speed of Electrons in the corona), in 2019 observed solar corona using an artificial occulter on a scientific balloon floating at 40 km (Gopalswamy et al. 2021). After securing the related technologies and testing the subsystems in the previous missions, we will install the next-generation coronagraph at the external payload site of the International Space Station (ISS) in 2023 through a third mission, the COronal Diagnostic EXperiment (CODEX).

Because each mission has different external environmental conditions and mission requirements, hardware changes are unavoidable. In this situation, software development should aim to minimize unnecessary code changes and risks to a mission. The ISS payload NICER (Neutron Star Interior Composition Explorer) had the cFS based flight software by combining mission-specific application modules and reusing NASA open-source application modules (Gendreau et al. 2016). Therefore, the reuse of the cFS can help secure the necessary software capabilities from the space heritage of the ISS payload in CODEX. As a starting point, we attempted to develop cFS-based software to control the DICE telescope consisting of imaging and mechanism parts.

Using the DICE software, we observed the solar corona during a total solar eclipse using the DICE telescope equipped with polarization and bandpass filters to verify the scientific feasibility of the next-generation solar coronagraph. The solar corona is very dark compared to the photosphere because of its low density and polarization characteristics, caused by electron scattering around the Sun. The solar corona is therefore difficult to observe from the ground because the sky background is bright; as such, the solar coronagraph mainly operates in the outer space. A total solar eclipse is a unique astronomical phenomenon in which the Moon blocks the solar disk, and it is a natural testbed for the DICE telescope that can be used to observe the solar corona without the need for an artificial occulter.

We were able to measure the polarization of the sky and the polarization of the solar corona using the DICE telescope the total solar eclipse observation in 2017. In this study, we demonstrate the usefulness of cFS as a telescope software environment. We briefly introduce the cFS and DICE observation systems in Section 2. We describe the development of the DICE software in Section 3. The total eclipse expedition and observation results for sky and solar corona polarization are presented in Section 4. Discussion and conclusion are presented in Section 5.

2. Instrumentation

2.1. DICE Telescope

The DICE instrument consists of imaging and mechanism parts to obtain scientific data between 1 and 14 RSun (0fdg227 and 3fdg73) from the total solar eclipse observations (Figure 1). To increase the signal-to-noise ratio (SNR) of the corona during the total solar eclipse, two instruments were built to obtain as much data as possible.

2.1.1. Imaging Part

The optical system of the DICE imaging part consists of four lenses, four bandpass filters, and a polarization filter. The optical system has a focal length of 115 mm and an F-number of 2.3. Its performance shows 5.6 μm rms diameter (Cho et al. 2020). The bandpass filters pass wavelengths within 100 Å bandwidth at 3939 Å, 4025 Å (temperature), 3990 Å, and 4249 Å (speed) manufactured by Andover. The polarization filter is Thorlabs' WP50L-UB, which is an ultra-broadband wire grid polarizer with AR coating. Its transmission and extinction ratio are 70% and 5000. The camera uses the QSI-640i model using KAI-04022 interline CCD and USB2 data communication. The camera has 7.4 μm of pixel size, 2048 × 2048 pixels, and 16 bits of digital resolution.

2.1.2. Mechanism Part

The DICE filter wheel system operates by rotating the bandpass filter wheel and polarizer at 90O and 60O in one direction, respectively. The filter wheel uses spur gears with a gear ratio of 9.75 or 9.85. The motor, MOOG Animatics' SM2316D-PLS2, which is a DC servo type with an encoder resolution, can perform 4000 counts per revolution and provide RS-232 communication. The filter wheel is equipped with a limit sensor for position initialization. The polarization filter wheel shows polarization brightness within a 1% deviation in the repeatability test (Cho et al. 2020).

Figure 1.

Figure 1. DICE instrument has imaging and mechanism parts. The imaging part consists of pinhole aperture for calibration, optical lens and filters, and a Charge-Coupled Device (CCD) camera to observe solar corona up to 14 Solar Radius (Rsun). The mechanism part consists of a translation stage for focusing and two motorized filter wheels for bandpass filters and a polarizer.

Standard image High-resolution image

2.2. Observation System

An observation system was built using a pointing system carrying a science payload and a power distribution unit (PDU) with batteries (Figure 2). The science payload mounts two DICE instruments and control computers, and a wireless network switches on the mechanical structure. The total payload weight is approximately 12 kg. An operator can adjust the sight of the science payload with the intended target of the pointing system and handle DICE instruments using a remote computer via a wireless network switch.

Figure 2.

Figure 2. The observation system in a fail-safe configuration. The pointing system, a robotics equatorial mount for tracking the Sun, mounts the science payload built with the two DICE instruments, dedicated control computers, and a wireless network switch. The two power distribution units (PDUs) provide independent power to the science payload and manual switchable power to the network switch and the pointing system. An operator can control the pointing system by the hand controller and the science payload by the remote control computer. The red and blue lines show power and data distributions, respectively.

Standard image High-resolution image

We utilized a robotic equatorial mount for slewing and manual adjustment to the center of the images using the hand controller. Because of the large field of view of the DICE instrument, we can aim for the pointing system to find the Sun in the images. In addition, a tracking drift is acceptable during a short period of totality if the polar alignment of the pointing system is performed using GPS. The mount uses Bisque's Paramount MYT software, which can load a payload of a maximum of 45 kg and track an astronomical object with an accuracy of 1''. Our aim was to develop software for controlling the DICE instrument, software prototypes of the scientific balloon mission BITSE operated by Wallops Arc-Second Pointer (WASP), and an independent pointing system (Gopalswamy et al. 2021).

The control computer controls the DICE camera, filter wheels, and handles commands and data. The computer used was the ASUS UN65U model, which is equipped with an Intel 7th generation i5-7200U (2.5 GHz) processor, 4 GB SDRAM, and 256 GB SSD. The computer was connected to the camera and filter wheels through USB ports, using an RS232-USB converter for the filter wheel. The two computers were connected to the network hub so that the remote computer could communicate with them.

Because the observation of the total solar eclipse takes place outdoors, the PDU was built to provide stable power for electronics. The PDU can have a 9–20V DC power input port and 4 × 5V, 2 × 12V, and 2 × 48V power output ports. For the primary power source, the PDU used two 12V car batteries. The PDU provides 5V to the network hub, 12V to the cameras and control computers, and 48V to the filter wheels and mount.

Two dedicated embedded systems control each of the two instruments. In addition, they used two sets of PDUs and batteries. This fail-safe configuration requires more electrical power and is heavier than a single configuration for controlling the two instruments. The observation system remained safe for a short observation time in the total solar eclipse. The network router and pointing system are the only single points of failure in the observation system. The impact of pointing system failure is minimized because of the large field of view. We can mitigate the risks of network failures using a scheduler in embedded software to run an observation program automatically at the absolute time for totality. The system time of the embedded computers was synchronized using the network time protocol system software with a remote control computer. If a single computer is fault tolerant and has acceptable performance, it can handle multiple instruments simultaneously to reduce the weight load and electrical power. In this case, the embedded software should control the two instruments in multiple processes, multiple threads, or polled I/O.

3. Software Development

3.1. The core Flight System

The three critical elements of the cFS are the dynamic runtime environment, layered software architecture, and component-based design, which are suitable for most embedded software development. The cFS helps develop platform-independent software through the functional abstraction of hardware and operating systems and provides an API for its core services. McComas et al. (2016) show a layered software architecture that consists of stacked abstraction libraries, the core flight executive (cFE), and applications that are dynamic link libraries. The cFS can run applications with plug-and-play capabilities in parallel and support their communications on a software bus using the message queue. Developers can cooperate for development and test process on application basis using the cFS. Loosely coupled application modules have the advantage of being selectively applied to other missions.

cFS is based on codes that have been verified through past NASA space missions. This can be an additional advantage of telescope systems. Time-critical systems are easy to build using cFS, as they support real-time systems. Based on the C language, the cFS can have lightweight executable files, control most hardware drivers, and efficiently use computational resources; thus, it is suitable for building a portable observation environment with limited power. Because the operating principles of the telescope system on the ground and in space are similar, applications developed with the cFS can be reused when the ground telescope system is applied to space.

The operating system abstraction layer (OSAL) provides APIs that abstract operating system functions, such as multitasking, inter-process communication (IPC), interrupt and exception handling, and file systems. The platform support package (PSP) is a software library that defines all toolchain settings required when building the cFS in a specific operating system and hardware platform. The PSP is implemented using the board support package (BSP) of a hardware platform and contains cFS startup code.

The cFE provides five fundamental services for the operation of modular applications together with the abstraction layer. The cFE comprises a software bus (SB), executive service (ES), event service (EVS), time service (TIME), and table service (TBL). The cFE is middleware such that the applications can be reused in other running environments. SB uses a queue for messaging to support the publish/subscribe messaging patterns to communicate with each other. The message uses the Consultative Committee for Space Data Systems (CCSDS) standard space protocol (CCSDS 2020). The ES manages a task lifecycle in a multithreading environment. EVS handles the prioritized event logs of tasks. TIME provides functions for time calculation and handles external time tone and information to synchronize the system time. TBL manages the data blocks of the tasks in a logical unit called a table. It can dump the data blocks in the memory into a file and load the file into memory.

The application layer includes reusable open-source applications developed by NASA. NASA applications have been used in various space missions and their performance and reliability have been proven (Wilmot 2021). The cFS with NASA applications can be a baseline for building a software system that satisfies mission requirements because NASA applications have the advantage of essential functions commonly required by flight software. The most critical role of flight software is data processing (DS: data storage, HK: housekeeping, MD: memory dwell, CF: CCSDS file delivery protocol), automated operation (SC: stored command, LC: limit checker, SCH: scheduler), resource management (FM: file manager, MM: memory manager), and safety (CS: check sum, HS: health and safety).

NASA is dedicated to systematic software reuse for the cFS, which includes technical documents, such as requirements, designs, tests, and user guides, as well as reliable source codes. Technical issues regarding the cFS can be resolved through community effort. NASA continues to use the cFS for various space missions to ensure software quality. Most cFS applications include automated test scripts to perform regression tests according to application changes. However, the testing and operation can be performed by ASIST (Advanced Spacecraft Integration and System Test, http://sed.gsfc.nasa.gov/etd/583/tech/asist) and ITOS (Integrated Test and Operation System, http://itos.gsfc.nasa.gov), which are for US government purposes only. McComas (2018) distributed OpenSatKit along with COSMOS, an open-source software for testing and operating cFS, which is a great alternative if ASIST and ITOS are difficult to use.

3.2. Embedded Software

The DICE-embedded software was developed based on the version 6.5a of the cFS. The cFS includes OSAL and PSP, which support x86 processor-based computers and Linux operating systems. An Ubuntu Server 16.04 LTS 32 bit was used as the operating system. The embedded software was set larger for both the maximum buffer size of the software bus and the block size of the executive service to utilize the memory of the control computer.

We built embedded software integrated with cFS mission-specific and reusable applications. The mission applications include camera control (CAM), filter wheel control (WHL), data acquisition and processing (DAP), and observation control (OBS) applications. The reusable applications consist of a scheduler (SCH) application that generates periodic commands in a unit of seconds, and the command ingest (CI) and telemetry output (TO) applications that process remote command and telemetry on the software bus through Ethernet. Figure 3 shows the activities of the applications for the data distribution and observation control of the embedded software.

Figure 3.

Figure 3. The embedded software consists of seven cFS (core Flight System) applications. Command Ingest (CI) and Telemetry Output (TO) make Software Bus connect to pass commands and telemetry via Ethernet. Commands which are ingested by CI and generated by the Scheduler (SCH) are processed in each application. Telemetries which are produced in each application is distributed by Software Bus and delivered to Ethernet by TO. Filter Wheel Control (WHL) and Camera Control (CAM) make the DICE instrument work properly; Data Acquisition and Processing (DAP) creates science files into onboard storage of the control computer. OBS orchestrates the applications for automated observation.

Standard image High-resolution image

The applications are dynamically loaded by the cFE executive service and run on a per-thread basis. The software bus distributes commands and telemetry to the data pipes of the applications in a publish-subscribe messaging pattern. Applications can process messages queuing on a specific data pipe sequentially.

The CI and TO transfer commands and telemetry through the Ethernet network, so the DICE-embedded software can be remotely monitored and controlled over the network. The SCH generates a periodic command at 1 s intervals. This is necessary to perform time-synchronized functions of the applications and generate periodic status information, such as housekeeping telemetry.

The WHL and CAM can independently control the filter wheel and camera. The CAM stores image frames in memory space using the memory pool function of the cFE executive service. The OBS manipulates WHL and CAM using messages with the parameters of each observation sequence according to an observation program file, which consists of the filter wheel position, camera exposure time, and integration limit for image frames. The OBS receives telemetry of the current filter wheel status and camera status, constructs the header of the scientific data, and then generates science data by combining the header with an image frame. The DAP receives the science data, performs image processing, and writes the data as files for onboard storage. After DAP finishes writing the file, it returns the memory space where the image frame is stored.

3.2.1. Filter Wheel Control

WHL drives the polarization and bandpass filter wheels in a relative or absolute position with an input value in the angular range from 0° to 360° and can perform sudden stop and deceleration stop operations. In addition, the filter wheels can be initialized to their home positions using their position sensors. WHL can set the motor's position [degree], speed [rpm], and acceleration [rev s−2] through a remote command and read the current position and driving status. WHL analyzes the operational status of the filter wheels using time and position data, which are acquired as the reference positions of the filter wheels passing through the position sensors in a single direction. The default rotation speed for the filter wheels is 50 rpm, and so, it takes approximately 0.3 and 0.4 s to rotate the bandpass and the polarization wheel based on the following filter position, respectively.

3.2.2. Camera Control

The CAM can configure the CCD temperature, frame size, binning, region of interest, and exposure time of the camera, and acquire image frames by the camera through the start and stop commands. It can also handle the frame acquisition process using the repeat count and integration time limits. The exposure time can be adjusted through an exposure compensation value by a command or automatically overridden by using the optimal exposure time calculated by DAP. A readout time of the camera is about 1 s for a full-frame and 0.3 s for a 700 px by 700 px without binning for 3 solar radii coverage. The temperature of the camera was maintained at 20 °C.

The CAM publishes the acquired image frame as the payload of the message of science data to the software bus. Because the message size is large, there is a delay in handling the messages on the software bus, which can reduce the real-time characteristics of the system. Therefore, the software bus utilizes the memory space allocated from the memory pool of the executive service for the efficient processing of large messages using a zero-copy protocol.

3.2.3. Data Acquisition and Processing

DAP performs image processing, real-time image transfer, and science data-writing for local storage. These functions are selectively activated via remote commands. They are useful for aligning the optical system to a target object on a remote system. DAP processes messages containing image frames generated by CAM and releases a block from the memory pool after a science file has been stored. The memory pool can hold image frames as much as its own size; therefore, DAP and CAM can be synchronized to use memory resources without conflict. The output file format is memory-dumped data with a science header, including filter wheel positions, camera exposure time, and observation time. The Python script for post-processing is used to convert them to FITS files using Astropy (http://www.astropy.org), a community-developed core Python package for astronomy (The Astropy Collaboration et al. 2013, 2018).

Image processing can calculate image statistical information (pixel values of 1% of top and bottom and middle) and the optimized exposure time is calculated using the following equation:

Iopt is the optimized target intensity and Texp and Iexp are the exposure time and intensity of the source image, respectively. Iopt and Iexp generally use half of the maximum pixel value of a camera and the average intensity of a source image, respectively; however, Iexp uses the pixel value of the top 1% for solar observation. The real-time images were reduced for display on a remote computer of a suitable size by down-sampling the original image to 256 × 256 × 8 bits.

3.2.4. Observation Manager

The OBS can automatically operate the processes of camera exposure and filter wheel motions in synchronization by generating control commands to the camera and filter wheels and processing the status change notification telemetry of the CAM and WHL. The observation sequence may set a polarization and a bandpass filter wheel position in degrees, an exposure time in milliseconds, and image acquisition control parameters of exposure count and acquisition time, which are listed in an observation program file in the form of plain text. The program file comprises columns of bandpass and polarization filter wheel positions in degrees, exposure time in milliseconds, frame acquisition count and time limit, and observation option separated by white spaces. Each sequence as a row can be moved to the next sequence by the count limit, time limit, or both. The OBS can load and execute a specific program file repeatedly at a scheduled time.

3.3. Control Software

The control software is implemented by referring to the ground system, which is a utility in the cFS software package. The control software is written in Python, which can run on various operating systems and has a graphical user interface (GUI) implemented with the QT framework. The control software can transmit commands by calling the command utility with a character user interface (CUI), another utility of the cFS software package compiled with C language in a remote software environment.

The control software consists of backends that communicate via an Ethernet network with the DICE-embedded software and frontends that interface with the users (Figure 4). One copy of the backends and two of the frontends were run on a remote computer to control each embedded software. The telemetry system receives telemetry via UDP and relays it to the telemetry router, which distributes telemetry receivers via TCP/IP. The telemetry receiver processes telemetry data to serialize the data objects used in the ground system by a telemetry factory, which creates the data objects in the definition of data formats. The ground system handles a GUI that monitors telemetry and generates remote commands by calling the command sender. The ground system communicates with an embedded computer that connects one camera and two filter wheels.

Figure 4.

Figure 4. The control software builds with backends and frontends. Telemetry system and Command Sender communicate with the DICE embedded software via Ethernet then Telemetry Router distributes the telemetry to the frontends. Telemetry Receiver can serialize data to be used at Ground System by Telemetry Factory. The Ground System can request to send commands on Command Sender.

Standard image High-resolution image

Figure 5 shows an example of the user interface of the control software. It is designed to arrange the commands necessary for observing the total solar eclipse and determine the observation progress. It also includes functions of manual commanding and a log trigger for integration and test purposes. The screen layout is arranged for content related to commands to appear on the left and telemetry on the right. The functions of each part are summarized as follows:

  • 1.  
    A: Network setting for connection with the DICE embedded software
  • 2.  
    B: Manual command transmission
  • 3.  
    C: Time synchronization
  • 4.  
    D: Bandpass filter control
  • 5.  
    E: Polarization filter control
  • 6.  
    F: Camera control
  • 7.  
    G: Observation control
  • 8.  
    H: Telemetry transmission control
  • 9.  
    I: Data processing and storage control and real-time image display
  • 10.  
    J: Display event message
  • 11.  
    K: Display housekeeping information
  • 12.  
    L: Log control for performance measurement

Figure 5.

Figure 5. The control software has a graphical user interface to send commands and display telemetry of the embedded software.

Standard image High-resolution image

3.4. Integration and Test

We performed functional tests using DICE software while integrating the observation system in the laboratory. The bandpass filter wheel was visually inspected to ensure that it transitioned to the expected position for each filter. The polarization filter wheel was verified by repeatedly measuring the polarization angles in rotation at a single point (Cho et al. 2020). The camera control function was verified using multiple image files. We executed a test observation program file to verify the observation automation function during normal operation for two hours. We then verified the observation functionality in a similar field configuration of the total solar eclipse using a DICE system, which was mounted on a pointing system, powered by an external power source, and controlled using a remote computer. The DICE system in the field configuration was verified by capturing images of the full Moon, which is known to have a similar corona brightness as that of a total solar eclipse.

4. Total Solar Eclipse Expedition

4.1. Preparation

A total solar eclipse occurred across the east and west of the United States on 2017 August 21. We observed the eclipse in Jackson, Wyoming, where the total duration was not too short, and it was forecasted to have low cloud cover. The observation site was located in the National Elk Refuge (43° 33' 34farcs07 N, 110° 37' 30farcs62 W), away from the roadway, to avoid dust and interruptions from other people. The maximum duration is 2 minutes 18 s. Table 1 lists the times and the Sun's positions in each phase of the total solar eclipse. Figure 6 shows a photograph of the DICE observation system deployed in the field.

Figure 6.

Figure 6. The observation system installed at the field in Jackson Hole, Wyoming for observing the total solar eclipse in 2017. The science payload which are two DICE instruments, two dedicated control computers, and Ethernet network hub mounts on an equatorial mount. Power distribution units provide electric power to the science payload and the mount from car batteries.

Standard image High-resolution image

Table 1. Observation Time and Solar Positions during Phases of the Solar Eclipse

EventUTLocal TimeΔt AltitudeAzimuth
Partial phase start2017-08-21 16:16:462017-08-21 10:16:46-1:19:1938fdg5113fdg2
Totality start2017-08-21 17:34:562017-08-21 11:34:56-0:01:0950fdg2134fdg5
Totality max2017-08-21 17:36:052017-08-21 11:36:050:00:0050fdg4134fdg9
Totality end2017-08-21 17:37:142017-08-21 11:37:140:01:0950fdg5135fdg2
Partial phase end2017-08-21 19:00:302017-08-21 13:00:301:24:2557fdg8168fdg2

Download table as:  ASCIITypeset image

The optimal exposure time (Te ) during the total solar eclipse for each filter is estimated for the DICE telescope aperture through the exposure time (Tt ) of the pinhole aperture during the pinhole observation. Assuming a coronal brightness of 10−6 disk brightness, Te is given by:

where the pinhole diameter (Dp ) is 0.2 mm, the DICE telescope aperture (Do ) is 50 mm. Tt is derived from the target intensities (It ) through the intensities (Ip ) and exposure times (Tp ) from the pinhole observation:

It is set to 20,000 and 40,000, which is approximately 1/3 and 2/3 of the CCD dynamic range, respectively, considering the expected spectral change of the corona in comparison with the solar disk. Table 2 shows the intensities and exposure times in the pinhole observation and calculation of exposure times for target intensities during the solar eclipse.

Table 2. Calculations of Exposure Times at Each Filter for the Total Solar Eclipse from Results of Pinhole Observation of Solar Disk

Bandpass Filter (Å)Pinhole Intensity (Ip )Pinhole Exposure (Tp ) msTarget Intensity (It )Target Exposure (Tt ) msEclipse Exposure (Te ) ms
393416697102000012192
402532562124000015236
399033361154000018288
424918635420000469

Download table as:  ASCIITypeset image

4.2. Observation

The observation program was composed of flat and dark imaging, pinhole observation for partial and total solar eclipse observations. We aimed the pointing system at the open sky away from the Sun and operated the filter wheel and the camera manually so that the flat imaging shot a consistent distribution of light from the sky. Dark imaging was performed before and after the partial solar eclipse. Image processing was paused during the total solar eclipse to capture as many images as possible within a short period of time.

The total solar eclipse observation was automated using the observation program of the DICE software. Three program files were created respectively for dark imaging, pinhole observations, and eclipse observations. The observation files were uploaded to the DICE control computer using FTP. The DICE software controlled the number of frame exposures in each sequence of the observation program during a limited time of the total solar eclipse observation and a limited frame count for the dark and the pinhole images.

We successfully performed the eclipse observation using one of the DICE telescopes. The other failed during the total eclipse because of frame transfer error of the camera. The pinhole imaging, every 10 minutes, acquired a total of 120 images in 10 repeats, with a total of 12 images for four bandpass filters and three polarization angles. Dark imaging yielded a total of 130 images for each exposure time of up to 5 s. The total solar eclipse observations yielded 161 images. The polarization filter was rotated every 60° to obtain an image set for polarization angles of 0°, 60°, and 120° per bandpass filter. We obtained two complete sets of observational images for the total solar eclipse, except for oversaturated images, owing to the sudden change in solar brightness at the start and end of the total eclipse. Figure 7 shows a set of observational images of the total solar eclipse. Each bandpass image was obtained with the expected signals using the exposure times calculated through the pinhole observation shown in Table 2.

Figure 7.

Figure 7. Solar coronal images with three polarization angles and four bandpass filters during the 2017 total solar eclipse. The change in the brightness of the solar corona is well observed according to the change of the polarization angle. Strong emission is observed from the solar prominences west of the Sun in the 3934 Å filter image.

Standard image High-resolution image

4.3. Data Processing

We created software procedures for data processing and plotting using interactive data language (IDL). All total eclipse images were preprocessed to remove dark current images. We attempted to measure the flat field images of each filter on the day of the total solar eclipse, but we could not obtain useful flat field images because of the sky's polarization pattern. The flat images are important to correct the systematic bias of the two different systems; therefore, we planned to take flats in a laboratory after the day of the observation. Because only one instrument worked in capturing the total eclipse, we continued data processing without flat-field correction. We assumed that the pixel-to-pixel sensitivity variations and the effect of dust or scratches on the optics and CCD window were negligible across a few pixels of tracking drift during the total eclipse.

As shown in Figure 7, the three polarization angles of each filter resulted in different coronal structures. For their co-alignments, we used the following procedure: (1) We aligned the normalized images with a specific polarization degree of each filter to its first-time image by using a cross-correlation technique. (2) We aligned the images with 60 and 120 polarization degrees of each filter to its image with zero polarization degree using the position of the solar disk. (3) We aligned the 3990, 4025, and 4249 Å images to the 3934 Å images. (4) By comparing our four filter images and the SDO/AIA 304 Å observed at 17:36 UT on 2017 August 21 we checked the co-alignment. After the co-alignment, we stacked images with the same polarization angles for each filter to improve the signal-to-noise ratio of the coronal structures.

Using three polarization angle images of each filter, we estimated the polarized brightness (pB), total brightness (tB), degree of linear polarization (dP), and angle of linear polarization (aP). Here, pB, tB, dP, and aP are defined as follows (Billings 1966 Lu et al):

It should be noted that the field of view (FOV) of the DICE ranged from the solar disk center up to 14 solar radii. When we carefully investigated the coronal structures using the exposure times (192, 236, 288, and 69 ms) for each filter (3934, 4025, 3990, and 4249 Å), the coronal structures could be well observed until approximately two solar radii. From this, we cropped all the images within the FOV from the solar disk center to a solar radius of 2.5.

4.4. Results

Figure 8 shows examples of pB, tB, dP, and aP images for each filter observed in the 2017 total eclipse. From this, we find the following characteristics: (1) coronal structures such as East, West, North-West streamers are well observed as shown in pB and tB. Based on a careful investigation if the tB image of the 3934 Å filter, we found that the radial leakage patterns (gray arrows) were caused by the prominences (orange arrows) that contaminated the neighboring pixels due to the strong scattering light. (2) The dP of the coronal streamers generally increased with the increase in the heliocentric distance until a specific solar radius and then decreased. The maximum dP were located at a height of 1.2 solar radius on the eastern streamer, as shown by black arrows in dP. The values of dP are similar to one another with 0.3 (3990 Å), 0.31 (4249 Å), 0.31 (3934 Å), and 0.33 (4025 Å). The mean value of dP at the sky background are consistent with 0.1 except for 0.08 for 3934 Å. (3) The aP of the coronal structures were roughly 90° on the left and right and roughly 0° on above and below, similar to those obtained using the Thomson scattering theory. The aP of the sky background had the same values as 75.1, (3990 Å), 73.7 (4249 Å), and 76.5 (3934 Å), except for 60.0 (3934 Å). Our results therefore demonstrated that DICE is highly effective for the observation of coronal structures such as coronal morphology and polarization degree.

Figure 8.

Figure 8. Examples of pB (a), tB (b), dP (c), and aP (d) for each filter during 2017 total eclipse. Top to bottom row panels show the 3990, 4249, 3934, 4025 Å filter images. White circle represents the location of the solar disk. Black arrow indicates the location having maximum dP. Orange and Gray arrows show the locations of prominences and radial leakage patterns caused by the prominences. Gray circle shows the location with a radius of 0.3 solar radius, which is used for estimating the dP and aP of sky background.

Standard image High-resolution image

Vorobiev et al. (2020) observed the 2017 total solar eclipse in Madras, Oregon, using a polarization imaging camera equipped with Bessel B and R filters. They found that the maximum dP was 0.47 near the height of 1.5 solar radius in the eastern streamer. The sky foreground at the Bessel B and R filters showed 0.16 and 0.08 of the mean values of dP and a difference of ∼11° of the mean values of aP was observed.

Our findings of the maximum dP of the solar corona and the dP and aP of the sky background, however, differ from their results. These discrepancies might be due to the different filter characteristics and geographic and weather conditions at the observation sites. The lower value of dP obtained from DICE might be caused by the strong scattering of light from prominence pixels, which leads to an increase in the tB of each filter. The 3934 Å filter, especially, transmitted more light from the prominent pixels. As our bandpass filters had narrower bandwidths than theirs, no significant differences in dP and aP were observed between the bandpass filters.

While we describe the polarization characteristics of solar corona and sky background, Cho et al. (2020), on the other hand, studied the general data processing and results for the uncertainty of the DICE observation data and the solar corona temperature. Unfortunately, they were not able to obtain the velocity of the solar corona, as it could not be calculated owing to the low SNR caused by the insufficient observation data collected during the short total eclipse observation time. It is interesting to note that polarization cameras can obtain multiple polarization angles simultaneously by attaching a micropolarizer array to an imaging sensor, making it possible to obtain high SNR data by image stacking (Reginald et al. 2017, Vorobiev et al. 2018). Gopalswamy et al. (2021) developed a solar coronagraph equipped with a polarization camera to observe the temperature and velocity of a solar corona at an altitude of 40 km.

5. Discussion and Conclusion

Schmidt (1999) mentioned that most reusable software originates from solving real problems in particular application domains. Reusable software provides generalized and abstracted interfaces for solving these problems. Software development for telescopes and satellite systems may exist in a common context. Because telescope systems have a long life cycle, hardware and operating system changes are inevitable, and satellite systems use different platforms depending on their missions. Both the systems require the connection of various observational instruments. The system can interact with the observational instrument and continue to operate without interruption when the observation instrument is changed. The development of observational instruments requires an environment in which multinational organizations can participate and many people can collaborate with each other. The solution provided by the cFS is flexibility of system operation with pluggable modular applications based on a layered software architecture with a stable interface using a component-based development method.

There is no all-rounder software to solve the problems of every mission. We need to find solutions using reusable software, but this does not mean that all the features of the reused software must be used. Depending on the timing and types of problem in a mission, different reuse software can be selected. The important thing is to discern the useful features of reusable software.

Chiozzi et al. (2008) argued that software reuse is not free. As such, for the successful reuse of software, technical differences with the target mission must be overcome, and socioeconomic problems must be resolved. Systematic software reuse can be easily achieved by conducting user learning throughout an organization however, there is an initial cost and risk of incorrect reuse. A practical approach to software reuse is for users to gradually scale their use of reused software, starting with small-scale missions. Users will gradually acquire the skills to manage reuse software and design knowledge to solve integration problems.

In this work, we developed embedded and control software for the solar corona observation telescope of DICE (DIagnostic Coronagraph Experiment) using the NASA core flight system (cFS). We observed the total solar eclipse in the United States in 2017, confirming that the cFS can be applied to a portable observation system. The reuse process will allow us to improve our experience and knowledge of cFS. The flight software of Balloon-borne Investigation of Temperature and Speed of Electrons in the Corona (BITSE), a high-altitude scientific balloon mission carried out in 2019, was developed by reusing and expanding the DICE embedded software (Gopalswamy et al. 2021). The BITSE flight software can be reused in the payload flight software at the ISS for the Coronal Diagnostic Experiment (CODEX) mission in 2023. The software used in this study is available in Park (2022), under Apache License 2.0. This software is findable and accessible on Github (https://github.com/jongyeob/ASTOBS).

This work was supported by the Basic Science Research Program through the NRF funded by the Ministry of Education (NRF-2019R1A2C1002634), the Korea Astronomy and Space Science Institute (KASI) under the R&D programs (project No. 2021-1-850-05 and 2022-1-850-07) supervised by the Ministry of Science and ICT.

Please wait… references are loading.