Cloud Modeling with EOIR

STK Premium (Air), STK Premium (Space), or STK Enterprise
You can obtain the necessary licenses for this tutorial by contacting AGI Support at support@agi.com or 1-800-924-7244.

Required Capability Install: For versions 12.10 and earlier of the STK software, this lesson requires the installation of the EOIR capability. For these versions of the software, the EOIR installer is included in the STK Premium software download, but requires a separate installation process. Read the Readme.htm found in the STK software install folder for installation instructions. You can obtain the necessary install by visiting https://support.agi.com/downloads or calling AGI support.

The results of the tutorial may vary depending on the user settings and data enabled (online operations, terrain server, dynamic Earth data, etc.). It is acceptable to have different results.

Capabilities covered

This lesson covers the following capabilities of the Ansys Systems Tool Kit® (STK®) digital mission engineering software:

  • STK Pro
  • Electro-Optical Infrared Sensor Performance (EOIR)

Problem statement

Engineers and analysts need to quickly determine when a system can detect, track, identify, and characterize targets of interest under operational conditions. Modeling and simulating these system behaviors is critical to the success of a mission, and results support concept design, engineering, test, and operations. You want to model a geosynchronous satellite with optical sensors and the cloud patterns it would see from orbit. You also want to observe the results in the sensor data. Going forward, you can then account for potential targets becoming obscured.

Solution

Use the STK software's Electro-Optical Infrared Sensor Performance (EOIR) capability to model the detection, tracking, and imaging performance of electro-optical infrared (EOIR) sensors and account for time-dynamic clouds — the natural enemy of all optical systems — in your mission.

What you will learn

Upon completion of this tutorial, you will be able to:

  • Design a space-based EOIR weather observation system
  • Visualize clouds in the 2D and 3D Graphics windows
  • Incorporate clouds into EOIR sensor scenes
  • Calibrate an EOIR sensor when viewing clouds

Creating a new scenario

First, you must create a new scenario, then build from there.

  1. Launch the STK application ().
  2. Click Create a Scenario in the Welcome to STK dialog box.
  3. Enter the following in the STK: New Scenario Wizard:
  4. Option Value
    Name EOIR_CloudPatterns
    Start Default
    Stop Default
  5. Click OK when you finish.
  6. Click Save () when the scenario loads.
  7. A folder with the same name as your scenario is created for you.

  8. Verify the scenario name and location when the Save As dialog box opens.
  9. Click Save.

Save () often during this lesson!

Disabling streaming terrain

By default, the STK application connects to the Ansys Geospatial Data Cloud to distribute Earth terrain data for analysis and visualization. Turn off streaming terrain, as it is not required for your analysis.

  1. Right-click on EOIR_CloudPatterns () in the Object Browser.
  2. Select Properties () in the shortcut menu.
  3. Select the Basic - Terrain page when the Properties Browser opens.
  4. Clear the Use terrain server for analysis check box in the Terrain Server panel.
  5. Click OK to confirm your change and to close the Properties Browser.

Inserting a Facility object

Use a Facility object on the ground to act as a target for the space-based observation system, at which you will point the sensor. You do not need to set any specific parameters for the ground site.

  1. Bring the Insert STK Objects tool () to the front.
  2. Select Facility () in the Select An Object To Be Inserted list.
  3. Select Insert Default () in the Select A Method list.
  4. Click Insert....
  5. Right-click on Facility1 () in the Object Browser.
  6. Select Rename in the shortcut menu.
  7. Rename Facility1 () GroundSite.

Inserting a Satellite object

Build the Earth observation satellite by inserting a new Satellite object using the Orbit Wizard.

  1. Bring the Insert STK Objects tool () to the front.
  2. Insert a Satellite () object using the Orbit Wizard () method.
  3. Open the Type drop-down list when the Orbit Wizard opens.
  4. Select Geosynchronous.
  5. Enter EarthObsSat in the Satellite Name field.
  6. Select the Show All Objects check box in the Graphics panel.
  7. Showing all objects helps you see where GroundSite is with respect to the satellite. Since the satellite is in GEO, as long as you are on the correct side of the hemisphere, you are able to see GroundSite.

  8. Enter -75 deg in the Subsatellite Point field in the Definition panel.
  9. Leave the Inclination set to 0 deg.
  10. Click OK to propagate EarthObsSat () and to close the Orbit Wizard.

Configuring the space-based sensor

You are creating a space-based Earth observation system.

Inserting a Sensor object

