Plane-Parallel atmospheric radiative transfer - ShortWave

Download PPart_SW

The purpose of PPart_SW is to perform radiative transfer computations using k-distribution data sets (that can be produced by Kdistribution, or any other code). This code is based on analytic radiative transfer solutions that are valid only in the case of a emitting and absorbing, but non-scattering, atmosphere. This code should therefore not be used in the case of the SW domain. However, Rayleigh scattering is not actually taken into account by the code. It can be used as a toy-model in which only the transmission of incoming SW radiation is taken into account (as well as the emitted radiation when the atmosphere is hot enough).


Spectrally integrated SW flux profiles (upward, downward and net) as a function of altitude for a Mid-Latitude Summer standard atmosphere.

Download and extract the archive (tar -zxvf ppart_sw.tgz); then move into the PPart_SW directory, and use the make all command to compile. You should use the make clean command in the case you want to recompile from scratch only (when include files are modified). If only source files are modified, the make all command will recompile modified files.

PPart_SW has been parallelized, which means you will have to launch it using the mpirun command:

mpirun -np <NPROCS> ./PPart.exe

with <NPROCS> the number of processes requested for the computation; MacOS users might encounter a error where the OS considers the user requested a number of processes higher than recommended. You can bypass it using the -oversubscribe option:

mpirun -oversubscribe -np <NPROCS> ./PPart.exe

Prerequistes: only a fortran compiler is needed (no external libraries). the gfortran compiler has been used for development, but other common compilers should work too (ifort, pgfortran, etc.)


The code can run either using a pre-computed (and provided) k-distribution data set among 5 standard atmospheric profiles, or from a user-defined spectral data file. This user-defined spectral data file should be name ecrad_opt_prop.txt and located into the data directory. The format of this file can be found in the /Doc/gas_opt_prop.pdf documentation file, and a example /Doc/input.for source file provides a fortran subroutine for reading this file. A example ecrad_opt_prop.txt file is provided in the /data directory (for the Mid-Latitude Summer profile).

Since this code has been adapted to the SW range, it also needs the incoming SW solar radiation at the top of the atmosphere. This data has to be provided in the /data/incoming_sw.txt input data file. A example file is provided in the case of the Earth atmosphere. It should be usable for other planets of the solar system by rescaling the values of the input solar flux.

Simulation input is provided through the and files (located in the main PPart_SW directory):

Results are located into the /results directory; several gnuplot scripts are provided in order to visualise various results. When a NER matrix has been computed for every spectral interval, a script named anim.bash can be found in the /results/NER_animation directory; this script will produce a animated gif of these NER matrices (the spectral interval evolving with time). This script requires the GraphicsMagick package.


PPart_SW is free software released under the GPLv2+ license: GNU GPL version 2 or later. You can freely study, modify or extend it. You are also welcome to redistribute it under certain conditions; refer to the license for details.