-
Notifications
You must be signed in to change notification settings - Fork 1
Toposplit #42
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
Conversation
Simplify the statement on which thermal distribution to use (standard vs HRRR).
Update the config to only allow one parallel run per PR and stop any previous one on a new push. Also remove the caching of GCC since it did not work and you can't cache OS level dependencies.
Centralize the file comparison to one method across all tests.
The check for a timeseries against a single date is flawed. More importantly, full WRF testing is yet to be done.
Logging the start and end date for SMRF seems unnecessary, given that we log each processed time step.
Also avoid using `setattr` when we can just straight assign to `self.` and update some docstrings.
Update the reference from topocalc that called `shade` to the recently renamed `illumination_angles` since that is the actual calculated property.
Will be reused soon in Toposplit. Also lints code and updates docstrings.
When configuring to only output net solar, the albedo needs precipitation, which requires air temperature and vapor pressure.
This is one of the most involved logic and needed by quite a few other variables.
9449b07 to
276c3f7
Compare
arobledano
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
Thanks for checking @arobledano |
This implements the logic presented in Olson et al. to topographically downscale DSWRF from HRRR and calculate net solar.
The method previously returned the calculated horizon angles to save compute time on subsequent calls. This fix restores that.
Output and calculation variables were not reset when the sun was down, causing non-zero values from the last hour before sunset to be carried over.
This class was never executed with the missing __init__.py in the folder. Tests were also not passing, which are fixed with this as well.
The combination was not possible due to only checking albedo with standard solar.
Had a typo for GHI vis and the init of the class was also not setting up the correct names.
Identical to AWSM and eases troubleshooting.
And delete the existing ones.
Now that all variables get the fully parsed .ini dict passed, the value for threads can be read from there instead of copying it over.
Should speed up any topo domain of larger than 1000x1000
mattols
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
arobledano
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3Cups seal of approval as well
Cythonize Toposplit
Now that we rely on Cython to build the C files for us, we no longer need the conditional logic in setup.py that looks for them.
Adds the first version of the toposplit #25 using the math presented in the recently submitted paper.
Note that the following models have not been implemented:
Other difference to the paper:
Important
Needs the recently upgraded version of Topocalc
Other things to note
The paper used
skyfieldto calculate the sun position.A follow up issue to get that added to SMRF is logged #41