atmtools / konrad

Implementation of a radiative-convective equilibrium model.
MIT License
19 stars 18 forks source link

Clear-out outdated or unused components #162

Closed lkluft closed 2 years ago

lkluft commented 3 years ago

The plan is to remove outdated or unused modules, classes, or functions in the konrad source code. This will result in a minimised code base that, hopefully, is easier to document and maintain. Ideally, the code base will be simple enough to add missing unit tests for the remaining components.

In a next step, based on this streamlined version of konrad, it will be possible to review and update existing documentation and add further information for new users in the form of tutorials.


Collection of components/classes that can be removed

stella-bourdin commented 3 years ago

Here are my suggestions for relative_humidity.py :

In stratosphere.py I only use ColdPointCoupling. NonIncreasing and MinimumStratosphericVMR seem quite specific.

I feel like surface and lapserate component are already quite lean. I used both options for surface depending on what I wanted to do, and the options in lapserate seem representative of the basic options one might want to explore.

stella-bourdin commented 3 years ago

I would also suggest clarifying the use of from_netcdf methods in Atmosphere and Surface. I haven't used them in a long time but remember that when I tried I had the feeling not to master what it did. One could even imagine a whole "restart" procedure? But that would probably be a feature that justifies another later version...

lkluft commented 3 years ago

I tend to rename HeightConstant into VerticallyUniform. This has the disadvantage of breaking the API for user's. But I guess the name is just way more descriptive. And for the v1.0.0 release I am fine with changes in the user interface.

I guess all of FixedUTH, CoupledUTH, CshapedConstant, CshapedDecrease can be removed. They merely document the historical evolution on our way to a proper C-shaped RH profile.

The Manabe, Romps, Cess classes implement the analytical RH distributions of the respective papers (at least Manabe and Cess) so I would keep them.

About the from_netcdf methods: what did not work as you expected? At least for atmosphere and surface it should allow the user to initialise the component based on earlier runs. I agree that a full "restart mechanism" would be awesome, but I guess you are right that it could be quite challenging; maybe its worthwhile for a v.1.1.0 release ;)

lkluft commented 2 years ago

Hey @stella-bourdin, I have addressed most of the cleanup in #177. Would you be willing to have a quick look at the PR and see, if my changes make sense?

lkluft commented 2 years ago

Closed in #177