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

Restructure STEPWAT2 #478

Open
chaukap opened this issue Feb 21, 2020 · 5 comments
Open

Restructure STEPWAT2 #478

chaukap opened this issue Feb 21, 2020 · 5 comments

Comments

@chaukap
Copy link
Contributor

chaukap commented Feb 21, 2020

The structure of the STEPWAT2 repository could be streamlined very easily to make it easier to understand and use. I spent some time thinking about what the new structure could look like and this is my suggestion:

The main directory:

dev
documentation
outputs
inputs
makefile
README.md
doxyfile

dev:

sw_src
test
tools
obj
sqlite-amalgamation
All of the .c and .h files

Inputs:

Grid_Inputs
Single-plot_inputs
files.in
sxwdebug.in

Outputs:

sw_output
logfile.log

There are obviously some small details to still work out, but I think this general structure would be much easier to understand.

@kpalmqui
Copy link
Member

@dschlaep it would be great to get your thoughts on this. We have three goals here:

  1. make the file/folder structure clearer to users and developers
  2. remove the contingency that you need to be a certain folder to run non-gridded vs. gridded mode
  3. remove unnecessary folders that once duplicated in rSFSTEP2 take up unnecessary space

perhaps something similiar to be done with SOILWAT2?

@dschlaep
Copy link
Member

A few quick thoughts:

  • I agree that a different hierarchical organization could be beneficial
  • I believe that developers and users may have different, and maybe even divergent, needs
  • I like the idea that a user should be able to execute non-gridded and gridded runs from the same path
  • I posted a few years ago a related idea to re-organize the SOILWAT2 repository -- focusing on developers: Re-organize repository with more sub-folders SOILWAT2#89 (though I may suggest a somewhat different structure now...)
  • please note that the organization of SOILWAT2 inputs files (as used by STEPWAT2 or by SOILWAT2) is a user input via the file files_SOILWAT2.in because SOILWAT2 handles relative paths (and has the -d option), i.e., these files do not need to be in the current sub-sub-folder location as in the STEPWAT2 testing folder. An application of the -d option is the bint_run target of the SOILWAT2 makefile.

Maybe a meeting would be easier?

@chaukap
Copy link
Contributor Author

chaukap commented Feb 26, 2020

@dschlaep I could do a meeting sometime next week; maybe Monday or Tuesday? @kpalmqui does a time next week work for you?

@chaukap
Copy link
Contributor Author

chaukap commented Mar 10, 2020

To sum up the meeting @kpalmqui, @dschlaep and I had, we decided that restructuring both STEPWAT2 and SOILWAT2 would be a good idea. In general the layout I describe above will work for STEPWAT2.

However, we decided that before we restructure the files we should decouple the STEPWAT2 makefile from any specific SOILWAT2 structure. This means the STEPWAT2 makefile should call the SOILWAT2 makefile then use the resultant library file to build STEPWAT as opposed to building STEPWAT2 using SOILWAT2 files directly. I will open a separate issue for this and depending on how quickly we can merge in the other development branches I will implement the change.

@chaukap
Copy link
Contributor Author

chaukap commented Mar 10, 2020

Issue #483 summarizes the changes that must occur to decouple the STEPWAT2 makefile.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants