Skip to content

Changes in solar constant for a single column RRTMG process are ignored #254

@brian-rose

Description

@brian-rose

This is similar to some older resolved issues like #172

Suppose we want to compare a pair of single-column RRTMG processes that have different solar constants, but are otherwise identical. This should work:

import climlab
mystate = climlab.column_state()
rad1 = climlab.radiation.RRTMG(state=mystate)
rad2 = climlab.process_like(rad1)
rad2.S0 = 1200.

The problem is that currently the new value of S0 is ignored by the model rad2. If we step the models rad1 and rad2 forward in time, they produce exactly the same results.

The reason is that the new S0 value is not propagated to the Shortwave subprocess. This assertion passes:

assert rad1.S0 == rad1.subprocess['SW'].S0

while this one fails:

assert rad2.S0 == rad2.subprocess['SW'].S0

(an AssertionError is produced)

The workaround

For now, one can simply modify the S0 value of the SW subprocess instead:

rad2.subprocess['SW'].S0 = 1200.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions