-
Notifications
You must be signed in to change notification settings - Fork 18
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
Add example simulations (closes #39) #84
Conversation
This remove the requirement for all codeowners to review every PR (as described in #52.). From now users should manually select the reviewers from the list when opening a new PR,
Fixes issues with the CI workers for macOS and Linux and updates to latest images.
This pull request is a cleanup, restructuring and documentation of the input namelists. * Parameters are documented in docs/udales-namoptions-overview.md. * Parameters are re-categorised, where possible, along the original DALES namelists. * New sections are introduced: output, trees, chemistry, scalars. * Unused parameters are removed. * All parameter default vales and functionality are checked, except for the sections trees, chemistry, scalars and inlet.
… 201. Still need to 1) add 501, 502, 2) edit runtimes and domain sizes, 3) test all simulations.
…cally set by code)
@bss116 👍. For clarity, I would probably move the last paragraph in https://github.com/uDALES/u-dales/blob/bss/example-simulations/docs/udales-example-simulations.md up at the top of 502 (e.g. under a prerequisites subheading) given that this is needed before running 502. Also, if you can add the download and preparation step in a code snippet under that paragraph and before https://github.com/uDALES/u-dales/blob/bss/example-simulations/docs/udales-example-simulations.md#buildings-from-lidar-image it would make it easier to understand. wget -O examples_driver_501.zip "https://www.dropbox.com/sh/spld3hqipqe17j1/AAA0cuzW3qc9ftY6dvHcSSL8a?dl=1"
cd ...
|
@dmey any more feedback or is this ready to squash merge? |
@bss116 could you please check that the docs are correct for 502. Following the docs I get the following error:
I got this by running the following commands.
|
hmm that's not good. I can run it without problems. I have a vague memory that @tomgrylls ran into problems with the way the driver files are read/saved on one of his operating systems. What are you running on? Edit: There are changes to how the file is read in #81, that's everything I could find about it. |
Originally I assumed that you produced driver inputs in netCDF -- mhh, well if these are just binaries specific to the system then I don't think there's much of a point having them in the examples. But how did you manage to run them though? I though @tomgrylls created them on the HPC in RHEL and I though you use a mac!? I tried on Ubuntu 18.04. |
No they are not supposed to be system specific, and as far as I remember I got them to run both on Mac and HPC at the end. Not sure where we generated the data, it's been too long. Now I ran on my Mac, yes. Well, alright. Shall we write a note that these files may not work for all systems and merge? Otherwise he have to wait when/if @tomgrylls has time to look into it, I cannot help with this. |
@bss116 sorry but this does not make sense to me given that you are not even running these on Linux so if they were system specific they would fail on yours more likely than on mine... I think that either we are following different instructions or are using different driver files/udales binaries. Have you tried starting afresh? If this is not urgent, I would wait for this to be tested and check with @tomgrylls before merging it in otherwise don't worry and we can always amend the docs later 😃. |
@bss116 Good news 😃 -- I was able to run the cases 😌. It looks like there is no problem with the driver files (@tomgrylls 😃). The problem seem to be with the |
@dmey That's good! Which files were not copied by |
@bss116 I have not investigate this further but I guess the image and driver files -- are you OK to check this locally at your end? Otherwise this may end up in quite a lot of a back and forth... I would suggest deleting your # From top-level project directory.
# Download required files
pushd u-dales/examples/502 # This is as you have it in the current docs --
# an alternative is to download them in experiments/502 but this would need to be created first...
curl -o examples_driver_501.zip -L https://www.dropbox.com/sh/spld3hqipqe17j1/AAA0cuzW3qc9ftY6dvHcSSL8a?dl=1
unzip examples_driver_501.zip
popd
export DA_EXPDIR=$(pwd)/experiments # The top-level directory of the simulation setups.
export DA_WORKDIR=$(pwd)/outputs # Output top-level directory
export DA_EXPDIR_SRC=$(pwd)/u-dales/examples
export DA_WORKDIR_SRC=$(pwd)/u-dales/outputs
./u-dales/tools/utils/da_prep.sh 502 502
export DA_UTILSDIR=$(pwd)/u-dales/tools/utils # Directory of utils scripts
export DA_BUILD=$(pwd)/u-dales/build/release/u-dales # Build file
export NCPU=2 # Number of CPUs to use for a simulation
export DA_WORKDIR=$(pwd)/outputs # Output top-level directory
./u-dales/tools/utils/local_execute.sh experiments/502
|
Okay I have now expanded export DA_WORKDIR_SRC=$(pwd)/u-dales/examples I have updated this in the getting started guide. Also the simpler export DA_UTILSDIR=$(pwd)/u-dales/tools/utils # Directory of utils scripts
export DA_BUILD=$(pwd)/u-dales/build/release/u-dales # Build file
export NCPU=2 # Number of CPUs to use for a simulation
export DA_WORKDIR=$(pwd)/outputs # Output top-level directory
# From top-level project directory.
# Download required files
pushd u-dales/examples/502 # This is as you have it in the current docs --
# an alternative is to download them in experiments/502 but this would need to be created first...
curl -o examples_driver_501.zip -L https://www.dropbox.com/sh/spld3hqipqe17j1/AAA0cuzW3qc9ftY6dvHcSSL8a?dl=1
unzip examples_driver_501.zip
popd
./u-dales/tools/utils/local_execute.sh u-dales/examples/502 as described in the example simulation docs should work. PS: the driver simulations are still a bit fiddly, I just had to start them twice to get them to run (but this is not an issue for the documentation of the example cases) |
@bss116 this is good but I think that it also adds a lot of duplication with the other docs (i.e. twice as much docs/code to maintain). Can you please have a look at #87 and approve if OK -- In that I tried to keep consistency with the set up described in the getting started guide so there is no need to vary any of the environmental variables already defined which may confuse readers when going through the examples/documentation for the first time. |
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.
Just two minor comments -- rest looks good! 👍
Co-authored-by: dmey <dmey@users.noreply.github.com>
Co-authored-by: dmey <dmey@users.noreply.github.com>
This pull request adds example simulations with various configurations of the code. The different setups are documented in
docs/udales-example-simulations.md
, but feel free to expand on the documentation! They should all run out of the box (e.g. ./u-dales/tools/utils/local_execute.sh u-dales/examples/101).