Insert a Sensor object and attach it to EarthObsSat.

  1. Bring the Insert STK Objects tool () to the front.
  2. Insert a Sensor () object using the Define Properties () method.
  3. Select EarthObsSatellite () when the Select Object dialog box opens.
  4. Click OK to confirm your selection and to close the Select Object dialog box.

Defining the sensor Pointing properties

By default, the sensor is mounted on the satellite with a Fixed Pointing Definition, which points it directly at the Earth. By using a Targeted pointing type, you can center the sensor's focus on GroundSite. That changes the angle of the sensor and makes GroundSite the point of focus.

  1. Select the Basic - Pointing page when the Properties Browser opens.
  2. Open the Pointing Type drop-down list.
  3. Selected Targeted.
  4. Select GroundSite () in the Available Targets list in the Targeted panel.
  5. Move () GroundSite () to the Assigned Targets list.
  6. Click Apply to confirm your changes and to keep the Properties Browser open.

Configuring an EOIR sensor

You've defined the pointing behavior of the sensor. Next, you can build the electro-optical infrared components of your mission. The STK software's Electro-Optical Infrared Sensor Performance (EOIR) capability models the detection, tracking, and imaging performance of electro-optical and infrared sensors. With the EOIR capability, you can generate accurate imagery and system-to-target metrics across ultraviolet, visible, and infrared wavelengths (0.28 to 28 microns).

Selecting the EOIR sensor definition

To create an EOIR scene, you need to specify the EOIR properties for the sensor and the other objects in the scenario. Start with the sensor. Select EOIR for the sensor's definition. An EOIR sensor definition models electro-optical and infrared sensors.

  1. Select the Basic - Definition page.
  2. Open the Sensor Type drop-down list.
  3. Select EOIR.
  4. Click Apply to confirm your changes and to keep the Properties Browser open.

Configuring the EOIR spatial properties

When you select an EOIR as the Sensor Type, you can select the Spatial tab to specify the spatial properties for a selected band.

  1. Select the Spatial tab.
  2. Note that by default, a single band will be rendered.
  3. Leave the Input set to Field-of-View and Number of Pixels.
  4. You can choose which two optical parameters are used as inputs, used to calculate a third parameter — in this case, the detector pitch will be calculated.

  5. Enter the following values in the Field of View panel:
  6. Option Value
    Horizontal Half Angle 5 deg
    Vertical Half Angle 5 deg

    The EOIR capability uses these values to determine the full angular extent of the sensor's field of view.

  7. Enter the following values in the Number of Pixels panel:
  8. Option Value
    Horizontal 200
    Vertical 200

    These are the number of sensor pixels in the field of view in the horizontal and vertical directions; the default is 128 for each.

  9. Click Apply to confirm your changes and to keep the Properties Browser open.

Configuring the EOIR spectral properties

Your sensor analyzes the visible waveband between 0.4 to 0.7 microns. Confirm the sensor is configured for visible light by reviewing the spectral band edge definitions in the sensor's spectral properties.

  1. Select the Spectral tab.
  2. Locate the Spectral Band Edge Wavelengths panel.
  3. Confirm that Low is set to 0.400000 (um).
  4. Confirm that High is set to 0.700000 (um).

Low is the shortest wavelength that the sensor responds to. High is the longest wavelength to which the sensor responds.

Configuring the EOIR optical properties

Configure the sensor's optical properties to specify how the optical input is calculated and what quality image to create.

  1. Select the Optical tab.
  2. Open the Input drop-down list.
  3. Select F-Number and Entrance Pupil Diameter.
  4. Leave the F/# set to the default value of 2.000000.
  5. This is the Effective Focal Length/Effective Pupil Diameter of the optical prescription.

  6. Enter 100 in the Entrance Pupil Diameter field.
  7. This is the diameter (in centimeters) of the "single-lens equivalent" optical prescription. 100 centimeters is considered commercially viable.

  8. Open the input drop-down list in the Image Quality panel.
  9. Select Negligible Aberrations.
  10. The EOIR capability models aberrations based on a root-mean-square(RMS) wavefront error; for negligible aberrations, the RMS wavefront error is equal to 0.07.

  11. Click Apply to confirm your changes and to keep the Properties Browser open.

Configuring the EOIR radiometric properties

Update the sensor's radiometric properties to set the values that define the radiant energy measurement.

  1. Select the Radiometric tab.
  2. Ensure the Input is set to High Level.
  3. At a high level, the sensitivity defines the noise floor of the sensor. After generating the sensor scene, you can revisit these parameters.

  4. Click OK to confirm your selection and to close the Properties Browser.
  5. Rename Sensor1 () EOIR_Visible.

Opening the EOIR toolbar

