aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2018-08-11Not using random distribution in demonstration plotMohammad Akhlaghi-12/+13
Different implementations of AWK may use different random number generators, so even setting the seed will not ensure a reproducible result. Because of this, the random plot may be different when the pipeline runs on different systems and this can confuse early users (its contrary to the exact reproducibility that is the whole purpose of this pipeline). The plot is just a simple X^2 plot, showing the squared value of the X axis on the Y axis. It is very simple, but atleast it will be identical on all systems. Also, there may be too many complicated things in the pipeline already for an early user, and its just a demonstration, so the easier/simpler, the better.
2018-08-11Added bash as a dependency to be checked at configure timeMohammad Akhlaghi-5/+5
While we had set the default Makefile SHELL to be bash, we weren't actually checking if `bash' is available on the system. With this commit, it is also checked at configure time.
2018-07-27SHELL has been explicitly set to /bin/bashMohammad Akhlaghi-0/+13
On some systems, the default shell `/bin/sh' doesn't point to Bash and this can cause problems and failures when the designer uses its features. Bash (and its extra features) make things very easy and it is very ubiquitous, so it is safe to assume users will have it. This problem was reported by Alejandro Serrano Borlaff.
2018-07-08Files with .mk suffix as Makefiles in EmacsMohammad Akhlaghi-0/+4
Since version 26.1, apparently Emacs doesn't tream `.mk' files in Makefile-mode. So thanks to Mosè Giordano, a line was added in the `.dir-locals.el' file so we can be sure they are always treated as Makefiles and make things more convenient for Emacs users.
2018-03-14Some further minor edits to new parts of README.mdMohammad Akhlaghi-14/+16
Going through the text, some further minor edits were made.
2018-03-14Minor edits in README.mdMohammad Akhlaghi-6/+9
Some minor edits to the newly added parts of `README.md'.
2018-03-14Added future plans (and Nix/Guix usage) in README.mdMohammad Akhlaghi-4/+51
A section was added to `README.md' for describing possible future steps that we can take to make this pipeline even more robust. In it, I added a first interesting thing that I think would be really exciting to add, but I don't have time to do now.
2018-03-13Updated link to slidesMohammad Akhlaghi-1/+1
The link to the slides describing the context was the old address (which still works, but is just a symbolic link to the new address). It was thus corrected to point to the proper filename.
2018-03-09Corrected name to new repository addressMohammad Akhlaghi-3/+3
The main online repository name has been changed to `reproducible-paper' from `reproduction-pipeline-template'. So the cloning command in `README.md' had to be corrected.
2018-03-09Minor edits in README.mdMohammad Akhlaghi-5/+6
Some minor corrections were made regarding the output repository.
2018-03-09Minor typo corrected in link in README.mdMohammad Akhlaghi-2/+2
The markup for the link to the final PDF in the `README.md' file was mistakenly written and is now corrected.
2018-03-09Added description of output templateMohammad Akhlaghi-10/+15
A template was made to keep the output of this pipeline as a demonstration and it is now added to the description in `README.md'.
2018-03-09Added tip for pipeline outputsMohammad Akhlaghi-3/+22
While doing my own project (which has grown to a processing time of about half an hour), I felt that it would be very convenient to a record of the outputs at major points also. But we don't want to bloat the pipeline by commiting PDF files or large datasets that get fully changed and are just by-products. So it occurred to me to have a separate pipeline only for outputs and after trying it out, it indeed seemds to be a good solution.
2018-03-04Edits in README.mdMohammad Akhlaghi-10/+9
Some futher edits were made to the paragraph describing the contents of `README.md' for a smoother reading.
2018-03-04Minor correction in README.mdMohammad Akhlaghi-7/+8
After the last commit, another minor correction is implemeneted to further simplify the reading.
2018-03-04Minor edits in README.mdMohammad Akhlaghi-51/+70
I reviewed the first few sections of `README.md' and made some small corrections to make it easier to understand/read.
2018-03-02Small edit in README.mdMohammad Akhlaghi-2/+1
A small edit was made at the start of `README.md' to make it easier to read.
2018-02-28Edited commends on \makepdfMohammad Akhlaghi-6/+4
The old comments could be a little confusing, so they are now more clear and describe where to look for how this variable is used.
2018-02-28Header for pages, new font and author managementMohammad Akhlaghi-30/+125
The computer modern font that was designed by Donald Knuth and is the default of LaTeX is indeed a very good, elegant and nice font in print. However, most journals choose the roman fonts and thus the computer modern font doesn't (subjectively) fit into the journal format nicely. So the default font of this pipeline's paper now uses LaTeX's `newtx' package for a roman style font. Also, a set of preamble settings were added to allow headers in the pages of the paper to make the result resemble more like a journal paper (familiar to the eye), while also adding important information. A new header was made for this job. This new header now also contains the title and author settings (after all, these are also a type of header). Finally, the LaTeX `authblk' package was used to organize authors and their affiliations.
2018-02-27Abstract added to final PDF along with better explanationMohammad Akhlaghi-25/+93
An abstract is also something most research reports will need, so a simple macro was defined to make it easy (not too many code lines within the text of the main body) to implement an abstract. The title was also moved up a little to better use the extra white space at the top of the page. Finally, the `\highlightchanges' along with its explanation (both as comments and within the text with examples) was added in `paper.tex' to demonstrate how useful the `\new' and `\tonote' macros are.
2018-02-27Multicol package no longer used for two column PDFMohammad Akhlaghi-23/+1
Until now, we were using the `multicol' package which is mainly designed for more than two columns. Instead, we are just passing a `twocolumn' option to the article document class.
2018-02-27Minor edits in README.mdMohammad Akhlaghi-4/+4
A few minor corrections were made in `README.md'.
2018-02-27More clear comments in paper.mkMohammad Akhlaghi-3/+7
The comments needed to be corrected to fit and explain the new logic (LaTeX being run within another directory).
2018-02-27Better comments on TeX preamblesMohammad Akhlaghi-13/+44
The comments in the preambles were made more clear and elaborate.
2018-02-27Cleaner TeX comments in paper.texMohammad Akhlaghi-8/+5
Having a look at the TeX source, some minor edits were made to the comments so it is more clear.
2018-02-27Default PDF now uses PGFPlots and BibLaTeXMohammad Akhlaghi-34/+374
Making plots and including references are integral parts of a scientific paper. Therefore to demonstrate how cleanly they can be used within the pipeline, they are now used to produce the final PDF. To use PGFPlots a random dataset is made (using AWK's random function) and is plotted using PGFPlots. The minimum and maximum values of the dataset are also included in the text to further show how such calculations can go into the macros and text. For the references, the NoiseChisel paper was added as a reference to cite when using this pipeline along with the MUSE UDF paper I, which uses this pipeline for two sections. Following this discussion, citation is also discussed in `README.md` and the NoiseChisel paper is also added as a published work with a reproduction pipeline.
2018-02-27Copyrights and TeX management made more clearMohammad Akhlaghi-33/+156
Until now, the copyright statement was left empty for the users of the pipeline to fill. However, the files have already been created and have an author (or contributing authors) before the user starts using the pipeline. So the original authors of the files are added along with the year. The user can add their own name to the existing files under the "Contributing author" when they start and they will be the "Original author" of the new files they create. Several changes were also made to the TeX management: - LaTeX is run within a `reproduce/build/tex/build' directory now. Not in the top reproduction pipeline directory. This helps keep all the auxiliary TeX files and directories in that directory and keep the top reproduction pipeline directory clean. After the final PDF is built, a copy is put in the top reproduction pipeline directory for easy viewing. - The PGFPlots preamble was also made more useful, allowing the name of the `.tex' file to also be the name of the final plot that is produced. This is a GREAT feature, because without it, the TiKZ externalization would be based on order of the plots within the paper. But now, order is irrelevant and we can even delete the TiKZ files within the processing workhorse-Makefiles so the plots are definitly rebuilt on the next run. - The paper is now in a two-column format to be more similar to published papers. A tip on debugging Make was added to `README.md'.
2018-02-26Typo corrected and minor edit in README.mdMohammad Akhlaghi-8/+8
A typo (" ... followed b checklist ...") was found and corrected in `README.md'. Also, after re-reading the paragraph, it was made slightly more clear with some minor edits in the text.
2018-02-20Added link to slides on this conceptMohammad Akhlaghi-1/+3
I had made some slides for a talk here at Lyon Observatory a little over a week ago and I thought it may be useful to add them in the `README.md' file to help demonstrate the general concept before having to read such long texts. Later, we should be adding some figures to this `README.md' file to make it more easier to understand.
2018-02-20Minor edits in design summary of README.mdMohammad Akhlaghi-11/+12
The points were made more clear.
2018-02-20Minor corrections and edits made in README.mdMohammad Akhlaghi-47/+92
The published works using the pipeline now have a separate section for them selves in the introduction and some of the explanation was made more clear.
2018-02-20Pipeline architecture described in README.mdMohammad Akhlaghi-5/+115
`README.md' didn't contain a general description of the pipeline's design architecture. So a few paragraphs have been added to help someone new to it to understand it better.
2018-02-20Necessary programs checked at configure timeMohammad Akhlaghi-59/+187
The mandatory and optional (for example downloader) dependencies are now checked at configure time so users can know what they may be missing before the processing starts. Since its recommended to be run in parallel, it can be hard to find what you are missing after running the pipeline. As part of these checks, the program to use for downloading is now also set at configure time, it is only used as a pre-defined (in `LOCAL.mk') variable during Make's processing. A small title was also added to discus the pipeline architecture that will be filled in the next commit.
2018-02-19Minor edits in README.mdMohammad Akhlaghi-9/+18
A few other minor corrections were applied to the text to be more clear.
2018-02-19Minor edits in README.mdMohammad Akhlaghi-10/+12
Some minor edits and a spellcheck were made in the text to make it easier to understand/read.
2018-02-19Added tips section on version control with taggingMohammad Akhlaghi-8/+37
In the "Tips" section of `README.md', a section on version control was added and a first tip regarding tags was added to guide (new) users on how to effectively define and use tags. As a result, in the checklist, adding a `v0' tag is now also suggested. Some minor typos were also fixed.
2018-02-16Corrected mistake in commentMohammad Akhlaghi-3/+3
The first comment of the top LaTeX source was confusing and is now fixed.
2018-02-15Ignoring .nfs* files from GitMohammad Akhlaghi-0/+1
On some servers, `.nfs*' files are also created during the processing, so to keep the Git repo clean (avoid an un-necessary `-dirty' prefix), we are adding these files to the `.gitignore'.
2018-02-15Backup file ending with ~ is also deleted in configureMohammad Akhlaghi-2/+3
Some editors put a copy of their input file into another file ending with `~' (for backup). So now, the `./configure' script also cleans this file along with the temporary file.
2018-02-15Wildcard for mmap files made more genericMohammad Akhlaghi-1/+1
In some systems, the fact that `.gnuastro' and `reproduce/config/gnuastro' are the same is not recognized by Git in `.gitignore' and so the `mmap' files will be treated as un-commit files. So we now simply ignore all files starting with `mmap_*' and removed the directory information before it.
2018-02-15Configure script starts with bin/bash shebangMohammad Akhlaghi-1/+8
While trying the pipeline on a remote server (which runs on Debian), the configure script had an `Syntax error: "(" unexpected' error. This is caused by the fact that in the Debian world (and its derivate OSs), the default shell is not Bash but Dash which has much fewer features for fast loading. It was thus necessary to start the configure script explicity with the `/bin/bash' shebang.
2018-02-15Minor typo corrections in Gnuastro's config fileMohammad Akhlaghi-2/+2
Two minor typo corrections in the comments were made in Gnuastro's configuration file to make it more clear.
2018-02-15Gnuastro's memory mapping is now a local variableMohammad Akhlaghi-72/+180
As described in the commens above `MINMAPSIZE' of `LOCAL.mk.in', the amount of memory to map to HDD/SSD or keep in RAM is a local issue and not relevant to the pipeline's results. So it is now defined in a `gnuastro-local.conf' file. To keep the Makefiles clean, this file is created by the `./configure' script. To do this cleanly, the `./configure' script was also almost fully re-written with better functionality now.
2018-02-15Choice to build final PDF removed from LOCAL settingsMohammad Akhlaghi-27/+22
The previous change where we had set the building of the PDF as a local (and thus not version controlled) setting was not good, because different commits might be made without the high-level preparations for the final PDF (especially during the initial/testing phases of a research). Therefore, if the runner of the pipeline is ignorant to this, they may hit some errors in LaTeX which can be frustrating. To have a clean reproduction, it is thus necessary to have the choice of pdf-building under version control along with the rest of the pipeline.
2018-02-14clean-mmap now a dependency of cleanMohammad Akhlaghi-2/+2
Until now, Gnuastro's `mmap' files were included in the `rm' commands of `clean*' rules two times. But by setting `clean-mmap' as a dependency of `clean', it is now only necessary to have them in the Makefile once. This also makes the code much more cleaner.
2018-02-14Some extra space in alert when no PDF is createdMohammad Akhlaghi-0/+2
To help view that everything is OK and that there were no errors, an extra blank line followed by one with `----' is added to the notice when we won't be making a PDF. These two lines help the eye more clearly see everything is fine (given that above it, there are MANY commands and outputs).
2018-02-14Symbolic link to build directory now permanently addedMohammad Akhlaghi-46/+32
Managing this symbolic link as a prerequisite that may or maynot be defined just made the code too dirty. It is almost always needed, so it is now a super-high-level prerequisite (first dependency of the `all' target, even before the final PDF). In this way, we can be sure it is always built and that nothing else depends on it. If the user doesn't want it, they can simply remove it from the top `Makefile'.
2018-02-14Sanity checks added, local settings now in LOCAL.mk.inMohammad Akhlaghi-78/+135
The choice of whether or not to make a PDF is now also a local system issue, not a general pipeline issue. So it has been put in the new `LOCAL.mk.in' file which replaces the old `DIRECTORIES.mk.in'. All local settings (things that when changed should not be version-controlled) should be defined in this file. A sanity check was added to find if `./configure' has been run before `make' or not (using the `LOCAL.mk' file which is an output of the configuration step). If `LOCAL.mk' doesn't exist, an error will be printed informing the user that `./configure' needs to be run first. The configure script also provides more clear and hopefully better information on its purpose and what must be done. Since `make clean', it is executed even when `./configure' hasn't been run, it will only delete the build directory and its contents when local configuration has been done. A `distclean' target was also added which will first "clean" the pipeline, then delete the `LOCAL.mk.in' file. To allow rules like `make' to be run even if `BDIR' isn't defined (`./configure' hasn't been run yet), a fake `BDIR' is defined in such cases.
2018-02-10Minor typo corrections in README.mdMohammad Akhlaghi-21/+22
While going over parts of the text, some minor typos were found and corrected.
2018-02-10Corrected tips title to be more clearMohammad Akhlaghi-6/+6
The title "Tips on using the pipeline" was a little generic and could be confused with people who want to reproduce the result, not the designers of the pipeline. So it was changed to "Tips on expanding this template (designing your pipeline)". Some minor edits were also made to its first paragraph.