Published September 27, 2024 | Version v7
Software Open

SynCOM: Procedures for Simulating Transient Solar Wind Flows in High Resolution

  • 1. Catholic University of America
  • 2. NASA Goddard Space Flight Center
  • 3. ROR icon National Center for Atmospheric Research
  • 4. Southwest Research Institute
  • 1. ROR icon Catholic University of America
  • 2. ROR icon Goddard Space Flight Center
  • 3. Southwest Research Institute
  • 4. ROR icon National Center for Atmospheric Research

Description

SynCOM IDL Procedures

Welcome to the SynCOM IDL procedures repository! This set of procedures allows users to generate high-resolution simulations of transient solar wind flows. Below, you'll find an explanation of the key functions and how to use them. 

 

1. SYNCOM_PRAMS

This procedure initializes and sets up the model parameters necessary for generating SynCOM solar wind images. It creates a structure containing all the essential inputs required by subsequent procedures.

Usage:

SYNCOM_PRAMS, ModPramsStruct, SYNCOM_N_BLOBS=5000.

Parameters:

ModPramsStruct: A structure that stores model parameters, such as the grid size, number of blobs, and other physical properties.

SYNCOM_N_BLOBS: (Optional) Specifies the number of blobs (solar wind features) to simulate. Default is 1000.

 

2. SYNCOMLOAD

This procedure loads the blob data into arrays and prepares the necessary structures based on the model parameters. It also applies pre-calculated velocity profiles and random assignments for blob positions and sizes.

Usage:

SYNCOMLOAD, ModPramsStruct, LoadStruc 

Parameters:

ModPramsStruct: The structure with input parameters (e.g., grid size, blob count) generated by SYNCOM_PRAMS.

LoadStruc: A structure that stores arrays such as positions, velocities, and periods, facilitating faster generation of images.

 

3. SYNCOM_CORE

This procedure generates the synthetic images based on the parameters and structures provided. It simulates the outward propagation of solar wind blobs over time and produces a sequence of images representing transient solar wind behavior.

Usage:

SYNCOM_CORE, N_BLOBS=N_BLOBS, syncom_data, time_t=time_t, time0=time0, syncom_version=syncom_version, scale_factor=scale_factor, /simple 

Parameters:

N_BLOBS: The number of blobs to simulate in the image sequence.

syncom_data: A 3D array to store the generated synthetic solar wind images over time.

time_t: The final time (in frames) for the image sequence.

time0: The initial time (in frames) for the image sequence.

syncom_version: (Optional) The version label for the SynCOM model, used as a prefix for output files.

scale_factor: (Optional) A scaling factor for adjusting blob sizes. Default is 1.

simple: (Optional) A keyword to control whether a sinusoidal velocity profile is applied to the blobs.

 

4. SYNCOMIMAGE

This procedure generates a single synthetic image of the solar wind at a specific time step. It computes the positions and velocities of the blobs, then generates Gaussian "blobs" representing solar wind features.

Usage:

SYNCOMIMAGE, ModPramsStruct, syncom_version, time_0, radial_i, v_array, period_array, L_array, PSI, time_t, img

Parameters:

ModPramsStruct: The structure containing model parameters such as grid size and number of blobs.

syncom_version: The version of the SynCOM model.

time_0: Initial time offset for blob appearance.

radial_i: Array of initial radial positions of blobs.

v_array: Array of blob velocities (pixels per frame).

period_array: Array of reappearance periods for blobs.

L_array: Array of blob sizes.

PSI: Array of polar angles for each blob.

time_t: The current time step for which the image is generated.

img: A 2D array representing the generated synthetic solar wind image.

 

5. SYNCOMNOISE

This procedure adds random noise and brightness variations to a synthetic image. It simulates observational noise and adjusts the image brightness according to pre-defined intensity profiles.

Usage:

SYNCOMNOISE, ModPramsStruct, img, new_img, rect_img, file_name, /rectangular, /noise_add, /luminosity_add 

Parameters:

ModPramsStruct: The structure containing model parameters such as noise level and grid size.

img: The input synthetic image.

new_img: The output image with added noise and brightness adjustments.

/noise_add: (Optional) Adds random noise to the image.

/luminosity_add: (Optional) Adjusts the image brightness according to the input profiles.

file_name: (Optional) The path to a file containing intensity profiles for brightness adjustment.

rect_img: (Optional) The output image in rectangular coordinates, if the /rectangular keyword is set.

/rectangular: (Optional) Converts the polar image to rectangular coordinates.

 

 

 

Example Workflow:

To generate a set of synthetic solar wind images and enhance them with noise and brightness adjustments:

1. Generate Synthetic Images Using SYNCOM_CORE:

SYNCOM_CORE is capable of handling the initialization of parameters and loading of structures internally. You only need to provide the number of blobs, the time frame, and optional parameters such as version and scale factor.

SYNCOM_CORE, N_BLOBS=5000, syncom_data, time_t=100, time0=0, syncom_version="example", scale_factor=2

This step will create a set of synthetic solar wind images, saving them with the prefix "example". The 3D array syncom_data will store simulated images and parameters, such as ModPramsStruct and LoadStruc.

2. Enhance the Simulated Images Using SYNCOMNOISE:

After the synthetic images are generated, you can use SYNCOMNOISE to add noise and simulate brightness behavior based on intensity profiles. This step helps mimic the observational conditions and enhances the visual quality of the images.

SYNCOMNOISE, ModPramsStruct, syncom_data, new_img, /luminosity_add 

The enhanced image is stored in new_img with added brightness adjustments, because /luminosity_add was set.

 

NOTES:

New version includes:

- Revised comments for all procedures and functions

- Velocity profile included separately file: "STEREO_analysis.sav"

- Intensity profile included separately file: "STEREO_statistics.sav"

 

Contact

For any questions or further assistance, please feel free to open an issue or contact us directly.

Files

SynCOM videos.zip

Files (73.5 MB)

Name Size Download all
md5:165b5f1069800282c6ac90ee315e80bf
43.0 MB Preview Download
md5:f43e55cbe1575149c9b72514ae1a674f
30.5 MB Preview Download

Additional details

Related works

Is cited by
Preprint: 10.48550/arXiv.2407.09383 (DOI)
Is supplement to
Software: https://github.com/valmirmoraes/SynCOM.git (URL)

Software

Repository URL
https://github.com/valmirmoraes/SynCOM.git
Programming language
IDL
Development Status
Active