Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cosipy educational NBs and interface #44

Open
wants to merge 15 commits into
base: master
Choose a base branch
from

Conversation

Holmgren825
Copy link

This PR contains the educational notebooks making it easy to model the surface energy balance of a glacier and a few small changes to the model. Namely a new argument (opt_dict) in a number of modules and functionality to evaluate it. This is a small dictionary with which a user can change some of the parameters of the model run interactively - not changing the "namelist". The dictionary is evaluated in each affected module and overwrites the parameter in the globals() dictionary. This essentially overwrites constants from import ..... Important is that the options dictionary is not evaluated by default, hence the model works as before if no opt_dict is supplied. Hopefully this doesn't come with much overhead/slow down but should still be tested.

Holmgren825 and others added 15 commits April 12, 2022 10:20
… that only holds what you want to change. Major difference from the old way is that it default to None, hence if one want to use the standard configuration, this object be left empty. In the case it contains a key value pair, it is passed along the modules. These in turn uses a small utility `read_opt` function to overwrite the respective key-value pair in the globals() dictionary of the caller function.
… configurable constants. To keep the user from trying to pass an invalid constant in the opt_dict. Also a new print function in the edu_utils to make a nice print in the notebook.
Link typo.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant