-
Thomas Hocking authored
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).