-
Notifications
You must be signed in to change notification settings - Fork 164
Build tools for DART that do not need mkmf_ and path_names_ files #348
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
preprocess builds
move streamflow_obs_diag to its own directory cice quickbuild.sh
quickbuild.csh wipes these. Do we want to make them?
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.
i will confess to not reviewing all 1829 changed files individually. i did run tests and everything worked as expected. i think this is a positive step in lowering the barrier to making needed software changes and i approve this pull request.
not for this pull request, but in the future we should stop adding extensions to commands (e.g. quickbuild instead of quickbuild.csh or quickbuild.sh or quickbuild.py). then we can change the implementation language from csh to sh to python to a compiled program and it will all be transparent to the end user (and other scripts). commands should never have had .csh extensions. apparently it made it easier to have svn automatically set the permissions to add the executable flags. in my opinion that wasn't a good choice. it's too late for our existing scripts, but for future scripts it would be a better practice to drop the file extension altogether. (end rant)
|
I love a good Nancy rant.
Thanks for looking at this Nancy. I promise not to do any more 1829 file pull
requests. (Probably this is a lie)
…On Fri, May 13, 2022 at 11:36 AM nancy collins ***@***.***> wrote:
***@***.**** approved this pull request.
i will confess to not reviewing all 1829 changed files individually. i did
run tests and everything worked as expected. i think this is a positive
step in lowering the barrier to making needed software changes and i
approve this pull request.
not for this pull request, but in the future we should stop adding
extensions to commands (e.g. quickbuild instead of quickbuild.csh or
quickbuild.sh or quickbuild.py). then we can change the implementation
language from csh to sh to python to a compiled program and it will all be
transparent to the end user (and other scripts). commands should never have
had .csh extensions. apparently it made it easier to have svn automatically
set the permissions to add the executable flags. in my opinion that wasn't
a good choice. it's too late for our existing scripts, but for future
scripts it would be a better practice to drop the file extension
altogether. (end rant)
—
Reply to this email directly, view it on GitHub
<#348 (review)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEY6JH6FWLAAKS2IJGDXSB3VJ2HJTANCNFSM5VIYNTRQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
|
just a warning that with the new build system, i found that |
There is a script to compile this code: I will move this to an issue, I think fix or remove this code from the repo, set as EXCLUDE in this pull request |
Description:
There are science changes to DART in the pipeline that are potentially disruptive changes. However, a large part of the disruption is due to the build system in DART. For example, if you wanted to split filter_assim into two files, you would have to change ~730 path_names files.
The goal is have a build system that lets dart developers refactor code without the tax of altering individual mkmf_ and path_names files. And, ideally, as transparent as possible for DART users.
Slides about the build system are here
Original spec is here
Changes for users:
./quickbuild.shrather than./quickbuild.cshTo build a single program
./quickbuild.sh filterrather thanNote you can still iterate over changing code and compiling using make
.f90 files in the work directory take precedence over .f90 files with the same name elsewhere. So you can
have a local version of
filter_assim_mod.f90in work that will be used instead ofassimilation_code/modules/assimilation/assim_tools_mod.f90quickdbuild.sh helpgives the quickdbuild.sh usage.For developers, added documentation in guide/quickbuild.rst about build functions and where these functions search for
source code. Html is here
Fixes issues
Fixes #216, fixes #335, fixes #333, fixes #157, fixes #129, fixes #327, fixes #114
developer_tests/time_managernow compiles.Fixes #141
developer_tests/build_everythinguses local obs_def/kind_mod.f90.Renames obs_diag for streamflow to stream_flow_obs_diag. Note this does not fix issue #334.
Types of changes
This pull request removes 1465 files ~30% of the repo
Documentation changes needed?
Tests
Please describe any tests you ran to verify your changes.
Note I've changed the code in
models/wrf_hydro/hydro_dart_py/hydrodartpy/core/dartclasses.pyto usequickdbuild.sh. However dartclasses.py expecting tolsthe mkmf_ files to get a list of executables. I'm not sure where the list of executables is used so this pull request may break hydro_dart_py.Checklist for merging
Testing Datasets