Skip to content
Snippets Groups Projects

Scripts for simulating wide-field-of-view satellite measurements of top-of-atmosphere radiation fields

Overview

These scripts form the basis of the analysis in "Sampling the diurnal and annual cycles of the Earth’s energy imbalance with constellations of satellite-borne radiometers" by Hocking et al., 2024.

The code implements an idealised framework for satellite observations of top-of-atmosphere radiation. Individual satellite orbits can be selected by choosing appropriate inclination, altitude and right ascension of the ascending node. The footprint of the satellite determines the wide-field-of-view measurement at each measurement time. The measurement time series are then processed to compute global annual means.

Prerequisites

The python scripts rely on the libraries used in the environment file ./environment.yml. As input data, the scripts expect hourly TOA fluxes from the Clouds and Earth's Radiant Energy System (CERES) SYN1deg data product. These files should be placed in ./Data/ according to the format in ./experiment/config.py. The processing also requires an installation of the Climate Data Operators (CDO) tool set, version 2.3.0 or later.

Language

Python

File description

./README.md - This document. ./environment.yml - Python environment specifications.

./bin_satm_to_toagrid.py - Process satellite measurements by binning them on a chosen grid. ./earth.py - Central script containing Earth class, for framework of the radiation fluxes. ./measure_file_to_nc_sgp4sat.py - Measure radiation from input file and save measurements to output file. ./process_satm_to_gridweights.py - Process satellite measurements to determine gridded distribution. ./satellite.py - Central script containing satellite classes, for framework of measurement of Earth instances. ./smooth_file_with_satellite_footprint.py - Compute the convolution of the input file with the satellite footprint. ./split_CERES_files.py - Convenience script for preparing input data files. ./unitsconstants.py - Collection of units and constants

./ceres_reference - Contains scripts to create CERES reference files, which are used in the processing of satellite measurements. ./diurnalcycle - Contains script to restructure input file in terms of local solar time, instead of e.g. GMT. ./experiment - Contains scripts to compute the measurements for a set of satellites.

Pipeline

Make sure to prepare the computing environment and the necessery input files according to the prerequisites. In ./ceres_reference: Execute make_ceres_ref_files.py. In ./experiment: Execute main.py. Execute merge_day_to_year.py. Execute make_singlesat_annualmean.py. Execute make_combo_annualmean.py. Execute make_combo_annualmean_fillpoles.py.

The output will be created in ./experiment/fullperiodoutput, ./experiment/fullperiodoutput_filledpoles and ./experiment/singlesat_output.

Citation

Shows how the source code should be cited (filled in by database staff).

References

References to papers that describe the source code.

Comments

Any additional useful comments. This can e.g. be roles of persons involved in creating the source code.

Authors

Thomas Hocking

Contact information

Thomas Hocking Department of Meteorology, Stockholm University, Stockholm, Sweden thomas.hocking [at] misu.su.se

Publisher

Bolin Centre Code Repository

Version

1.0.0

Project URL

Main URL of the source code project (filled in by database staff).

DOI

DOI of a particular version of the source code that shall be citable (filled in by database staff).

License

Distributed under the MIT license. See the LICENSE text for more information.

Publication date

Date when the version having the indicated DOI was made public (filled in by database staff).