-
Notifications
You must be signed in to change notification settings - Fork 1
Add 3D Windfield #13
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
Merged
Add 3D Windfield #13
Changes from all commits
Commits
Show all changes
225 commits
Select commit
Hold shift + click to select a range
c1e158f
Add NPZ and Printf
ufechner7 40c53a4
Three more functions translated
ufechner7 d630ec5
Update settings.yaml
ufechner7 4d9cd47
Add first test
ufechner7 7e846fc
Fix typo
ufechner7 a49e4e0
Cleanup
ufechner7 e6408d0
One more test
ufechner7 bd3d818
Use tmp dir for testing
ufechner7 2fb1f1e
One more function tested
ufechner7 45db23d
Fix compat
ufechner7 b1abedb
One more test
ufechner7 69deb56
Add file to .gitignore
ufechner7 8109bab
Add function createGrid
ufechner7 ca93e0d
Add ControlPlots
ufechner7 d03040d
Add example show_grid.jl
ufechner7 d922293
Add FFTW, LinearAlgebra, Random and Statistics
ufechner7 8bf1cfc
Add function CreateWindField
ufechner7 9c3d856
Fix compat
ufechner7 3abd56a
Add param set to constructor of AtmosphericModel
ufechner7 87a387b
Add function addWindSpeed
ufechner7 65d9e19
Cleanup
ufechner7 68033bf
Update Project.toml
ufechner7 1386f2d
Cleanup
ufechner7 d7a283c
Add example create_windfield.jl
ufechner7 5c81eb5
Export WindField and create_windfield
ufechner7 1165163
Refactoring
ufechner7 e181b8f
Cleanup
ufechner7 bab7c77
Export new_windfield
ufechner7 114d20d
Change signature of createGrid
ufechner7 e3b8ff2
Refactoring
ufechner7 c0af7c2
Some progress
ufechner7 c99dc3b
Add windfield.py as reference
ufechner7 0462fdd
Update comment
ufechner7 85751a9
Fix typos
ufechner7 ec650bd
Add MeshGrid
ufechner7 fc7156d
Use MeshGrid
ufechner7 c2aaa89
Update create_windfield
ufechner7 873a736
Print shape
ufechner7 2632009
comment failing code
ufechner7 2c60c73
Add mwe_01.jl
ufechner7 a99abce
mwe_01.jl working now
ufechner7 e67402d
Cleanup
ufechner7 1763b8b
Cleanup
ufechner7 e980831
Update mwe_01.jl
ufechner7 786b18a
Add mwe_01.py
ufechner7 befe297
Update mwe_01.py
ufechner7 0ab7e9a
Now working
ufechner7 32783b6
Some progress
ufechner7 03273e9
Some progress
ufechner7 5cbc4ba
create_windfield() works
ufechner7 2a27648
Add example load_windfield.jl
ufechner7 c547b94
Export load_wind_field
ufechner7 a661bf1
load_windfield.jl working
ufechner7 5482bec
WindField constructor works
ufechner7 fe52ecb
Add properties
ufechner7 eae8fc0
Cleanup
ufechner7 809d696
Cleanup
ufechner7 b18c94b
Add files to .gitignore
ufechner7 aa4bc9b
Update examples
ufechner7 5b37f22
Remove global variable, add new_windfields()
ufechner7 837441a
Add plot_windfields.jl
ufechner7 67c437a
Cleanup
ufechner7 b23c0a1
Add example get_wind.jl
ufechner7 015613d
Example get_wind works
ufechner7 ab6f535
Make load_windfield() private
ufechner7 e102cc0
Make create_windfield private
ufechner7 2e7946c
Don't save
ufechner7 27290af
Add z_min and z_max
ufechner7 f4492ad
Add quiver.jl
ufechner7 48f4c73
Simplify example
ufechner7 c47fb9d
Add show_2d_field.jl
ufechner7 483b72a
Improve example
ufechner7 26eef89
Some progress
ufechner7 b2e7d28
Add GLMakie
ufechner7 256d4dd
Add plot_windfield.jl
ufechner7 024eeb8
GUI works
ufechner7 f77de1d
Some progress
ufechner7 04f0b98
Improve examples
ufechner7 596df8f
Improve example
ufechner7 63ddf42
Add some caching
ufechner7 de8a4ab
Cleanup
ufechner7 4f51693
Add mwe_02
ufechner7 f0d7a39
Update mwe
ufechner7 fb45911
Some improvements
ufechner7 25f7180
6 m/s at reference height
ufechner7 e75855f
Cleanup
ufechner7 bbcdc23
Add wind components
ufechner7 2c0b221
Add legend
ufechner7 364f183
Add I
ufechner7 f955cbe
Add v_mean
ufechner7 05e5da7
Add function turbulence_intensity()
ufechner7 2e18a81
Improve mwe_02.jl
ufechner7 eb1de54
Some progress
ufechner7 5114f00
Some progress
ufechner7 3b10d02
Adde bench_get_wind
ufechner7 f74eb65
Add comment
ufechner7 848ed76
Fix tests
ufechner7 4d4f619
Next try
ufechner7 7970120
Next try
ufechner7 114452f
Next try
ufechner7 b5c6266
Add Project.toml to examples folder
ufechner7 7047571
Add Project.toml to examples folder
ufechner7 30f0117
Add file to .gitignore
ufechner7 e69de3b
Make use of new Project.toml
ufechner7 c90d1b1
Add file to .gitignore
ufechner7 d83f35b
Update environment to match thesis
ufechner7 706c2f7
Add rel_turb
ufechner7 a3cd5b7
Fix example
ufechner7 e9def8f
Some fixes
ufechner7 4353769
Update example
ufechner7 aeaad67
More @info, change default rel_turb
ufechner7 5575556
Change data path
ufechner7 cbc6fe6
Add new example
ufechner7 371616a
Better formatting
ufechner7 11593d8
Minor change
ufechner7 83b6640
Revert changes to CI.yml
ufechner7 7b04223
Improve examples
ufechner7 5314a66
Add menu.jl
ufechner7 f4f757f
Add function rel_turbo
ufechner7 2516cec
Refactoring
ufechner7 4d5f02d
Make use of function rel_turbo()
ufechner7 711bfb1
Add comment
ufechner7 6d38522
Fix example
ufechner7 37e65a1
Fix example
ufechner7 8a6a0de
Add mwe_03.py
ufechner7 537a482
Fix grammar
ufechner7 b64c1d0
MWE working
ufechner7 7225377
mwe working
ufechner7 4bcd9b3
Add first check
ufechner7 ee40ffa
Add unit tests
ufechner7 2fafe99
6 tests now
ufechner7 d4bfda7
Cleanup
ufechner7 c991cf2
One more test
ufechner7 a85775a
More tests
ufechner7 5ee535d
More tests
ufechner7 ce350e3
Cleanup
ufechner7 69f9466
Add new version of create_windfield()
ufechner7 c423e21
Add tests
ufechner7 fe4e924
Set seed
ufechner7 a265aa9
Fix tests
ufechner7 66f0336
Add comment
ufechner7 90eac21
Move quiver to mwe_04.jl
ufechner7 237a083
Move show_2d_field to mwe_05.jl
ufechner7 8bb49f6
Cleanup
ufechner7 6345fbc
Improve examples
ufechner7 2b42a7e
Improve example
ufechner7 8393689
Cleanup
ufechner7 8cb1152
Add test_all.jl
ufechner7 33f54c3
Cleanup
ufechner7 342d787
Add test_all to menu.jl
ufechner7 88118fa
Use norm of wind
ufechner7 4a871bf
Add expected results
ufechner7 f69c4f0
Two plots
ufechner7 4a7d4b3
Bugfix
ufechner7 4193a63
Bugfix
ufechner7 250ee22
Cleanup
ufechner7 28201fc
Refactoring
ufechner7 86a22bb
Refactoring
ufechner7 95c489a
Fix legend
ufechner7 e58b123
Fixes of the examples
ufechner7 f710252
Update bench.jl
ufechner7 6b9b1dd
Add missing package
ufechner7 370e42a
Improve tests
ufechner7 219d9b7
Minor fixes
ufechner7 92cd25e
Update settings
ufechner7 76e604f
remove REL_SIGMA
ufechner7 43ef6c9
Fix tests locally
ufechner7 62943db
Remove global const V_WIND_GND
ufechner7 a18920f
Remove two more constants
ufechner7 4903e96
Cleanup, fix example
ufechner7 2496fb7
Update comments.
ufechner7 eb4cda3
Fixes
ufechner7 161bb89
Add delete_windfields
ufechner7 21f1ca0
Add back deleted function new_windfield
ufechner7 53a2f2b
Improve docstring
ufechner7 288f9d8
Fix test
ufechner7 e7f2961
Bugfix
ufechner7 81f971f
Add comment
ufechner7 1cbde1f
WindField not needed externally any longer
ufechner7 556492c
Fix tests
ufechner7 aef3976
Cleanup
ufechner7 75f22a1
Add unit tests
ufechner7 54a97a1
Tighter tolerances
ufechner7 29a1caf
Tighter tolerances
ufechner7 c74a349
Auto-instantiate
ufechner7 f4dc3d9
Cleanup
ufechner7 af37503
Update README.md
ufechner7 3a520cc
Fix example
ufechner7 b3cdc71
Add CHANGELOG.md
ufechner7 9b3138d
Bugfix
ufechner7 35d95eb
Fix comment
ufechner7 11c4692
Cleanup
ufechner7 312786f
Fix mwe_01.jl
ufechner7 f60f32c
Docu (#16)
ufechner7 12f7608
Bug fix, one more menu entry
ufechner7 6aab54e
Add page Wind Fields
ufechner7 78f3fae
Fix link
ufechner7 acfdc33
Improve docu
ufechner7 a4679ca
Improve links
ufechner7 d0cd52e
Fix formatting
ufechner7 6e7d6c4
Use KiteUtils 0.10.14, use field grid of settings
ufechner7 f0218a2
Update docu
ufechner7 da74238
Use simple system.yaml file, use relax=true
ufechner7 aab8da4
Add plot wind shear near shore
ufechner7 87b9680
Add plot_windshear_cabauw
ufechner7 32424e8
Some progress
ufechner7 3bbc6ec
Update docs
ufechner7 aa9af0e
Replace p with alpha
ufechner7 de6e7ab
Improve docu
ufechner7 d0be850
Fix formatting
ufechner7 3d485b8
Some progress
ufechner7 49686a3
Fix links
ufechner7 ffb5c5f
Cleanup
ufechner7 21d6fbf
Add files to .gitignore
ufechner7 8e5c62b
Use more detailed file names
ufechner7 7c79f8b
Cleanup
ufechner7 b1ff61b
Some progress
ufechner7 fa9712d
Fix test
ufechner7 1d86267
Improve TOC
ufechner7 f928efe
Fix typo
ufechner7 e8c1629
Minor improvements
ufechner7 d9e2f1f
Add file to .gitignore
ufechner7 28ce3f4
Add files to .gitignore
ufechner7 3e91164
Added two default manifests
ufechner7 cdccbc2
Add file to .gitignore
ufechner7 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,2 +1,11 @@ | ||
| /Manifest.toml | ||
| .vscode/settings.json | ||
| data/*.npz | ||
| examples/Manifest.toml | ||
| examples/Manifest-v1.10.toml | ||
ufechner7 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| examples/Manifest-v1.11.toml | ||
| docs/build | ||
| docs/Manifest.toml | ||
| Manifest-v1.11.toml | ||
| Manifest-v1.10.toml | ||
| cspell.json | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| ## Unreleased | ||
|
|
||
| ## Changed | ||
| - BREAKING: When constructing an atmospheric model, you MUST pass the parameter set::Settings. This ensures that all parts of the simulation use the same settings struct, and that you can run different simulations with different settings in parallel. | ||
|
|
||
| ## Added | ||
| - The function `get_wind(am, x, y, z, t)` which returns a wind vector for the given position and time. It creates a 3D wind field if it does not exist in the data folder. The parameters of this wind field are configured in `settings.yaml`. | ||
| - Documenter generated documentation. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Not clear to me how the Manifest.toml are used. In python project, I am used to commit the .lock files so that it is possible to define a default configuration for the tests or to ensure to get reproducible results.
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.
A Manifest.toml file is created when you first install the project, for example by doing:
If a manifest file exists, Pkg.instantiate() installs exactly all dependencies listed in the manifest.
In contrast, Pkg.update() looks at the Project.toml file and updates all dependencies to the newest versions allowed by the Project.toml file.
In the last commit I added two default manifests that document the last tested set of packages used, Manifest-v1.10.toml.default and Manifest-v1.11.toml.default for Julia 1.10 and Julia 1.11.
Normally these are not needed, Project.toml should be sufficient, but if something brakes (because a minor package update was buggy) you can always do
cp Manifest-v1.11.toml.default Manifest-v1.11.toml
julia --project
using Pkg; Pkg.instantiate()
And you have the last know good set of packages installed.
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.
Is it clear to you now?
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.
Yes clear, but I feel like only one version could be supported as default. The julia version number is integrated in the Manifest.toml, so this should be sufficient, avoiding to have to rename the file ? After, you may save other manifest in subfolder for example in you have published a study (but I think this should not be in a package, but wise if the publication topic is the package).
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.
No, renaming of the file is needed. If you start Julia, it looks first for a Manifest file that has its own version number in the file name. If that is found, it uses it. If there is no such file, it uses Manifest.toml (without version number). And if there is no such file it creates it.
We always want to support two versions, the latest Julia version with long term support (which is 1.10), at the latest stable version (after we found it mature enough). Before making a release I always run both the unit tests and the examples on both Julia version. Switching the Julia version is easy, for example by executing:
juliaup default +1.10
Ok, once you need to do
juliaup add 1.10.If you only have one Manifest.toml file without the version number in the file name and switch the Julia version you are using, then things get messed up.