Use the EOIR toolbar () to access the EOIR configuration and EOIR sensor scene for a particular sensor.

  1. Select the View menu in the Menu Bar.
  2. Select the Toolbars menu.
  3. Select EOIR in the Toolbars submenu.

Generating an EOIR sensor scene

Use the EOIR capability's Sensor Scene Generator to generate a sensor scene of what the system on the EarthObsSat sees. The input scene represents the analog world by digitally sampling the "modeled universe" at four times the sensor's pixel's spatial frequency, 16 spatial samples per sensor pixel, and over the passband and at wavelengths defined by the sensor model. The input scene is thus a "box" of floating point numbers of dimension (Horizontal spatial resolution × Vertical spatial resolution × Spectral resolution).

  1. Select EOIR_Visible () in the Object Browser.
  2. Click EOIR Sensor Scene... () on the EOIR toolbar to generate an image that represents the sensor output.

Updating the EOIR scene visual details

An EOIR sensor scene's scene visual details setting provide some control over the amount of calculated detail, and therefore time needed to generate, for a sensor image.

  1. Right-click in the EOIR Sensor Scene window after it is generated.
  2. Select Details... in the shortcut menu.
  3. Select the Fine option in the Scene Detail panel when the EOIR Scene Visual Details dialog box opens.
  4. The scene is initially generated to the spatial resolution of the tessellations. When you use a Fine detail, further calculations apply image interpolation algorithms that smooth off the edges of the tessellations.

  5. Click OK to confirm your selection and to close the EOIR Scene Visual Details dialog box.
  6. EOIR sensor scene without clouds

  7. Review the sensor scene.
  8. The current state of the Earth is without any visible weather patterns — that is, clouds. In order to view them in the sensor scene, you must first account for them in the EOIR configuration.

  9. Close the EOIR Sensor Scene window.

Visualizing clouds in the 3D and 2D Graphics windows

Before loading clouds analytically into an EOIR sensor scene, it is helpful first to visualize what you should expect to see in the 3D and 2D Graphics windows.

Visualizing clouds with the Globe Manager

You can use the Globe Manger Hierarchy tab to view and work with clouds in the 3D Graphics window.

  1. Bring the 3D Graphics window to the front.
  2. Click Globe Manager (Globe Manager button) on the 3D Graphics window's Globe Manager toolbar.
  3. Select the Clouds.cld () check box in the Globe Manager Hierarchy when the Globe Manager Hierarchy window opens.

The .cld file extension is shorthand for cloud. Clouds.cld is part of the STK software installation and is located in <Install Dir>\STK_ODTK 13\STKData\VO\Clouds. You can open this file in a text editor of your choice, such as Notepad or Notepad++. It contains a starting datetime and the name of the cloud map, which can be in a variety of formats (for example, *.png, *.pgm, *.jpg., etc.) Datetime stamps, which increase stepwise, create a dynamic cloud model with corresponding images in the scenario.

example cloud file contents (left) and the associated series of images (right)

The Clouds.cld cloud file contains a single line referencing a single portable gray map image file, Clouds.pgm, which is also included with the STK software installation. Using Clouds.cld, your cloud model will remain static.

Updating the cloud file's properties

You can also change the altitude at which the cloud layer is visualized.

  1. Right-click on Clouds.cld ().
  2. Select Properties... () in the shortcut menu.
  3. Enter 10 km in the Altitude field when the Globe Manager: Cloud Properties dialog box opens.
  4. Click OK to confirm your change and to close the Globe Manager: Cloud Properties dialog box.

Viewing the clouds in the 3D Graphics window

With your cloud altitude configured, view the results in the 3D Graphics window.

  1. Clear the check box for EOIR_Visible () in the Objects Browser to get a better look at the clouds.
  2. Examine the clouds in the 3D Graphics window.
  3. Clouds in the 3D Graphics window

    This gives you an idea of what you should see in the EOIR sensor scene.

  4. Select the check box for EOIR_Visible () in the Objects Browser to turn the display of the sensor back on.

Visualizing clouds in the 2D Graphics window

You can also overlay images of clouds in the 2D Graphics window by updating the 2D Graphics Details properties.

  1. Bring the 2D Graphics window to the front.
  2. Click Properties () on the 2D Graphics window's 2D Window Defaults toolbar.
  3. Select the Details page when the Properties Browser opens.
  4. Select the Cloud File check box in the Clouds panel.
  5. Click the Cloud File ellipsis ().
  6. Navigate to the location of the installed Clouds.cld file at <Install Dir>\STK_ODTK 13\STKData\VO\Clouds when the Cloud File dialog box opens.
  7. Select Clouds.cld.
  8. Click Open to confirm your selection and to close the Cloud File dialog box.
  9. Click OK to confirm your changes and to close the Properties Browser.
  10. Examine the clouds in the 2D Graphics window.

