hruedisser / 3DCOREweb

Reconstruct CMEs using the 3D Coronal Rope Ejection Model (adapted from https://github.com/ajefweiss/py3DCORE)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

3DCOREweb

Reconstruct CMEs using the 3D Coronal Rope Ejection Model (adapted from A.J. Weiss).

Installation


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

3DCOREweb application


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.

image

Using the Catalog option, several filters can be applied to search the list of available events.

image

Clicking the Submit button will start the data preprocessing.

image

The loading symbol indicates that the data preprocessing is still in progress.

image

Once it is done, the loading symbol is replaced by a checkmark and the user can continue to the next step.

image

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.

image

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.

image

Adding a synthetic spacecraft, the user can adjust its position and reload the plot.

image

Changing the type of the plot to 3D, the user can simulate the modeled CME and its time evolution.

image

Adjusting the model parameters, launch time and time that has passed since the assumed launch time will directly alter the CMEs shape and position.

image

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.

image

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°.

image

To avoid the necessity of manually fitting to the insitu data, the user can start an automatic fitting run.

image

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.

image

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.

image

Once the fitting points are set, the user can adjust the ranges of the several model parameters for the algorithm to search through.

image

After setting the parameters regarding the numerical fitting process itself, the user can start it using the Run button.

image

If no hits can be found, the parameter range may either be set too widely or too far from reasonable values.

image

Correctly set parameter ranges will start the fitting process and update the user on the current status, as well as display the runtime.

image

The error will be reduced with each iteration.

image

Once either the minimum RMSE or the maximum of iterations is reached, the fitting will be terminated.

image

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.

image

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.

image

The 2 sigma area of the fitting results can also be shown in the insitu plot directly.

image

Furthermore, the table can be sorted by any parameter and one or more particular ensemble members can be plotted.

image

Selecting a single ensemble member, the user can adjust the model sliders accordingly.

image


Notes on HelioSat


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:

  1. manually create the folder ~/.heliosat
  2. within .heliosat, manually create the following three folders
    • cache
    • data
    • kernels
  3. 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.

About

Reconstruct CMEs using the 3D Coronal Rope Ejection Model (adapted from https://github.com/ajefweiss/py3DCORE)

License:MIT License


Languages

Language:Jupyter Notebook 95.5%Language:HTML 4.0%Language:Python 0.5%