Skip to content

Initializing Double Grey Radiative Transfer

deitrr edited this page Oct 26, 2021 · 4 revisions

Starting from the Held-Suarez benchmark test case which uses a Newtonian cooling scheme, these are the changes you need to make to enable the double-grey radiative transfer module. The file to be modified is ifile/earth_sync.thr.

  1. First, remove the Held-Suarez benchmark setup by changing core_benchmark = NoBenchmark.

  2. Then, set radiative_transfer = true and surface = true (if you're modeling terrestrial planets). If surface = false, the solar radiation passes through the atmosphere and out the bottom.

  3. Then there are several parameters for the radiative transfer and orbital properties that must be set. Check everything that is in the "Radiative transfer options" and "Insolation (orbit + spin-state) parameters" sections. In particular:

    • albedo: this is the fraction of incident star-light removed from the top of the atmosphere (the surface has zero albedo at the moment).
    • diff_ang: this is the inverse of the "diffusivity" for the thermal radiation. It is "mu" in equation 3 of Mendonca et al., 2018. Usually use mu = 0.5, though mu = 1 can be used for comparison to some papers. In gray RT, it won't make a huge difference what value you use since it essentially just modifies the total optical depth in the thermal.
    • Csurf=10^7 heat capacity of the surface (J/K/m^2). For Earth-like cases, I set this to 10^7, roughly the value for the ocean mixed layer. For solid surfaces, this should be smaller, but probably similar order of magnitude.
    • rt1Dmode=false this option is for debugging purposes, just leave it on false.
    • sync_rot = true, this will ensure that the forcing pattern stays locked to the substellar point.
    • alpha_i = 180, so that the substellar point stays at 180 deg longitude.
  4. the parameters controlling optical depth are the trickiest. In the shortwave (stellar), these are n_sw and kappa_sw. In the longwave (thermal), n_lw, kappa_lw, f_lw, latf_lw, and kappa_lw_pole.

  5. In the shortwave, the optical depth at a given pressure, P, is: tau_sw = kappa_sw * (P/Pref)^n_sw * Pref/g

    • the power n_sw causes the opacity to increase more rapidly toward the surface to mimic the effect of unmixed opacity sources. You can set n_sw = 1 to have a constant opacity with depth
    • thus optical depth at the surface is tau_sw_surf ~ kappa_sw * Pref / g
  6. In the longwave, the optical depth at a given pressure is: tau_lw = kappa_lw * {P / g + (1 - f_lw)/f_lw * (P/Pref)^n_lw * Pref/g}

    • This means that in the lw, there is always a constant opacity, whose strength is set by f_lw. There is additionally an opacity that increases with depth according to the power n_lw, similar to the sw. If you set f_lw = 1, the additional pressure dependent opacity is ignored and opacity is constant with depth. The same happens if you set n_lw = 1. n_lw = 2 is meant to mimic collision-induced absorption, n_lw = 4 is meant to mimic water vapor near the surface. I'm not sure what value you'll want to use so you might experiment.
    • The total optical depth at the surface is thus (note the additional factor of f_lw) tau_lw_surf ~ kappa_lw * Pref / (g * f_lw)
    • kappa_sw and kappa_lw have units of m^2 / kg.
  7. latf_lw, if set to true, decreases the kappa_lw as a function of latitude, to the value kappa_lw_pole at the poles. This is meant to mimic the lower humidity near polar regions for Earth. Set latf_lw = false for now, since it won't make much sense in the tidally locked case. In the future, we might want to experiment with making this decrease away from the substellar-point, if we want to mimic the effect of lower humidity in colder regions.

Also, make sure to set boundary_layer = true. This will default to using Rayleigh drag at the surface (same as in the benchmark you've been running). But without it, there will be no additional drag near the surface.