Brian Rose
Brian Rose
There are several places in the codebase where the length of the solar year is hard-coded to the value given by ``` climlab.utils.constants.days_per_year ``` This creates challenges particularly for modeling...
The function `climlab.solar.insolation.solar_longitude()` returns a value in radians. But if you want to use these values to compute insolation, you need to call the function `climlab.solar.insolation.daily_insolation(..., day_type=2)` But the code...
If you are using climlab (for teaching, research, publications, outreach, or anything else!), we want to know about it! I would like to start keeping a collection of links and...
Proof-of-concept addressing #120 Here we add a new attribute `const` to every Process object, which by default is a dictionary of all the standard physical constants. User can then make...
As of climlab 0.7.3, when you initialize a 2D domain like this: ``` state = climlab.column_state(num_lev=50, num_lat=60, water_depth=10.) print(state['Tatm'].shape) print(state['Tatm'].domain.heat_capacity.shape) ``` the result is ``` (60, 50) (50,) ``` i.e....
As of release v0.5.0, the docs are in much better shape in terms of coverage. However the docs focus too much on climlab internals and not enough on the user...
There is currently no `num_lon` option for the `climlab.column_state()` convenience function for setting up grids for atmospheric models. E.g. this should work but it doesn't: ``` import climlab state =...
Currently there are lots of inconsistencies in how various classes can be accessed. For example, several radiation processes can be accessed like ``` mystate = climlab.column_state() climab.radiation.RRTMG(state=mystate) climlab.radiation.CAM3(state=mystate) ``` whereas...
This should work but doesn't: ``` import climlab state = climlab.column_state() rad = climlab.radiation.RRTMG(state=state) assert rad.insolation == rad.subprocess['SW'].insolation rad.insolation *= 1.01 assert rad.insolation == rad.subprocess['SW'].insolation ``` The new value is...