Closed lkluft closed 2 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.
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...
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 ;)
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?
Closed in #177
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