Reconstruct CMEs using the 3D Coronal Rope Ejection Model (adapted from A.J. Weiss).
First install new conda environment:
conda create -n "3dcorenv" python=3.10.10
conda activate 3dcorenv
Install the latest version of HelioSat manually using git
: (Optional - to avoid using heliosat, download data archive at and place the files in 3DCOREweb/src/coreweb/dashcore/data/archive)
git clone https://github.com/ajefweiss/HelioSat
cd HelioSat
pip install -e .
Install the latest version manually using git
:
git clone https://github.com/hruedisser/3DCOREweb
cd 3DCOREweb
pip install -e .
Install all necessary packages:
pip install -r requirements.txt
To start the application:
3DCOREweb start
By default, no event is selected. The user is asked to continue with one of three options to select an event, that will be processed. To speed up data loading during the usage of the app, the user can choose to download the Data Archive using the according button.
Using the Catalog option, several filters can be applied to search the list of available events.
Clicking the Submit button will start the data preprocessing.
The loading symbol indicates that the data preprocessing is still in progress.
Once it is done, the loading symbol is replaced by a checkmark and the user can continue to the next step.
On the Plot subpage, a 2D plot showing the spacecraft and planet positions around the time of the event can be found. The user can use the checkboxes to adjust which components should be visible in the plot.
On the bottom of the page the insitu data measured by the previously chosen spacecraft can be seen. The colored background indicates the boundaries of the cataloged event.
Adding a synthetic spacecraft, the user can adjust its position and reload the plot.
Changing the type of the plot to 3D, the user can simulate the modeled CME and its time evolution.
Adjusting the model parameters, launch time and time that has passed since the assumed launch time will directly alter the CMEs shape and position.
If the active spacecraft is hit by the CME, the synthetic insitu signatures can be seen in the insitu plot. The current time of the 3D plot is represented in the time series as a vertical red line.
The data can either be shown in RTN or HEEQ and the user can chose the longitude to range from either 0° to 360°, or from -180° to 180°.
To avoid the necessity of manually fitting to the insitu data, the user can start an automatic fitting run.
Default fitting points can be automatically entered for the active observer or adjusted manually. If necessary, the user can add additional fitting points, load previously adjusted points or save them.
These fitting points can be shown in the insitu plot, where the red lines mark the start and end time of the event, and the black lines indicate the datapoints used to fit the model to.
Once the fitting points are set, the user can adjust the ranges of the several model parameters for the algorithm to search through.
After setting the parameters regarding the numerical fitting process itself, the user can start it using the Run button.
If no hits can be found, the parameter range may either be set too widely or too far from reasonable values.
Correctly set parameter ranges will start the fitting process and update the user on the current status, as well as display the runtime.
The error will be reduced with each iteration.
Once either the minimum RMSE or the maximum of iterations is reached, the fitting will be terminated.
The results can then be loaded to the app. This might take a while when a fit is loaded for the first time, as the results are being converted.
Loading a fit will adjust all fitting parameters as they were set during the fitting process. Additionally, the ensemble members of the last fitting iteration are shown in a table. The statistics of the run are shown below. These tables can be saved as csv files using the download button.
The 2 sigma area of the fitting results can also be shown in the insitu plot directly.
Furthermore, the table can be sorted by any parameter and one or more particular ensemble members can be plotted.
Selecting a single ensemble member, the user can adjust the model sliders accordingly.
3DCORE uses the package HelioSat to retrieve spacecraft data and other spacecraft related information if the data is not made available via the archive (positions, trajectories, etc).
In order for HelioSat to work properly, the following steps are necessary:
- manually create the folder ~/.heliosat
- within .heliosat, manually create the following three folders
- cache
- data
- kernels
- if HelioSat fails to download kernels, download them manually and place them in the kernel folder
In those folders, HelioSat will download and save the needed spacecraft data and corresponding kernels. If you want to use custom data not available online, place the datafile in .heliosat/data and set custom_data = True during fitting.