Clouds in the 2D Graphics window

Modeling clouds with the EOIR capability

You can choose to show clouds in an EOIR sensor scene and to specify their modeling parameters.

Updating the EOIR Configuration

Update the EOIR configuration to model clouds.

  1. Click EOIR Configuration... () on the EOIR toolbar.
  2. Click Atmosphere and Textures. . . when the EOIR Configuration dialog box opens.
  3. Select the Clouds page when the EOIR Atmosphere, Clouds, and Texture Maps dialog box opens.
  4. Select the Show check box in the General panel.

Adding a cloud dataset

The Current Datasets panel displays all cloud datasets that are in the scenario. Add a sample cloud dataset to your EOIR configuration.

  1. Click Add Dataset.
  2. Enter Simple Clouds in the Dataset Label field.
  3. Enter 10.0000 in the Altitude field.
  4. This specifies the height of the cloud layer above the ellipsoidal surface of the central body in kilometers. The limits are zero (0) km <= Altitude <= 100 km.

  5. Leave the Forward Scatter and Back Scatter fields set to 50.0000.
  6. These specify the percentage of reflected incident solar illumination scattered to the opposite side of and back in the direction of the illumination source, respectively. The limits are 0% <= Front Scatter <= 100%.

  7. Select the File option in the Coverage panel.
  8. For a file, you can select a clouds-only file (*.csv, *.cld, *.clds) or an image file (*.bmp, *.tif, *.png, *,jpg, *.ppm, *.pgm) to define the cloud coverage. Several sample CSV cloud files are available with the EOIR capability in <Install Dir>\STK_ODTK 13\EOIR_Databases\Clouds.

  9. Click the File ellipsis ().
  10. Select high_res_cloudmap.csv when the Open dialog box opens.
  11. These cloud data are based on the Clouds.cld file.

  12. Click Open to confirm your selection and to close the Open dialog box.
  13. Click OK to confirm your changes and to close the EOIR Atmosphere, Clouds, and Texture Maps dialog box.
  14. Click OK to confirm your changes and to close the EOIR Configuration dialog box.

Generating an EOIR sensor scene

EOIR can create an image of what the system on the EarthObsSat sees.

  1. Select EOIR_Visible () in the Object Browser.
  2. Click EOIR Sensor Scene... () on the EOIR toolbar to generate the sensor scene.
  3. Review the sensor scene.
  4. Visible Light EOIR sensor scene with clouds

    Unlike before, you can now see clouds in your sensor scene.

  5. Close the EOIR Sensor Scene window.

Viewing Earth in the long-wavelength infrared band

The first EOIR sensor just looked at the visible part of the spectrum. Look at the long-wavelength infrared (LWIR) (8–15 microns). This is the thermal imaging region, or thermal infrared region, of the spectrum.

Reusing the Sensor object

You can reuse (copy and paste) the EOIR_Visible Sensor object, which is a quick way to create a new object having identical properties to an object already existing in the scenario.

  1. Select EOIR_Visible () in the Object Browser.
  2. Click Copy () on the Object Browser toolbar.
  3. Select EarthObsSat () in the Object Browser.
  4. Click Paste () on the Object Browser toolbar.
  5. Rename EOIR_Visible1 () EOIR_LWIR.

Updating the sensor's spectral properties

Update the sensor's spectral band edge wavelength bounds to focus on the LWIR region.

  1. Open EOIR_LWIR's () Properties ().
  2. Select the Basic - Definition page when the Properties Browser opens.
  3. Select the Spectral tab.
  4. Enter the following in the Spectral Band Edge Wavelengths panel:
  5. Option Value
    High 15.000000
    Low 8.000000

    Set the high value first to keep all values within the limits.

  6. Click Apply to confirm your changes and to keep the Properties Browser open.
  7. Save () your scenario.

Generating an EOIR sensor scene

Using the new sensor, generate a new sensor scene to see the differences in the model.

  1. Select EOIR_LWIR () in the Object Browser.
  2. Click EOIR Sensor Scene... () on the EOIR toolbar to generate a sensor scene.
  3. Right-click in the EOIR Sensor Scene window after the sensor scene is generated.
  4. Select Details... in the shortcut menu.
  5. Select the Fine option in the Scene Detail panel when the EOIR Scene Visual Details dialog box opens.
  6. Select the BGRY option in the Color Map panel.
  7. Color mapping is only for visual effect and does not change any of the internal data values.

  8. Review the sensor scene.
  9. LWIR sensor scene

