= Radiation models = [[TracNav(doc/tec/radiationtoc|nocollapse)]] \\\\ PALM offers a built-in simple and fast radiation model for clear sky conditions. Moreover, an interface allows for using the [http://rtweb.aer.com/rrtm_frame.html RRTMG] code. Radiative interactions within the urban canopy layer or within complex terrain and plant canopy are modelled separately by the [wiki:doc/tec/rtm Radiative transfer model (RTM)]. == Constant radiation == Not really being a radiation model, this option allows for prescribing the net radiation at the surface (e.g. as driving for the [wiki:doc/tec/lsm land surface model]). The user has the possibility to modify the net radiation during the run via the [wiki:doc/app/userint user interface]. For more information, see [wiki:doc/app/radiation_parameters#net_radiation net_radiation]. Note that this scheme limits several parameterizations in the land surface scheme that require shortwave and longwave radiative fluxes. However, the longwave outgoing radiative flux at the surface is estimated from the surface emissivity and skin temperature as in the clear sky model (see below). == Simple clear sky radiation model == A simple clear sky radiation model can be used for simulations without clouds and highly-parametrized radiation fluxes. === Radiation budget === The radiation budget at the Earth's surface reads {{{ #!Latex \begin{equation*} R_\mathrm{n} = SW_\mathrm{in} - SW_\mathrm{out} + LW_\mathrm{in} - LW_\mathrm{out} \end{equation*} }}} with ''R'',,n,,, ''SW'',,in,,, ''SW'',,out,,, ''LW'',,in,,, ''LW'',,out,, being the net radiation, shortwave incoming (downward), shortwave outgoing (upward), longwave incoming (downward), and longwave outgoing (upward) flux, respectively. === Parameterization of radiative fluxes === The shortwave outgoing radiative flux depends on the surface albedo ''α'': {{{ #!Latex \begin{equation*} SW_\mathrm{out} = \alpha\ SW_\mathrm{in} \end{equation*} }}} The longwave outgoing radiative flux can be parameterized as {{{ #!Latex \begin{equation*} LW_\mathrm{out} = \epsilon\ \sigma\ T_0^4 \end{equation*} }}} where ''ε'' is the surface emissivity and ''σ'' = 5.67 * 10^-8^ W m^-2^ K^-4^ is the Stefan-Boltzmann constant. ''T'',,0,, is the skin temperature provided by the solver for the surface energy budget. The longwave incoming radiative flux follows a very simple parameterization: {{{ #!Latex \begin{equation*} LW_\mathrm{in} = \epsilon_\mathrm{atm}\ \sigma\ T_1^4 \end{equation*} }}} with {{{ #!Latex $\epsilon_\mathrm{atm} = 0.8$: Emissivity of the atmosphere\\ $T_1$: Temperature at first grid level }}} The shortwave incoming radiative flux is calculated from {{{ #!Latex \begin{equation*} SW_\mathrm{in} = S_0\ \tau\ \cos(\varPsi) \end{equation*} }}} with {{{ #!Latex $S_0 = 1368 W m^{-2}$: Solar constant\\ $\varPsi$: Zenith angle, depending on time, date and location. }}} and the transmissivity of the atmosphere ''τ'': {{{ #!Latex \begin{equation*} \tau = 0.6 + 0.2\ \cos(\varPsi) \end{equation*} }}} Input parameters are * day of year (1-365) * UTC time (0:00 - 23:59) * Longitude (-180° - 180°) * Latitude (-90° - 90°) ''ψ'' is calculated from the following system of equations: {{{ #!Latex \begin{equation*} D = \arcsin \left[ d1 * \sin\left(d2 * day - d3\right) \right] \end{equation*} }}} where D is the declination of the sun with {{{ #!Latex $d1 = \sin \left(\dfrac{23.45 * \pi}{180}\right)$\\ $d2 = \dfrac{2 \pi}{365}$\\ $d3 = 81\ d2$ }}} The hour angle is then given by {{{ #!Latex \begin{equation*} H = 2 \pi \left(\dfrac{t_\mathrm{UTC}}{86400}\right) + lon - \pi \end{equation*} }}} where ''t'',,UTC,, is the current UTC time and ''lon'' is longitude. The cosine of the zenith angle ''ψ'' is computed as {{{ #!Latex \begin{equation*} \cos(\varPsi) = \sin(lat) \sin(D) + \cos(lat) \cos(D) \cos(H) \end{equation*} }}} where ''lat'' is latitude. == RRTMG == Since r1585 PALM can be used in combination with the [http://rtweb.aer.com/rrtm_frame.html Rapid Radiation Transfer Model for Global Models (RRTMG)] radiation code (see e.g. [#clough Clough et al. 2005]). RRTMG source code is shipped along with PALM, but it is not part of the model (this means that RRTMG is put under a difference licence than PALM, which e.g. forbids reselling of the code). Unlike most embedded modules in PALM, the RRTMG is thus used as external library and linked to the default PALM code. This in turn means that RRTMG must be installed in advance on the host where PALM shall be executed. The next section explains the basics of the coupling to PALM, installation of RRTMG and how to use it in PALM. Please note that RRTMG requires to use the netCDF data format. Also note that the orbital settings are calculated as in the simple clear sky radiation model. === Basics === The RRTMG scheme is used as a "black box" in PALM. The main advantage is that radiative effects of clouds are explicitly treated in RRTMG. RRTMG is used as a vertical column model called for each horizontal grid point. Effects of cloud shadows that depend on the declination of the sun and horizontal radiative transfer are neglected at the moment. Moreover, ice clouds are not considered. In principle, the coupling to PALM is realized by performing the following steps each time RRTMG is called: 1. Provide vertical profiles of actual temperature and water vapor mixing ratio for the LES column at full and half levels of the RRTMG grid 2. Provide vertical profiles of the in-cloud liquid water path and the effective droplet radius for each grid volume for each LES column in case of clouds 3. Call RRTMG longwave radiation routine using the above profiles 4. (is sun is up) call RRTMG longwave radiation routine using the above profiles 5. RRTMG provides radiative surface fluxes (longwave incoming, longwave outgoing, shortwave incoming, shortwave outgoing) as well as shortwave and longwave heating rates for each grid volume in the LES column. Moreover a tendency for the change in outgoing longwave radiation for a change in surface temperature is provided. 6. Calculate net radiation The calculated heating rates are later used as tendency terms in the prognostic equations for temperature. The radiative fluxes are used in the solver for the energy budget of the Earth's surface. As the radiative transfer is done from the surface to the top of the atmosphere, the LES profiles need to be extended in the vertical direction. Moreover, RRTMG requires profiles of pressure and trace gases in the atmosphere. During initialization, vertical sounding data and trace gas sounding are read from two netCDF files (such sounding data is delivered as two netCDF files with RRTMG and is used by default in PALM. The user can replace these files to adjust the sounding profiles). The following profiles must be provided to RRTMG: * hydrostatic pressure at full and half levels * temperature at full and half levels * H20 mixing ratio * O3 mixing ratio * O2 mixing ratio * CO2 mixing ratio * CH4 mixing ratio * N20 mixing ratio * CFC11 mixing ratio * CFC 12 mixing ratio * CFC 22 mixing ratio * CCL4 mixing ratio In order to avoid large gradients at the interface between PALM's upper boundary and the upper atmospheric profiles, temperature and H20 mixing ratio profiles are gradually blended over 5 grid points above the LES domain. Note that additionally, several flag parameters required by RRTMG are automatically set in PALM. ==== Calculation of surface albedos The calculation of the surface albedo components for longwave diffuse, longwave direct, shortwave diffuse, and shortwave direct radiation are parameterized according to [#briegleb1986 Briegleb (1986)] and [#briegleb1992 Briegleb et al. (1992)]. The parameterization involves dynamically changing albedos depending on the cosine of the zenith angle of the sun. The calculation of the albedo is done differently for the following surface types: * Ocean * Sea ice * Snow (not implemented in the land surface scheme yet) * Asphalt concrete * Land surfaces with strong zenith dependence * Land surfaces with weak zenith dependence For a list of predefined albedo types, see [wiki:doc/app/radiation_parameters#albedo_type albedo_type]. Fore more details, see also [source:palm/trunk/SOURCE/radiation_model_mod.f90 radiation_model_mod.f90]. === Installation === The RRTMG source code for creating an external library can be found under [source:palm/trunk/LIB/rrtmg trunk/LIB/rrtmg]. It is accompanied by an installation script called [source:palm/trunk/LIB/rrtmg/install_rrtmg install_rrtmg]. In order to install RRTMG, perform the following steps: 1. Copy all files from [source:palm/trunk/LIB/rrtmg trunk/LIB/rrtmg] to the host where PALM/RRTMG shall be executed, e.g. {{{$HOME/lib/rrtmg_source}}}. The installation will not work if you try to install it from the source directory. Moreover, the installation source directory must be different to the one where the executeables are. 2. Open [source:palm/trunk/LIB/rrtmg/install_rrtmg install_rrtmg] and modify the following lines: {{{ compiler_name="mpif90" fopts="-fltconsistency -O3 -cpp -r8 -nbs -convert little_endian -I /muksoft/packages/netcdf/4_intel/include" fopts_trace="-fpe0 -C -check nooutput_conversion -debug -traceback -g -w -xT -O0 -I /muksoft/packages/netcdf/4_intel/include" install_path="$HOME/palm/rrtmg" compile_static=true compile_shared=true compile_static_debug=false compile_shared_debug=false }}} For a proper configuration, see your .palm.config file for the respective computer architecture where RRTMG shall be installed. Also, add the path to the netCDF library. fopts_trace is only required if you want to have debug options enabled. Use the switch parameters compile_static=true, compile_shared=true, compile_static_debug=false, and compile_shared_debug=false to set flags for compilation of RRTMG as static library, shared library (recommended), static library with debug options (recommended), and shared library with debug options, respectively. Save your changes. 3. Execute [source:palm/trunk/LIB/rrtmg/install_rrtmg install_rrtmg] with option "-p", which defines the path where the library shall be installed, e.g.: {{{ ./install_rrtmg -p $HOME/lib/rrtmg }}} The script will create up to four directories depending on the setting of the flag parameters (see above), each including one installation of RRTMG: {{{ $HOME/lib/rrtmg/shared $HOME/lib/rrtmg/shared_trace $HOME/lib/rrtmg/static $HOME/lib/rrtmg/static_trace }}} with each directory having the following subdirectories: {{{ /include /lib }}} 4. Open your .palm.config file and add {{{-D__rrtmg}}} to {{{%cpp_options}}} of the host where PALM/RRTMG shall be used. Moreover, add the path to the library to {{{%compiler_options}}} and {{{%linker_options}}}, e.g. {{{ %compiler_options <...> -I /home/user/lib/rrtmg/shared/include %linker_options <...> -L/home/user/lib/rrtmg/shared/lib -lrrtmg }}} when a shared RRTMG library was installed under "/home/user/lib/rrtmg/shared". A template file for host crayb is available [http://palm.muk.uni-hannover.de/browser/palm/trunk/SCRIPTS/.palm.config.crayb here] Also add the following line to the list of input files (in:locopt can be modified to meet the needs of the user): {{{ RRTMG_LW in:locopt d3#:d3r $base_data/$run_identifier/INPUT _rlw nc RRTMG_SW in:locopt d3#:d3r $base_data/$run_identifier/INPUT _rsw nc RAD_SND_DATA in:locopt d3#:d3r $base_data/$run_identifier/INPUT _rsnd nc }}} 5. To be able to use RRTMG, the LD_LIBRARY_PATH variable has to be extended by the path where RRTMG library (plus "/lib" added) was installed. For convenience, setting should be done in the respective profile of the users default shell (e.g. in .profile, if ksh is used), e.g.: {{{ export LD_LIBRARY_PATH=$HOME/lib/rrtmg/shared/lib:$LD_LIBRARY_PATH }}} when RRTMG was installed as shared library under "$HOME/lib/rrtmg/shared/". You may have to login again in order to activate the profile settings. 6. Recompile PALM for the respective host. The RRTMG library will be included either as static or shared library, depending on your configuration. === Job preparation === RRTMG requires various vertical profile data that must be provided in the INPUT directory of the job and labeled with underscore _rsw and _rlw, respectively. The required data format is NetCDF. Standard profiles are shipped with the RRTMG library and are located under [source:palm/trunk/LIB/rrtmg/data trunk/LIB/rrtmg/data]. Additionally, the user can overwrite the standard trace gas profiles by adding a third NetCDF file labelled as _rsnd that must follow the same data structure as the standard files. The INPUT directory should then contain at least the following files: {{{ _p3d _rlw (e.g. a copy or link of rrtmg_lw.nc from [source:palm/trunk/LIB/rrtmg/data trunk/LIB/rrtmg/data]) _rsw (e.g. a copy or link of rrtmg_sw.nc from [source:palm/trunk/LIB/rrtmg/data trunk/LIB/rrtmg/data]) }}} and optionally {{{ _rsnd (trace gas sounding data provided by the user) }}} The _p3d file should contain a NAMELIST for radiation, e.g.: {{{ &radiation_parameters radiation_scheme = 'rrtmg', albedo_type = 0, dt_radiation = 60.0, albedo_lw_dir = 0.2, albedo_lw_dif = 0.2, albedo_sw_dir = 0.2, albedo_sw_dif = 0.2, / }}} and the {{{&initialization_parameters}}} namelist should include an initial date and time, and geographical longitude: {{{ &initialization_parameters ... longitude = 0.0, origin_date_time = "2019-10-14 08:00:00 +00" ... / }}} A complete example file can be found [wiki:doc/app/examples/rrtmg here]. == References == * [=#briegleb1986] '''Briegleb, BP, et al.''' 1986. Comparison of regional clear-sky albedos inferred from satellite observations and model computations. Journal of Climate and Appl. Meteorol. 25.2, 214-226. * [=#briegleb1992] '''Briegleb, BP.''' 1992. Delta-Eddington approximation for solar radiation in the NCAR community climate model, J. Geophys. Res., 97(D7), 7603–7612, doi:10.1029/92JD00291. * [=#clough] '''Clough SA, Shephard MW, Mlawer EJ, Delamere JS, Iacono MJ, Cady-Pereira K, Boukabara S, Brown PD.''' 2005. Atmospheric radiative transfer modeling: A summary of the aer codes, short communication. J. Quant. Spectrosc. Radiat. Transfer 91: 233–244.