From f5214f9d56520fab66fa2ebcd0613a7e774c578c Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Fri, 17 Jan 2025 11:41:42 +0100
Subject: [PATCH] cleanup.

---
 .gitlab-ci.yml                     |   3 -
 Makefile                           |  26 -------
 paper/bibliography.bib             | 105 -----------------------------
 paper/ci-paper.yml                 |  14 ----
 paper/filters/color.lua            |  48 -------------
 paper/filters/include.py           |  63 -----------------
 paper/filters/spellcheck.lua       |  70 -------------------
 paper/index.md                     |  73 --------------------
 paper/style.tex                    |  66 ------------------
 studies/performance/content.md     |   1 -
 studies/reproducibility/content.md |   1 -
 studies/workflow/content.md        |   1 -
 tests/content.md                   |   8 ---
 workflow/queries.py                |  17 -----
 workflow/requirements.txt          |   1 -
 15 files changed, 497 deletions(-)
 delete mode 100644 .gitlab-ci.yml
 delete mode 100644 Makefile
 delete mode 100644 paper/bibliography.bib
 delete mode 100644 paper/ci-paper.yml
 delete mode 100644 paper/filters/color.lua
 delete mode 100644 paper/filters/include.py
 delete mode 100644 paper/filters/spellcheck.lua
 delete mode 100644 paper/index.md
 delete mode 100644 paper/style.tex
 delete mode 100644 studies/performance/content.md
 delete mode 100644 studies/reproducibility/content.md
 delete mode 100644 studies/workflow/content.md
 delete mode 100644 tests/content.md
 delete mode 100644 workflow/queries.py

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
deleted file mode 100644
index 82344cd..0000000
--- a/.gitlab-ci.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-include:
-  # - local: "/container/ci-container.yml"
-  - local: "/paper/ci-paper.yml"
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 6637bf7..0000000
--- a/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-.PHONY: all build spellcheck clean watch html
-
-all: paper.pdf
-
-CROSSREF := $(shell command -v pandoc-crossref 2> /dev/null)
-PANDOC_ARGS = --from=markdown --highlight-style=tango -F mermaid-filter -F ${CROSSREF} --citeproc --number-sections
-SRCS = paper/index.md $(wildcard **/content.md */**/content.md)
-DEPS = ${SRCS} paper/style.tex Makefile $(wildcard filter/*.lua)
-
-paper.pdf: $(DEPS)
-	pandoc --listings -s -H paper/style.tex --lua-filter paper/filters/color.lua -o $@ ${PANDOC_ARGS} ${SRCS}
-
-spellcheck:
-	ASPELL_CONF="personal ./.aspell.en.pws" pandoc --lua-filter paper/filters/spellcheck.lua ${SRCS}
-
-clean:
-	@echo "Cleaning up..."
-	rm *.pdf
-
-watch:
-	fswatch -0 -o -l 2 **/*.md **/*.bib | xargs -0 -n 1 make build
-
-html: index.html
-
-%.html: $(DEPS)
-	pandoc --standalone --mathjax -o $@ ${PANDOC_ARGS} ${SRCS}
diff --git a/paper/bibliography.bib b/paper/bibliography.bib
deleted file mode 100644
index 3a7ca84..0000000
--- a/paper/bibliography.bib
+++ /dev/null
@@ -1,105 +0,0 @@
-@article{Wang2009,
-  title    = {A parallel finite element scheme for thermo-hydro-mechanical (THM) coupled problems in porous media},
-  journal  = {Computers \& Geosciences},
-  volume   = {35},
-  number   = {8},
-  pages    = {1631 - 1641},
-  year     = {2009},
-  issn     = {0098-3004},
-  author   = {Wenqing Wang and Georg Kosakowski and Olaf Kolditz},
-  keywords = {Parallel computing, Finite element method, Domain decomposition, Thermo-hydro-mechanical (THM) coupled processes, Porous media}
-}
-
-@book{Kolditz2012,
-  title     = {Thermo-Hydro-Mechanical-Chemical Processes in Porous Media - Benchmarks and Examples},
-  author    = {Kolditz, O. and Görke, U.-J. and Shao, H. and Wang, W.},
-  publisher = {Springer},
-  year      = {2012},
-  volume    = {86},
-  doi       = {10.1007/978-3-642-27177-9},
-  isbn      = {978-3-642-27176-2},
-  category  = {Processes}
-}
-
-@article{Wang2015,
-  author  = {Wang, Wenqing and Fischer, Thomas and Zehner, Bj{\"{o}}rn and B{\"{o}}ttcher, Norbert and G{\"{o}}rke, Uwe Jens and Kolditz, Olaf},
-  issn    = {18666299},
-  journal = {Environmental Earth Sciences},
-  number  = {5},
-  pages   = {2269--2285},
-  title   = {{A parallel finite element method for two-phase flow processes in porous media: OpenGeoSys with PETSc}},
-  volume  = {73},
-  year    = {2015}
-}
-
-@book{ddc,
-  author    = {Toselli, Andrea and Widlund, Olof B.},
-  publisher = {Springer},
-  title     = {Domain Decomposition Methods — Algorithms and Theory},
-  year      = {2005},
-  doi       = {10.1007/b137868},
-  isbn      = {978-3-540-26662-4}
-}
-
-@article{Wang2009,
-  title    = {A parallel finite element scheme for thermo-hydro-mechanical (THM) coupled problems in porous media},
-  journal  = {Computers \& Geosciences},
-  volume   = {35},
-  number   = {8},
-  pages    = {1631 - 1641},
-  year     = {2009},
-  issn     = {0098-3004},
-  author   = {Wenqing Wang and Georg Kosakowski and Olaf Kolditz},
-  keywords = {Parallel computing, Finite element method, Domain decomposition, Thermo-hydro-mechanical (THM) coupled processes, Porous media}
-}
-
-
-@inproceedings{10.5555/1898953.1899055,
-  author    = {Abou-Rjeili, Amine and Karypis, George},
-  title     = {Multilevel Algorithms for Partitioning Power-Law Graphs},
-  year      = {2006},
-  isbn      = {1424400546},
-  publisher = {IEEE Computer Society},
-  address   = {USA},
-  booktitle = {Proceedings of the 20th International Conference on Parallel and Distributed Processing},
-  pages     = {124},
-  numpages  = {1},
-  location  = {Rhodes Island, Greece},
-  series    = {IPDPS'06}
-}
-
-@article{10.12688/f1000research.29032.2,
-  author  = { Mölder, F and Jablonski, KP and Letcher, B and Hall, MB and Tomkins-Tinch, CH and Sochat, V and Forster, J and Lee, S and Twardziok, SO and Kanitz, A and Wilm, A and Holtgrewe, M and Rahmann, S and Nahnsen, S and Köster, J},
-  title   = {Sustainable data analysis with Snakemake [version 2; peer review: 2 approved]
-             },
-  journal = {F1000Research},
-  volume  = {10},
-  year    = {2021},
-  number  = {33},
-  doi     = {10.12688/f1000research.29032.2}
-}
-
-@techreport{petsc-user-ref,
-  author      = {Satish Balay and Shrirang Abhyankar and Mark~F. Adams and Steven
-                 Benson and Jed Brown and Peter Brune and Kris Buschelman and Emil Constantinescu and Lisandro Dalcin and Alp Dener and Victor Eijkhout and William~D. Gropp and V\'{a}clav Hapla and Tobin Isaac and Pierre Jolivet and Dmitry Karpeev and Dinesh Kaushik and Matthew~G. Knepley and Fande Kong and Scott Kruger and Dave~A. May and Lois Curfman McInnes and Richard Tran Mills and Lawrence Mitchell and Todd Munson and Jose~E. Roman and Karl Rupp and Patrick Sanan and Jason Sarich and Barry~F. Smith and Stefano Zampini and Hong Zhang and Hong Zhang and Junchao Zhang},
-  title       = {{PETSc/TAO} Users Manual},
-  institution = {Argonne National Laboratory},
-  number      = {ANL-21/39 - Revision 3.16},
-  year        = {2021}
-}
-
-@article{Bilke2019,
-  author  = {Bilke, Lars and Flemisch, Bernd and Kalbacher, Thomas and Kolditz, Olaf and Helmig, Rainer and Nagel, Thomas},
-  day     = 01,
-  doi     = {10.1007/s11242-019-01310-1},
-  issn    = {1573-1634},
-  journal = {Transport in Porous Media},
-  month   = {10},
-  number  = 1,
-  pages   = {337--361},
-  title   = {Development of Open-Source Porous Media Simulators: Principles and Experiences},
-  url     = {https://doi.org/10.1007/s11242-019-01310-1},
-  volume  = 130,
-  year    = 2019
-}
-
diff --git a/paper/ci-paper.yml b/paper/ci-paper.yml
deleted file mode 100644
index 4f09aea..0000000
--- a/paper/ci-paper.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-pdf:
-  tags: [envinf, shell]
-  stage: build
-  rules:
-    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
-    - changes:
-        - "**/*.md"
-        - Makefile
-  script:
-    - make
-  artifacts:
-    when: always
-    paths:
-      - paper.pdf
diff --git a/paper/filters/color.lua b/paper/filters/color.lua
deleted file mode 100644
index 4b9d100..0000000
--- a/paper/filters/color.lua
+++ /dev/null
@@ -1,48 +0,0 @@
-Span = function(el)
-    color = el.attributes['color']
-    -- if no color attribute, return unchanged
-    if color == nil then return el end
-    
-    -- transform to <span style="color: red;"></span>
-    if FORMAT:match 'html' then
-      -- remove color attributes
-      el.attributes['color'] = nil
-      -- use style attribute instead
-      el.attributes['style'] = 'color: ' .. color .. ';'
-      -- return full span element
-      return el
-    elseif FORMAT:match 'latex' then
-      -- remove color attributes
-      el.attributes['color'] = nil
-      -- encapsulate in latex code
-      table.insert(
-        el.content, 1,
-        pandoc.RawInline('latex', '\\textcolor{'..color..'}{')
-      )
-      table.insert(
-        el.content,
-        pandoc.RawInline('latex', '}')
-      )
-      return el.content
-    else
-      -- for other format return unchanged
-      return el
-    end
-  end
-
-function Div(el)
-    if el.classes[1] == "warning"
-    or el.classes[1] == "workflow"
-    -- ADD HERE MORE CLASSES
-        then
-        -- insert element in front
-        table.insert(
-        el.content, 1,
-        pandoc.RawBlock("latex", "\\begin{quote_" .. el.classes[1] .. "}"))
-        -- insert element at the back
-        table.insert(
-        el.content,
-        pandoc.RawBlock("latex", "\\end{quote_" .. el.classes[1] .. "}"))
-    end
-    return el
-end
diff --git a/paper/filters/include.py b/paper/filters/include.py
deleted file mode 100644
index abfeffd..0000000
--- a/paper/filters/include.py
+++ /dev/null
@@ -1,63 +0,0 @@
-"""
-Panflute filter to allow file includes
-
-Each include statement has its own line and has the syntax:
-
-    $include ../somefolder/somefile
-
-Each include statement must be in its own paragraph. That is, in its own line
-and separated by blank lines.
-
-If no extension was given, ".md" is assumed.
-"""
-
-import os
-import panflute as pf
-
-
-def is_include_line(elem):
-    if len(elem.content) < 3:
-        return False
-    elif not all(isinstance(x, (pf.Str, pf.Space)) for x in elem.content):
-        return False
-    elif elem.content[0].text != "$include":
-        return False
-    elif type(elem.content[1]) != pf.Space:
-        return False
-    else:
-        return True
-
-
-def get_filename(elem):
-    fn = pf.stringify(elem, newlines=False).split(maxsplit=1)[1]
-    if not os.path.splitext(fn)[1]:
-        fn += ".md"
-    return fn
-
-
-# TODO: make this recursive
-def action(elem, doc):
-    if isinstance(elem, pf.Para) and is_include_line(elem):
-
-        fn = get_filename(elem)
-        if not os.path.isfile(fn):
-            return
-
-        with open(fn) as f:
-            raw = f.read()
-
-        new_elems = pf.convert_text(raw)
-
-        # Alternative A:
-        return new_elems
-        # Alternative B:
-        # div = pf.Div(*new_elems, attributes={'source': fn})
-        # return div
-
-
-def main(doc=None):
-    return pf.run_filter(action, doc=doc)
-
-
-if __name__ == "__main__":
-    main()
diff --git a/paper/filters/spellcheck.lua b/paper/filters/spellcheck.lua
deleted file mode 100644
index 13a10d5..0000000
--- a/paper/filters/spellcheck.lua
+++ /dev/null
@@ -1,70 +0,0 @@
--- lua filter for spell checking: requires 'aspell'.
--- Copyright (C) 2017-2020 John MacFarlane, released under MIT license
-
-local text = require('text')
-local words = {}
-local deflang
-
-local function add_to_dict(lang, t)
-  if not words[lang] then
-    words[lang] = {}
-  end
-  if not words[lang][t] then
-    words[lang][t] = (words[lang][t] or 0) + 1
-  end
-end
-
-local function get_deflang(meta)
-  deflang = (meta.lang and meta.lang[1] and meta.lang[1].c) or 'en'
-  -- the following is better but won't work in pandoc 2.0.6.
-  -- it requires pandoc commit ecc46e229fde934f163d1f646383d24bfe2039e1:
-  -- deflang = (meta.lang and pandoc.utils.stringify(meta.lang)) or 'en'
-  return {} -- eliminate meta so it doesn't get spellchecked
-end
-
-local function run_spellcheck(lang)
-  local keys = {}
-  local wordlist = words[lang]
-  for k,_ in pairs(wordlist) do
-    keys[#keys + 1] = k
-  end
-  local inp = table.concat(keys, '\n')
-  local outp = pandoc.pipe('aspell', {'list','-l',lang}, inp)
-  for w in string.gmatch(outp, "([%S]+)\n") do
-    io.write(w)
-    if lang ~= deflang then
-      io.write("\t[" .. lang .. "]")
-    end
-    io.write("\n")
-  end
-end
-
-local function results(el)
-    pandoc.walk_block(pandoc.Div(el.blocks), {Str = function(e) add_to_dict(deflang, e.text) end})
-    for lang,v in pairs(words) do
-        run_spellcheck(lang)
-    end
-    os.exit(0)
-end
-
-local function checkstr(el)
-  add_to_dict(deflang, el.text)
-end
-
-local function checkspan(el)
-  local lang = el.attributes.lang
-  if not lang then return nil end
-  pandoc.walk_inline(el, {Str = function(e) add_to_dict(lang, e.text) end})
-  return {} -- remove span, so it doesn't get checked again
-end
-
-local function checkdiv(el)
-  local lang = el.attributes.lang
-  if not lang then return nil end
-  pandoc.walk_block(el, {Str = function(e) add_to_dict(lang, e.text) end})
-  return {} -- remove div, so it doesn't get checked again
-end
-
-return {{Meta = get_deflang},
-        {Div = checkdiv, Span = checkspan},
-        {Str = function(e) add_to_dict(deflang, e.text) end, Pandoc = results}}
diff --git a/paper/index.md b/paper/index.md
deleted file mode 100644
index ae00c55..0000000
--- a/paper/index.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: "Reproducible HPC software deployments, simulations and workflows"
-author:
-  - Lars Bilke
-  - Thomas Fischer
-  - Tobias Meisel
-  - Dmitri Naumov
-date: 30. Juni 2024
-lang: en
-
-### Latex ###
-documentclass: article
-geometry:
-  - top=30mm
-  - left=20mm
-  - heightrounded
-papersize: a4
-
-hyperrefoptions:
-  - linktoc=all
-colorlinks: true
-link-citations: true
-
-toc: true
-
-bibliography: paper/bibliography.bib
-
-graphics: yes
-
-header-includes:
-  - \usepackage{siunitx}
-
-codeBlockCaptions: yes
----
-
-\pagebreak
-
-# Abstract
-
-# Description of HPC environments
-
-## UFZ EVE
-
-## JSC JUWELS
-
-- https://www.fz-juelich.de/en/ias/jsc/systems/supercomputers/juwels
-- cluster + Booster module
-- for the study simulations are conducted only on cluster module
-
-### cluster module
-
-- BullSequana X1000 system with Intel Xeon Skylake-SP processors
-- configuration (source: https://apps.fz-juelich.de/jsc/hps/juwels/configuration.html)
-  - 2271 standard compute nodes (2x Intel Xeon Platinum 8168 CPU, 2x 24 cores, 2.7 GHz; 96 (12x 8) GB DDR4, 2666 MHz)
-  - 240 large memory compute nodes (2x Intel Xeon Platinum 8168 CPU, 2x 24 cores, 2.7 GHz; 192 (12x 16) GB DDR4, 2666 MHz)
-  - connected via InfiniBand EDR (Connect-X4)
-
-- simulations run exclusively on compute node
-
-## TU Dresden Barnard
-
-# Reproducible software deployment with GNU Guix
-
-- Intro to Guix
-- Packaging ogs with Guix
-  - Missing dependencies
-  - Changes to OGS
-  - Making it reproducible
-- Packaging ogstools with Guix
-- Creating container
-  - petsc pmix fix
-  - petsc size reduction
-  - make petsc reproducible
diff --git a/paper/style.tex b/paper/style.tex
deleted file mode 100644
index 511a7d6..0000000
--- a/paper/style.tex
+++ /dev/null
@@ -1,66 +0,0 @@
-\usepackage{tcolorbox}
-
-% New tcolorbox
-\newtcolorbox{warning}{colback=red!5!white, colframe=red!50!white, title={Hinweis},fonttitle=\bfseries}
-\newtcolorbox{workflow}{colback=green!5!white, colframe=green!50!black, title={Workflow},fonttitle=\bfseries,}
-
-% Declare the environments
-\newenvironment{quote_warning}{\begin{warning}}{\end{warning}}
-\newenvironment{quote_workflow}{\begin{workflow}}{\end{workflow}}
-
-\usepackage{titling}
-\pretitle{\begin{center}\vspace{-3cm}\LARGE\bfseries}
-\posttitle{\end{center}\vspace{-0cm}}
-
-\usepackage{listings}
-\usepackage{xcolor}
-\newcommand{\passthrough}[1]{#1}
-\lstset{
-  basicstyle=\small\ttfamily,
-  columns=fullflexible,
-  breaklines=true,
-  postbreak=\mbox{\textcolor{red}{$\hookrightarrow$}\space},
-  keywordstyle=\color[rgb]{0.13,0.29,0.53}\bfseries,
-  stringstyle=\color[rgb]{0.31,0.60,0.02},
-  commentstyle=\color[rgb]{0.56,0.35,0.01}\itshape,
-  backgroundcolor=\color[RGB]{248,248,248},
-}
-
-\usepackage{dirtree}
-
-% pandoc-crossref, see https://github.com/lierdakil/pandoc-crossref/issues/326#issuecomment-902798819
-\makeatletter
-\@ifpackageloaded{subfig}{}{\usepackage{subfig}}
-\@ifpackageloaded{caption}{}{\usepackage{caption}}
-\captionsetup[subfloat]{margin=0.5em}
-\AtBeginDocument{%
-\renewcommand*\figurename{Abbildung}
-\renewcommand*\tablename{Tabelle}
-}
-\AtBeginDocument{%
-\renewcommand*\listfigurename{Abbildungsverzeichnis}
-\renewcommand*\listtablename{Tabellenverzeichnis}
-}
-\newcounter{pandoccrossref@subfigures@footnote@counter}
-\newenvironment{pandoccrossrefsubfigures}{%
-\setcounter{pandoccrossref@subfigures@footnote@counter}{0}
-\begin{figure}\centering%
-\gdef\global@pandoccrossref@subfigures@footnotes{}%
-\DeclareRobustCommand{\footnote}[1]{\footnotemark%
-\stepcounter{pandoccrossref@subfigures@footnote@counter}%
-\ifx\global@pandoccrossref@subfigures@footnotes\empty%
-\gdef\global@pandoccrossref@subfigures@footnotes{{##1}}%
-\else%
-\g@addto@macro\global@pandoccrossref@subfigures@footnotes{, {##1}}%
-\fi}}%
-{\end{figure}%
-\addtocounter{footnote}{-\value{pandoccrossref@subfigures@footnote@counter}}
-\@for\f:=\global@pandoccrossref@subfigures@footnotes\do{\stepcounter{footnote}\footnotetext{\f}}%
-\gdef\global@pandoccrossref@subfigures@footnotes{}}
-\@ifpackageloaded{float}{}{\usepackage{float}}
-\floatstyle{ruled}
-\@ifundefined{c@chapter}{\newfloat{codelisting}{h}{lop}}{\newfloat{codelisting}{h}{lop}[chapter]}
-\floatname{codelisting}{Listing}
-\newcommand*\listoflistings{\listof{codelisting}{List of Listings}}
-\makeatother
-
diff --git a/studies/performance/content.md b/studies/performance/content.md
deleted file mode 100644
index 88c7771..0000000
--- a/studies/performance/content.md
+++ /dev/null
@@ -1 +0,0 @@
-# Performance study
diff --git a/studies/reproducibility/content.md b/studies/reproducibility/content.md
deleted file mode 100644
index afd01b6..0000000
--- a/studies/reproducibility/content.md
+++ /dev/null
@@ -1 +0,0 @@
-# Reproducibility study
diff --git a/studies/workflow/content.md b/studies/workflow/content.md
deleted file mode 100644
index 8b6e1ec..0000000
--- a/studies/workflow/content.md
+++ /dev/null
@@ -1 +0,0 @@
-# Workflow study
diff --git a/tests/content.md b/tests/content.md
deleted file mode 100644
index e1e8bd2..0000000
--- a/tests/content.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Container tests
-
-- mpi bandwidth test
-- Simple parallel ogs run
-- Smaller generic cube liquid flow test
-  - 250 x 250 x 250 elements
-  - 96 partitions
-  - runtime < 10 minutes
diff --git a/workflow/queries.py b/workflow/queries.py
deleted file mode 100644
index 4a78a6a..0000000
--- a/workflow/queries.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from aiida.orm import QueryBuilder, CalcJobNode, Str
-from aiida_shell import ShellJob
-
-qb = QueryBuilder()       # Instantiating instance. One instance -> one query
-qb.append(ShellJob, tag='shelljob', filters={                       # Specify the filters:
-        'attributes.process_state': 'finished',  # the process is finished
-    })
-qb.limit(30)
-# qb.append(Str, with_incoming='shelljob')
-for row in qb.iterall():
-    # print(row[0])
-    if 'stdout' in row[0].outputs:
-        print(row[0].outputs['stdout'].get_content())
-# all_results_d = qb.dict()           # Returns all results as a list of dictionaries
-# print(all_results_d)
-# all_results_l = qb.all()
-# print(all_results_l)
\ No newline at end of file
diff --git a/workflow/requirements.txt b/workflow/requirements.txt
index 838290a..8349dbc 100644
--- a/workflow/requirements.txt
+++ b/workflow/requirements.txt
@@ -1,5 +1,4 @@
 aiida-core[rest]~=2.6
-#git+https://github.com/aiidateam/aiida-core.git@main#egg=aiida-core
 aiida-shell>=0.8.0
 pandas
 Jinja2
-- 
GitLab