Viewing cloud inband radiance

The inband radiance order of magnitude gives you insight as to how the sensor's sensitivity should be configured.

  1. Click on an area of thick cloud cover in the EOIR sensor scene.
  2. Review the details in the Scene Pick Information panel in the EOIR Scene Visual Details dialog box.
  3. Take a look at the Inband Radiance value, specifically the order of magnitude.

The sensor's sensitivity can be adjusted to provide more detail.

Calibrating the LWIR sensor

Use the EOIR sensor scene to perform in-scene calibration of the LWIR sensor.

Selecting the units of saturation and sensitivity

Adjust the EOIR sensor's approach to saturation and sensitivity.

  1. Bring EOIR_LWIR's () Properties () to the front.
  2. Select the Radiometric tab.
  3. Select the Radiance (W/cm2 sr) option in the Units for Saturation and Sensitivity panel.

With the Radiance option, the Sensitivity and Dynamics Range parameters operate in radiance units (W∙cm-2∙sr-1). Radiance is better suited for sensors that are observing resolved images, where object shapes are discernible.

Defining the sensor's sensitivity and dynamic range

Adjust the sensor's sensitivity and dynamic range settings. Sensitivity defines the "noise floor" of the sensor; the Dynamic Range is the ratio of the brightest signal to the noise floor.

  1. Select the Simulate Saturation check box.
  2. Selecting this check box allows the EOIR capability to simulate saturation, when pixels can only measure up to the specified saturation level of a radiant signal. This is the way physical detectors would behave. Saturation defines the "brightest" signal that the sensor can measure.

  3. Double-click on the EquivalentValue field in the Sensitivity panel.
  4. Enter 1e-05.
  5. This is the Noise Equivalent Irradiance/Radiance (NEI/NER) vs. Integration Time. The sensor will not detect signals below this level. This value is found by varying the sensitivity until the sensor scene shows some noise in space, but otherwise a smoothed display.

  6. Select the Enter key.
  7. Double-click on the EquivalentValue field in the Dynamic Range panel.
  8. Enter 0.3.
  9. This is the Saturation Equivalent Irradiance/Radiance (SEI/SER) vs. Integration Time. This value is found by varying the dynamic range.

  10. Select the Enter key.
  11. Click OK to confirm your changes and to close the Properties Browser.

Reviewing the calibrated EOIR sensor scene

The EOIR sensor scene will update automatically.

  1. Review the updated sensor scene.
  2. Calibrated LWIR sensor scene

    Note that while there is more noise in space, the clouds appear smoother and are less saturated.

    The EOIR capability processes the raw sensor data or a scene bitmap based on the selected level (radiometric input, geometric input, or sensor output) for each animation time step. Data from a sensor scene can be exported using the Automatic File Output panel in the EOIR Scene Visual Details dialog box. Post processing with Python and MATLAB allow you to analyze these results. Several example scripts for generating cloud data and analyzing the results are available on the AGI GitHub at https://github.com/nkazmi-agi/STKCodeExamples/blob/master/StkAutomation/Python/Scenario_Analysis/EOIR_Synthetic_Scene_and_Data_Generation.

  3. Click OK to close the EOIR Scene Visual Details dialog box.
  4. Close the EOIR Sensor Scene window.

Saving your work

Clean up your workspace and save your work.

  1. Close any open tools, properties, and EOIR sensor scenes.
  2. Save () your work.

Summary

You began by configuring a sensor on a geostationary satellite. After configuring the sensor use the EOIR capability to view the visible range, you added a sample cloud file into your scenario for both visualization in the 3D Graphics window and for analysis in an EOIR senor scene. You then used another EOIR sensor to view the clouds in the LWIR spectrum range and calibrated the sensor's radiometric settings.

On your own

You can also turn clouds on and off in the EOIR configuration using the EOIR SetAtmosphere Clouds Connect command:

EOIR */ SetAtmosphere Clouds On
EOIR */ SetAtmosphere Clouds Off

Additional cloud parameters can be set with Connect commands (for example, adding multiple cloud layers). To set cloud parameters via Connect, you can use the following syntax:

EOIR <ScenarioPath> CloudData SetValue <Label> <Parameter> <Value>

Valid values for Parameter are listed on the EOIR CloudData STK Help page. Below are some examples of those commands:

EOIR */ SetAtmosphere Clouds On
EOIR */ CloudData DatasetTest1 0 1000
EOIR */ CloudData NewConstDataSet Test2
EOIR */ CloudData AddCldDataSets Test3 "...\CloudData.cld"