diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 843b650e5e4c345e4c9826d6f28cb52826c2429f..83fc49b818b5e4c2000a243474ba6dbb9d04150b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,8 @@
-hyteg-hog-integration-test:
+stages:
+  - pretest
+  - test
+
+.hyteg-hog-integration-test-template:
   stage: test
   image: i10git.cs.fau.de:5005/pycodegen/pycodegen/full
   script:
@@ -10,10 +14,66 @@ hyteg-hog-integration-test:
     - GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0="url.https://gitlab-ci-token:${CI_JOB_TOKEN}@i10git.cs.fau.de.insteadOf" GIT_CONFIG_VALUE_0="ssh://git@i10git.cs.fau.de" python -m pip install -r requirements.txt
     - pip freeze
     - rm -rf ../operators/*
-    - python3 generate.py -o ../operators ../operators.toml --processes 8
+    - python3 generate.py -o ../operators ../operators-$OPERATOR_BASE_NAME.toml --processes 8
     - cd ..
+    - cd operators/$OPERATOR_BASE_NAME
+    - pwd
+    - ls -lhta
     - git status
-    - git diff
-    - git diff --exit-code --stat
+    - git diff .
+    - git diff . --exit-code --stat
+  variables:
+    - OPERATOR_BASE_NAME: "OPERATOR_NOT_SPECIFIED"
   tags:
     - docker
+
+curl_curl:
+  extends: .hyteg-hog-integration-test-template
+  variables:
+    OPERATOR_BASE_NAME: "curl_curl"
+
+diffusion:
+  stage: pretest                                       # <=== THIS RUNS IN PRETEST STAGE
+  extends: .hyteg-hog-integration-test-template
+  variables:
+    OPERATOR_BASE_NAME: "diffusion"
+
+div_k_grad:
+  extends: .hyteg-hog-integration-test-template
+  variables:
+    OPERATOR_BASE_NAME: "div_k_grad"
+
+divergence:
+  extends: .hyteg-hog-integration-test-template
+  variables:
+    OPERATOR_BASE_NAME: "divergence"
+
+epsilon:
+  extends: .hyteg-hog-integration-test-template
+  variables:
+    OPERATOR_BASE_NAME: "epsilon"
+
+full_stokes:
+  extends: .hyteg-hog-integration-test-template
+  variables:
+    OPERATOR_BASE_NAME: "full_stokes"
+
+gradient:
+  extends: .hyteg-hog-integration-test-template
+  variables:
+    OPERATOR_BASE_NAME: "gradient"
+
+k_mass:
+  extends: .hyteg-hog-integration-test-template
+  variables:
+    OPERATOR_BASE_NAME: "k_mass"
+
+mass:
+  extends: .hyteg-hog-integration-test-template
+  variables:
+    OPERATOR_BASE_NAME: "mass"
+
+terraneo:
+  extends: .hyteg-hog-integration-test-template
+  variables:
+    OPERATOR_BASE_NAME: "terraneo"
\ No newline at end of file
diff --git a/README.md b/README.md
index fe7a632df0d4ba80cdf9aa86394e6ac5e474c200..e5bda9e9a62af59038db427495e33be8f1a5c380 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,8 @@ The code under [operators](operators) is generated using [HFG](https://i10git.cs
 Each kernel has a platform independent and, where applicable, an AVX-vectorized version.
 The desired variant is configured in CMake.
 
-All operators are described declaratively in [operators.toml](operators.toml).
+All operators are described declaratively in `operators-<operator-group>.toml`.
+They are roughly split into groups for a better overview and faster integration tests.
 
 ## How to generate operators
 
@@ -16,5 +17,7 @@ python -m venv .venv
 source .venv/bin/activate
 python -m pip install -r requirements.txt
 
-python generate.py -o ../operators ../operators.toml
+python generate.py -o ../operators ../operators-<operator-group>.toml
+
+# To generate all operators you have to run the script with all toml files.
 ```
diff --git a/operators-curl_curl.toml b/operators-curl_curl.toml
new file mode 100644
index 0000000000000000000000000000000000000000..2df6ff0be094c43da16546cdfb40eccea049198f
--- /dev/null
+++ b/operators-curl_curl.toml
@@ -0,0 +1,7 @@
+[[curl_curl]]
+trial-space   = "N1E1"
+test-space    = "N1E1"
+dimensions    = [3]
+quadrature    = 0
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize"]
diff --git a/operators-diffusion.toml b/operators-diffusion.toml
new file mode 100644
index 0000000000000000000000000000000000000000..5124cc2eee13f9b9736ff8fa84aae7bbcc0a4484
--- /dev/null
+++ b/operators-diffusion.toml
@@ -0,0 +1,51 @@
+[[diffusion]]
+trial-space   = "P1"
+test-space    = "P1"
+dimensions    = [2, 3]
+quadrature    = 0
+loop-strategy = "cubes"
+optimizations = ["moveconstants", "vectorize"]
+
+[[diffusion]]
+trial-space   = "P1"
+test-space    = "P1"
+dimensions    = [2, 3]
+quadrature    = 0
+loop-strategy = "cubes"
+optimizations = ["moveconstants", "vectorize"]
+blending      = "ParametricP1Map"
+
+[[diffusion]]
+trial-space   = "P2"
+test-space    = "P2"
+dimensions    = [2, 3]
+quadrature    = 2
+loop-strategy = "cubes"
+optimizations = ["moveconstants", "vectorize"]
+
+[[diffusion]]
+trial-space   = "P2"
+test-space    = "P2"
+dimensions    = [2]
+quadrature    = 3
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize"]
+blending      = "AnnulusMap"
+
+[[diffusion]]
+trial-space   = "P2"
+test-space    = "P2"
+dimensions    = [3]
+quadrature    = 3
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize"]
+blending      = "IcosahedralShellMap"
+
+[[diffusion]]
+trial-space   = "P2"
+test-space    = "P2"
+dimensions    = [2, 3]
+quadrature    = 2
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize"]
+blending      = "ParametricP2Map"
diff --git a/operators-div_k_grad.toml b/operators-div_k_grad.toml
new file mode 100644
index 0000000000000000000000000000000000000000..61c1e2e08ec415813d0262f3d7a2c41d59d8ffa2
--- /dev/null
+++ b/operators-div_k_grad.toml
@@ -0,0 +1,69 @@
+[[div_k_grad]]
+trial-space   = "P1"
+test-space    = "P1"
+form-space-args.coefficient_function_space = "P1"
+dimensions    = [2, 3]
+quadrature    = 2
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+
+[[div_k_grad]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.coefficient_function_space = "P2"
+dimensions    = [2, 3]
+quadrature    = 2
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+
+[[div_k_grad]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.coefficient_function_space = "P2"
+dimensions    = [2]
+quadrature    = 3
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+blending      = "AnnulusMap"
+
+[[div_k_grad]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.coefficient_function_space = "P2"
+dimensions    = [3]
+quadrature    = 3
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+blending      = "IcosahedralShellMap"
+
+[[div_k_grad]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.coefficient_function_space = "P1"
+dimensions    = [2, 3]
+quadrature    = 2
+loop-strategy = "sawtooth"
+operator-name = "DivKGradP1Coefficient"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+
+[[div_k_grad]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.coefficient_function_space = "P1"
+dimensions    = [2]
+quadrature    = 3
+loop-strategy = "sawtooth"
+operator-name = "DivKGradP1Coefficient"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+blending      = "AnnulusMap"
+
+[[div_k_grad]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.coefficient_function_space = "P1"
+dimensions    = [3]
+quadrature    = 3
+loop-strategy = "sawtooth"
+operator-name = "DivKGradP1Coefficient"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+blending      = "IcosahedralShellMap"
\ No newline at end of file
diff --git a/operators-divergence.toml b/operators-divergence.toml
new file mode 100644
index 0000000000000000000000000000000000000000..9cc9de3fd4267f4a5be924fb52e352d59772e937
--- /dev/null
+++ b/operators-divergence.toml
@@ -0,0 +1,54 @@
+[[divergence]]
+trial-space   = "P2"
+test-space    = "P1"
+components-trial = [0, 1, 2]
+dimensions    = [2, 3]
+quadrature    = 2
+loop-strategy = "cubes"
+optimizations = ["moveconstants", "vectorize"]
+
+[[divergence]]
+trial-space   = "P2"
+test-space    = "P1"
+components-trial = [0, 1]
+dimensions    = [2]
+quadrature    = 2
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize"]
+blending      = "AnnulusMap"
+
+[[divergence]]
+trial-space   = "P2"
+test-space    = "P1"
+components-trial = [0, 1, 2]
+dimensions    = [3]
+quadrature    = 2
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize"]
+blending      = "IcosahedralShellMap"
+
+[[divergence]]
+trial-space   = "P2Vector"
+test-space    = "P1"
+dimensions    = [2, 3]
+quadrature    = 2
+loop-strategy = "cubes"
+optimizations = ["moveconstants", "vectorize"]
+
+[[divergence]]
+trial-space   = "P2Vector"
+test-space    = "P1"
+dimensions    = [2]
+quadrature    = 2
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize"]
+blending      = "AnnulusMap"
+
+[[divergence]]
+trial-space   = "P2Vector"
+test-space    = "P1"
+dimensions    = [3]
+quadrature    = 2
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize"]
+blending      = "IcosahedralShellMap"
diff --git a/operators-epsilon.toml b/operators-epsilon.toml
new file mode 100644
index 0000000000000000000000000000000000000000..7c3599361c22ef5dacc0057575c8d37c08d40124
--- /dev/null
+++ b/operators-epsilon.toml
@@ -0,0 +1,85 @@
+[[epsilon]]
+trial-space               = "P2"
+test-space                = "P2"
+components-trial = [0, 1, 2]
+components-test  = [0, 1, 2]
+form-space-args.coefficient_function_space = "P2"
+dimensions      = [2, 3]
+quadrature      = 2
+loop-strategy   = "sawtooth"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+
+[[epsilon]]
+trial-space               = "P2"
+test-space                = "P2"
+components-trial = [0, 1]
+components-test  = [0, 1]
+form-space-args.coefficient_function_space = "P2"
+dimensions      = [2]
+quadrature      = 3
+loop-strategy   = "sawtooth"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending        = "AnnulusMap"
+
+[[epsilon]]
+trial-space               = "P2"
+test-space                = "P2"
+components-trial = [0, 1, 2]
+components-test  = [0, 1, 2]
+form-space-args.coefficient_function_space = "P2"
+dimensions      = [3]
+quadrature      = 3
+loop-strategy   = "sawtooth"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending        = "IcosahedralShellMap"
+
+[[epsilon]]
+trial-space               = "P2Vector"
+test-space                = "P2Vector"
+form-space-args.coefficient_function_space = "P2"
+dimensions      = [2, 3]
+quadrature      = 2
+loop-strategy   = "sawtooth"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+
+[[epsilon]]
+trial-space               = "P2Vector"
+test-space                = "P2Vector"
+form-space-args.coefficient_function_space = "P2"
+dimensions      = [2]
+quadrature      = 3
+loop-strategy   = "sawtooth"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending        = "AnnulusMap"
+
+[[epsilon]]
+trial-space               = "P2Vector"
+test-space                = "P2Vector"
+form-space-args.coefficient_function_space = "P2"
+dimensions      = [3]
+quadrature      = 3
+loop-strategy   = "sawtooth"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending        = "IcosahedralShellMap"
+
+[[epsilon]]
+trial-space               = "P2Vector"
+test-space                = "P2Vector"
+form-space-args.coefficient_function_space = "P1"
+dimensions      = [2]
+quadrature      = 3
+loop-strategy   = "sawtooth"
+operator-name   = "EpsilonP1Viscosity"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending        = "AnnulusMap"
+
+[[epsilon]]
+trial-space               = "P2Vector"
+test-space                = "P2Vector"
+form-space-args.coefficient_function_space = "P1"
+dimensions      = [3]
+quadrature      = 3
+loop-strategy   = "sawtooth"
+operator-name   = "EpsilonP1Viscosity"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending        = "IcosahedralShellMap"
diff --git a/operators-full_stokes.toml b/operators-full_stokes.toml
new file mode 100644
index 0000000000000000000000000000000000000000..f4f92cfd211d67d77fd0b601a8d4334bceb13889
--- /dev/null
+++ b/operators-full_stokes.toml
@@ -0,0 +1,63 @@
+[[full_stokes]]
+trial-space               = "P2"
+test-space                = "P2"
+components-trial = [0, 1, 2]
+components-test  = [0, 1, 2]
+form-space-args.coefficient_function_space = "P2"
+dimensions      = [2, 3]
+quadrature      = 2
+loop-strategy   = "sawtooth"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+
+[[full_stokes]]
+trial-space               = "P2"
+test-space                = "P2"
+components-trial = [0, 1]
+components-test  = [0, 1]
+form-space-args.coefficient_function_space = "P2"
+dimensions      = [2]
+quadrature      = 3
+loop-strategy   = "sawtooth"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending        = "AnnulusMap"
+
+[[full_stokes]]
+trial-space               = "P2"
+test-space                = "P2"
+components-trial = [0, 1, 2]
+components-test  = [0, 1, 2]
+form-space-args.coefficient_function_space = "P2"
+dimensions      = [3]
+quadrature      = 3
+loop-strategy   = "sawtooth"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending        = "IcosahedralShellMap"
+
+[[full_stokes]]
+trial-space               = "P2Vector"
+test-space                = "P2Vector"
+form-space-args.coefficient_function_space = "P2"
+dimensions      = [2, 3]
+quadrature      = 2
+loop-strategy   = "sawtooth"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+
+[[full_stokes]]
+trial-space               = "P2Vector"
+test-space                = "P2Vector"
+form-space-args.coefficient_function_space = "P2"
+dimensions      = [2]
+quadrature      = 3
+loop-strategy   = "sawtooth"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending        = "AnnulusMap"
+
+[[full_stokes]]
+trial-space               = "P2Vector"
+test-space                = "P2Vector"
+form-space-args.coefficient_function_space = "P2"
+dimensions      = [3]
+quadrature      = 3
+loop-strategy   = "sawtooth"
+optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending        = "IcosahedralShellMap"
diff --git a/operators-gradient.toml b/operators-gradient.toml
new file mode 100644
index 0000000000000000000000000000000000000000..89f002c020bfc07d381de288834867e2a44c86a1
--- /dev/null
+++ b/operators-gradient.toml
@@ -0,0 +1,54 @@
+[[gradient]]
+trial-space   = "P1"
+test-space    = "P2"
+components-test = [0, 1, 2]
+dimensions    = [2, 3]
+quadrature    = 2
+loop-strategy = "cubes"
+optimizations = ["moveconstants", "vectorize"]
+
+[[gradient]]
+trial-space   = "P1"
+test-space    = "P2"
+components-test = [0, 1]
+dimensions    = [2]
+quadrature    = 2
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize"]
+blending      = "AnnulusMap"
+
+[[gradient]]
+trial-space   = "P1"
+test-space    = "P2"
+components-test = [0, 1, 2]
+dimensions    = [3]
+quadrature    = 2
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize"]
+blending      = "IcosahedralShellMap"
+
+[[gradient]]
+trial-space   = "P1"
+test-space    = "P2Vector"
+dimensions    = [2, 3]
+quadrature    = 2
+loop-strategy = "cubes"
+optimizations = ["moveconstants", "vectorize"]
+
+[[gradient]]
+trial-space   = "P1"
+test-space    = "P2Vector"
+dimensions    = [2]
+quadrature    = 2
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize"]
+blending      = "AnnulusMap"
+
+[[gradient]]
+trial-space   = "P1"
+test-space    = "P2Vector"
+dimensions    = [3]
+quadrature    = 2
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize"]
+blending      = "IcosahedralShellMap"
diff --git a/operators-k_mass.toml b/operators-k_mass.toml
new file mode 100644
index 0000000000000000000000000000000000000000..c800d16b6aa1c7c0a403665c34775aa8e2eba419
--- /dev/null
+++ b/operators-k_mass.toml
@@ -0,0 +1,118 @@
+[[k_mass]]
+trial-space   = "P1"
+test-space    = "P1"
+form-space-args.coefficient_function_space = "P1"
+dimensions    = [2, 3]
+quadrature    = 3
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+
+[[k_mass]]
+trial-space   = "P1"
+test-space    = "P1"
+form-space-args.coefficient_function_space = "P1"
+dimensions    = [2]
+quadrature    = 3
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending      = "AnnulusMap"
+
+[[k_mass]]
+trial-space   = "P1"
+test-space    = "P1"
+form-space-args.coefficient_function_space = "P1"
+dimensions    = [3]
+quadrature    = 3
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending      = "IcosahedralShellMap"
+
+[[k_mass]]
+trial-space   = "P2"
+test-space    = "P1"
+form-space-args.coefficient_function_space = "P2"
+dimensions    = [2, 3]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+
+[[k_mass]]
+trial-space   = "P2"
+test-space    = "P1"
+form-space-args.coefficient_function_space = "P2"
+dimensions    = [2]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending      = "AnnulusMap"
+
+[[k_mass]]
+trial-space   = "P2"
+test-space    = "P1"
+form-space-args.coefficient_function_space = "P2"
+dimensions    = [3]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending      = "IcosahedralShellMap"
+
+[[k_mass]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.coefficient_function_space = "P2"
+dimensions    = [2, 3]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+
+[[k_mass]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.coefficient_function_space = "P2"
+dimensions    = [2]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending      = "AnnulusMap"
+
+[[k_mass]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.coefficient_function_space = "P2"
+dimensions    = [3]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending      = "IcosahedralShellMap"
+
+[[k_mass]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.coefficient_function_space = "P1"
+dimensions    = [2, 3]
+quadrature    = 4
+loop-strategy = "sawtooth"
+operator-name = "KMassP1Coefficient"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+
+[[k_mass]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.coefficient_function_space = "P1"
+dimensions    = [2]
+quadrature    = 4
+loop-strategy = "sawtooth"
+operator-name = "KMassP1Coefficient"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending      = "AnnulusMap"
+
+[[k_mass]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.coefficient_function_space = "P1"
+dimensions    = [3]
+quadrature    = 4
+loop-strategy = "sawtooth"
+operator-name = "KMassP1Coefficient"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending      = "IcosahedralShellMap"
diff --git a/operators-mass.toml b/operators-mass.toml
new file mode 100644
index 0000000000000000000000000000000000000000..9af841684114b196d9de282ac299344cb0d12fdd
--- /dev/null
+++ b/operators-mass.toml
@@ -0,0 +1,51 @@
+[[mass]]
+trial-space   = "P1"
+test-space    = "P1"
+dimensions    = [2, 3]
+quadrature    = 2
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+
+[[mass]]
+trial-space   = "P1"
+test-space    = "P1"
+dimensions    = [2, 3]
+quadrature    = 2
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending      = "ParametricP1Map"
+
+[[mass]]
+trial-space   = "P2"
+test-space    = "P2"
+dimensions    = [2, 3]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+
+[[mass]]
+trial-space   = "P2"
+test-space    = "P2"
+dimensions    = [2]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+blending      = "AnnulusMap"
+
+[[mass]]
+trial-space   = "P2"
+test-space    = "P2"
+dimensions    = [3]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+blending      = "IcosahedralShellMap"
+
+[[mass]]
+trial-space   = "P2"
+test-space    = "P2"
+dimensions    = [2, 3]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+blending      = "ParametricP2Map"
diff --git a/operators-terraneo.toml b/operators-terraneo.toml
new file mode 100644
index 0000000000000000000000000000000000000000..224f273f196d7d2828d5208e7eab46c955fe796d
--- /dev/null
+++ b/operators-terraneo.toml
@@ -0,0 +1,144 @@
+[[shear_heating]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.viscosity_function_space = "P2"
+form-space-args.velocity_function_space = "P2"
+dimensions    = [2, 3]
+quadrature    = 3
+folder-name   = "terraneo"
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+
+[[shear_heating]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.viscosity_function_space = "P2"
+form-space-args.velocity_function_space = "P2"
+dimensions    = [2]
+quadrature    = 3
+folder-name   = "terraneo"
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+blending      = "AnnulusMap"
+
+[[shear_heating]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.viscosity_function_space = "P2"
+form-space-args.velocity_function_space = "P2"
+dimensions    = [3]
+quadrature    = 3
+folder-name   = "terraneo"
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+blending      = "IcosahedralShellMap"
+
+[[shear_heating]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.viscosity_function_space = "P1"
+form-space-args.velocity_function_space = "P2"
+dimensions    = [2, 3]
+quadrature    = 3
+folder-name   = "terraneo"
+operator-name = "ShearHeatingP1Viscosity"
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+
+[[shear_heating]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.viscosity_function_space = "P1"
+form-space-args.velocity_function_space = "P2"
+dimensions    = [2]
+quadrature    = 3
+folder-name   = "terraneo"
+operator-name = "ShearHeatingP1Viscosity"
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+blending      = "AnnulusMap"
+
+[[shear_heating]]
+trial-space   = "P2"
+test-space    = "P2"
+form-space-args.viscosity_function_space = "P1"
+form-space-args.velocity_function_space = "P2"
+dimensions    = [3]
+quadrature    = 3
+folder-name   = "terraneo"
+operator-name = "ShearHeatingP1Viscosity"
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+blending      = "IcosahedralShellMap"
+
+[[grad_rho_by_rho_dot_u]]
+trial-space   = "P2Vector"
+test-space    = "P1"
+form-space-args.density_function_space = "P2"
+dimensions    = [2, 3]
+quadrature    = 3
+operator-name = "FrozenVelocity"
+folder-name   = "terraneo"
+blending      = "IdentityMap"
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+
+[[grad_rho_by_rho_dot_u]]
+trial-space   = "P2Vector"
+test-space    = "P1"
+form-space-args.density_function_space = "P2"
+dimensions    = [2]
+quadrature    = 3
+operator-name = "FrozenVelocity"
+folder-name   = "terraneo"
+blending      = "AnnulusMap"
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+
+[[grad_rho_by_rho_dot_u]]
+trial-space   = "P2Vector"
+test-space    = "P1"
+form-space-args.density_function_space = "P2"
+dimensions    = [3]
+quadrature    = 3
+operator-name = "FrozenVelocity"
+folder-name   = "terraneo"
+blending      = "IcosahedralShellMap"
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+
+[[grad_rho_by_rho_dot_u]]
+trial-space   = "P2Vector"
+test-space    = "P1"
+form-space-args.density_function_space = "P1"
+dimensions    = [2, 3]
+quadrature    = 3
+operator-name = "FrozenVelocityP1Density"
+folder-name   = "terraneo"
+blending      = "IdentityMap"
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+
+[[grad_rho_by_rho_dot_u]]
+trial-space   = "P2Vector"
+test-space    = "P1"
+form-space-args.density_function_space = "P1"
+dimensions    = [2]
+quadrature    = 3
+operator-name = "FrozenVelocityP1Density"
+folder-name   = "terraneo"
+blending      = "AnnulusMap"
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+
+[[grad_rho_by_rho_dot_u]]
+trial-space   = "P2Vector"
+test-space    = "P1"
+form-space-args.density_function_space = "P1"
+dimensions    = [3]
+quadrature    = 3
+operator-name = "FrozenVelocityP1Density"
+folder-name   = "terraneo"
+blending      = "IcosahedralShellMap"
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
diff --git a/operators.toml b/operators.toml
deleted file mode 100644
index ca0810cc866843f693a954380e94a285d3567a25..0000000000000000000000000000000000000000
--- a/operators.toml
+++ /dev/null
@@ -1,705 +0,0 @@
-[[curl_curl]]
-trial-space   = "N1E1"
-test-space    = "N1E1"
-dimensions    = [3]
-quadrature    = 0
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize"]
-
-[[diffusion]]
-trial-space   = "P1"
-test-space    = "P1"
-dimensions    = [2, 3]
-quadrature    = 0
-loop-strategy = "cubes"
-optimizations = ["moveconstants", "vectorize"]
-
-[[diffusion]]
-trial-space   = "P1"
-test-space    = "P1"
-dimensions    = [2, 3]
-quadrature    = 0
-loop-strategy = "cubes"
-optimizations = ["moveconstants", "vectorize"]
-blending      = "ParametricP1Map"
-
-[[diffusion]]
-trial-space   = "P2"
-test-space    = "P2"
-dimensions    = [2, 3]
-quadrature    = 2
-loop-strategy = "cubes"
-optimizations = ["moveconstants", "vectorize"]
-
-[[diffusion]]
-trial-space   = "P2"
-test-space    = "P2"
-dimensions    = [2]
-quadrature    = 3
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize"]
-blending      = "AnnulusMap"
-
-[[diffusion]]
-trial-space   = "P2"
-test-space    = "P2"
-dimensions    = [3]
-quadrature    = 3
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize"]
-blending      = "IcosahedralShellMap"
-
-[[diffusion]]
-trial-space   = "P2"
-test-space    = "P2"
-dimensions    = [2, 3]
-quadrature    = 2
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize"]
-blending      = "ParametricP2Map"
-
-[[div_k_grad]]
-trial-space   = "P1"
-test-space    = "P1"
-form-space-args.coefficient_function_space = "P1"
-dimensions    = [2, 3]
-quadrature    = 2
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-
-[[div_k_grad]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.coefficient_function_space = "P2"
-dimensions    = [2, 3]
-quadrature    = 2
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-
-[[div_k_grad]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.coefficient_function_space = "P2"
-dimensions    = [2]
-quadrature    = 3
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-blending      = "AnnulusMap"
-
-[[div_k_grad]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.coefficient_function_space = "P2"
-dimensions    = [3]
-quadrature    = 3
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-blending      = "IcosahedralShellMap"
-
-[[div_k_grad]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.coefficient_function_space = "P1"
-dimensions    = [2, 3]
-quadrature    = 2
-loop-strategy = "sawtooth"
-operator-name = "DivKGradP1Coefficient"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-
-[[div_k_grad]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.coefficient_function_space = "P1"
-dimensions    = [2]
-quadrature    = 3
-loop-strategy = "sawtooth"
-operator-name = "DivKGradP1Coefficient"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-blending      = "AnnulusMap"
-
-[[div_k_grad]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.coefficient_function_space = "P1"
-dimensions    = [3]
-quadrature    = 3
-loop-strategy = "sawtooth"
-operator-name = "DivKGradP1Coefficient"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-blending      = "IcosahedralShellMap"
-
-[[mass]]
-trial-space   = "P1"
-test-space    = "P1"
-dimensions    = [2, 3]
-quadrature    = 2
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-
-[[mass]]
-trial-space   = "P1"
-test-space    = "P1"
-dimensions    = [2, 3]
-quadrature    = 2
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending      = "ParametricP1Map"
-
-[[mass]]
-trial-space   = "P2"
-test-space    = "P2"
-dimensions    = [2, 3]
-quadrature    = 4
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-
-[[mass]]
-trial-space   = "P2"
-test-space    = "P2"
-dimensions    = [2]
-quadrature    = 4
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-blending      = "AnnulusMap"
-
-[[mass]]
-trial-space   = "P2"
-test-space    = "P2"
-dimensions    = [3]
-quadrature    = 4
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-blending      = "IcosahedralShellMap"
-
-[[mass]]
-trial-space   = "P2"
-test-space    = "P2"
-dimensions    = [2, 3]
-quadrature    = 4
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-blending      = "ParametricP2Map"
-
-[[k_mass]]
-trial-space   = "P1"
-test-space    = "P1"
-form-space-args.coefficient_function_space = "P1"
-dimensions    = [2, 3]
-quadrature    = 3
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-
-[[k_mass]]
-trial-space   = "P1"
-test-space    = "P1"
-form-space-args.coefficient_function_space = "P1"
-dimensions    = [2]
-quadrature    = 3
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending      = "AnnulusMap"
-
-[[k_mass]]
-trial-space   = "P1"
-test-space    = "P1"
-form-space-args.coefficient_function_space = "P1"
-dimensions    = [3]
-quadrature    = 3
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending      = "IcosahedralShellMap"
-
-[[k_mass]]
-trial-space   = "P2"
-test-space    = "P1"
-form-space-args.coefficient_function_space = "P2"
-dimensions    = [2, 3]
-quadrature    = 4
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-
-[[k_mass]]
-trial-space   = "P2"
-test-space    = "P1"
-form-space-args.coefficient_function_space = "P2"
-dimensions    = [2]
-quadrature    = 4
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending      = "AnnulusMap"
-
-[[k_mass]]
-trial-space   = "P2"
-test-space    = "P1"
-form-space-args.coefficient_function_space = "P2"
-dimensions    = [3]
-quadrature    = 4
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending      = "IcosahedralShellMap"
-
-[[k_mass]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.coefficient_function_space = "P2"
-dimensions    = [2, 3]
-quadrature    = 4
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-
-[[k_mass]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.coefficient_function_space = "P2"
-dimensions    = [2]
-quadrature    = 4
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending      = "AnnulusMap"
-
-[[k_mass]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.coefficient_function_space = "P2"
-dimensions    = [3]
-quadrature    = 4
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending      = "IcosahedralShellMap"
-
-[[k_mass]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.coefficient_function_space = "P1"
-dimensions    = [2, 3]
-quadrature    = 4
-loop-strategy = "sawtooth"
-operator-name = "KMassP1Coefficient"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-
-[[k_mass]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.coefficient_function_space = "P1"
-dimensions    = [2]
-quadrature    = 4
-loop-strategy = "sawtooth"
-operator-name = "KMassP1Coefficient"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending      = "AnnulusMap"
-
-[[k_mass]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.coefficient_function_space = "P1"
-dimensions    = [3]
-quadrature    = 4
-loop-strategy = "sawtooth"
-operator-name = "KMassP1Coefficient"
-optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending      = "IcosahedralShellMap"
-
-[[divergence]]
-trial-space   = "P2"
-test-space    = "P1"
-components-trial = [0, 1, 2]
-dimensions    = [2, 3]
-quadrature    = 2
-loop-strategy = "cubes"
-optimizations = ["moveconstants", "vectorize"]
-
-[[divergence]]
-trial-space   = "P2"
-test-space    = "P1"
-components-trial = [0, 1]
-dimensions    = [2]
-quadrature    = 2
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize"]
-blending      = "AnnulusMap"
-
-[[divergence]]
-trial-space   = "P2"
-test-space    = "P1"
-components-trial = [0, 1, 2]
-dimensions    = [3]
-quadrature    = 2
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize"]
-blending      = "IcosahedralShellMap"
-
-[[divergence]]
-trial-space   = "P2Vector"
-test-space    = "P1"
-dimensions    = [2, 3]
-quadrature    = 2
-loop-strategy = "cubes"
-optimizations = ["moveconstants", "vectorize"]
-
-[[divergence]]
-trial-space   = "P2Vector"
-test-space    = "P1"
-dimensions    = [2]
-quadrature    = 2
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize"]
-blending      = "AnnulusMap"
-
-[[divergence]]
-trial-space   = "P2Vector"
-test-space    = "P1"
-dimensions    = [3]
-quadrature    = 2
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize"]
-blending      = "IcosahedralShellMap"
-
-[[gradient]]
-trial-space   = "P1"
-test-space    = "P2"
-components-test = [0, 1, 2]
-dimensions    = [2, 3]
-quadrature    = 2
-loop-strategy = "cubes"
-optimizations = ["moveconstants", "vectorize"]
-
-[[gradient]]
-trial-space   = "P1"
-test-space    = "P2"
-components-test = [0, 1]
-dimensions    = [2]
-quadrature    = 2
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize"]
-blending      = "AnnulusMap"
-
-[[gradient]]
-trial-space   = "P1"
-test-space    = "P2"
-components-test = [0, 1, 2]
-dimensions    = [3]
-quadrature    = 2
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize"]
-blending      = "IcosahedralShellMap"
-
-[[gradient]]
-trial-space   = "P1"
-test-space    = "P2Vector"
-dimensions    = [2, 3]
-quadrature    = 2
-loop-strategy = "cubes"
-optimizations = ["moveconstants", "vectorize"]
-
-[[gradient]]
-trial-space   = "P1"
-test-space    = "P2Vector"
-dimensions    = [2]
-quadrature    = 2
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize"]
-blending      = "AnnulusMap"
-
-[[gradient]]
-trial-space   = "P1"
-test-space    = "P2Vector"
-dimensions    = [3]
-quadrature    = 2
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize"]
-blending      = "IcosahedralShellMap"
-
-[[epsilon]]
-trial-space               = "P2"
-test-space                = "P2"
-components-trial = [0, 1, 2]
-components-test  = [0, 1, 2]
-form-space-args.coefficient_function_space = "P2"
-dimensions      = [2, 3]
-quadrature      = 2
-loop-strategy   = "sawtooth"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-
-[[epsilon]]
-trial-space               = "P2"
-test-space                = "P2"
-components-trial = [0, 1]
-components-test  = [0, 1]
-form-space-args.coefficient_function_space = "P2"
-dimensions      = [2]
-quadrature      = 3
-loop-strategy   = "sawtooth"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending        = "AnnulusMap"
-
-[[epsilon]]
-trial-space               = "P2"
-test-space                = "P2"
-components-trial = [0, 1, 2]
-components-test  = [0, 1, 2]
-form-space-args.coefficient_function_space = "P2"
-dimensions      = [3]
-quadrature      = 3
-loop-strategy   = "sawtooth"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending        = "IcosahedralShellMap"
-
-[[epsilon]]
-trial-space               = "P2Vector"
-test-space                = "P2Vector"
-form-space-args.coefficient_function_space = "P2"
-dimensions      = [2, 3]
-quadrature      = 2
-loop-strategy   = "sawtooth"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-
-[[epsilon]]
-trial-space               = "P2Vector"
-test-space                = "P2Vector"
-form-space-args.coefficient_function_space = "P2"
-dimensions      = [2]
-quadrature      = 3
-loop-strategy   = "sawtooth"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending        = "AnnulusMap"
-
-[[epsilon]]
-trial-space               = "P2Vector"
-test-space                = "P2Vector"
-form-space-args.coefficient_function_space = "P2"
-dimensions      = [3]
-quadrature      = 3
-loop-strategy   = "sawtooth"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending        = "IcosahedralShellMap"
-
-[[epsilon]]
-trial-space               = "P2Vector"
-test-space                = "P2Vector"
-form-space-args.coefficient_function_space = "P1"
-dimensions      = [2]
-quadrature      = 3
-loop-strategy   = "sawtooth"
-operator-name   = "EpsilonP1Viscosity"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending        = "AnnulusMap"
-
-[[epsilon]]
-trial-space               = "P2Vector"
-test-space                = "P2Vector"
-form-space-args.coefficient_function_space = "P1"
-dimensions      = [3]
-quadrature      = 3
-loop-strategy   = "sawtooth"
-operator-name   = "EpsilonP1Viscosity"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending        = "IcosahedralShellMap"
-
-[[full_stokes]]
-trial-space               = "P2"
-test-space                = "P2"
-components-trial = [0, 1, 2]
-components-test  = [0, 1, 2]
-form-space-args.coefficient_function_space = "P2"
-dimensions      = [2, 3]
-quadrature      = 2
-loop-strategy   = "sawtooth"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-
-[[full_stokes]]
-trial-space               = "P2"
-test-space                = "P2"
-components-trial = [0, 1]
-components-test  = [0, 1]
-form-space-args.coefficient_function_space = "P2"
-dimensions      = [2]
-quadrature      = 3
-loop-strategy   = "sawtooth"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending        = "AnnulusMap"
-
-[[full_stokes]]
-trial-space               = "P2"
-test-space                = "P2"
-components-trial = [0, 1, 2]
-components-test  = [0, 1, 2]
-form-space-args.coefficient_function_space = "P2"
-dimensions      = [3]
-quadrature      = 3
-loop-strategy   = "sawtooth"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending        = "IcosahedralShellMap"
-
-[[full_stokes]]
-trial-space               = "P2Vector"
-test-space                = "P2Vector"
-form-space-args.coefficient_function_space = "P2"
-dimensions      = [2, 3]
-quadrature      = 2
-loop-strategy   = "sawtooth"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-
-[[full_stokes]]
-trial-space               = "P2Vector"
-test-space                = "P2Vector"
-form-space-args.coefficient_function_space = "P2"
-dimensions      = [2]
-quadrature      = 3
-loop-strategy   = "sawtooth"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending        = "AnnulusMap"
-
-[[full_stokes]]
-trial-space               = "P2Vector"
-test-space                = "P2Vector"
-form-space-args.coefficient_function_space = "P2"
-dimensions      = [3]
-quadrature      = 3
-loop-strategy   = "sawtooth"
-optimizations   = ["moveconstants", "vectorize", "quadloops", "tabulate"]
-blending        = "IcosahedralShellMap"
-
-[[shear_heating]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.viscosity_function_space = "P2"
-form-space-args.velocity_function_space = "P2"
-dimensions    = [2, 3]
-quadrature    = 3
-folder-name   = "terraneo"
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-
-[[shear_heating]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.viscosity_function_space = "P2"
-form-space-args.velocity_function_space = "P2"
-dimensions    = [2]
-quadrature    = 3
-folder-name   = "terraneo"
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-blending      = "AnnulusMap"
-
-[[shear_heating]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.viscosity_function_space = "P2"
-form-space-args.velocity_function_space = "P2"
-dimensions    = [3]
-quadrature    = 3
-folder-name   = "terraneo"
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-blending      = "IcosahedralShellMap"
-
-[[shear_heating]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.viscosity_function_space = "P1"
-form-space-args.velocity_function_space = "P2"
-dimensions    = [2, 3]
-quadrature    = 3
-folder-name   = "terraneo"
-operator-name = "ShearHeatingP1Viscosity"
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-
-[[shear_heating]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.viscosity_function_space = "P1"
-form-space-args.velocity_function_space = "P2"
-dimensions    = [2]
-quadrature    = 3
-folder-name   = "terraneo"
-operator-name = "ShearHeatingP1Viscosity"
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-blending      = "AnnulusMap"
-
-[[shear_heating]]
-trial-space   = "P2"
-test-space    = "P2"
-form-space-args.viscosity_function_space = "P1"
-form-space-args.velocity_function_space = "P2"
-dimensions    = [3]
-quadrature    = 3
-folder-name   = "terraneo"
-operator-name = "ShearHeatingP1Viscosity"
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-blending      = "IcosahedralShellMap"
-
-[[grad_rho_by_rho_dot_u]]
-trial-space   = "P2Vector"
-test-space    = "P1"
-form-space-args.density_function_space = "P2"
-dimensions    = [2, 3]
-quadrature    = 3
-operator-name = "FrozenVelocity"
-folder-name   = "terraneo"
-blending      = "IdentityMap"
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-
-[[grad_rho_by_rho_dot_u]]
-trial-space   = "P2Vector"
-test-space    = "P1"
-form-space-args.density_function_space = "P2"
-dimensions    = [2]
-quadrature    = 3
-operator-name = "FrozenVelocity"
-folder-name   = "terraneo"
-blending      = "AnnulusMap"
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-
-[[grad_rho_by_rho_dot_u]]
-trial-space   = "P2Vector"
-test-space    = "P1"
-form-space-args.density_function_space = "P2"
-dimensions    = [3]
-quadrature    = 3
-operator-name = "FrozenVelocity"
-folder-name   = "terraneo"
-blending      = "IcosahedralShellMap"
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-
-[[grad_rho_by_rho_dot_u]]
-trial-space   = "P2Vector"
-test-space    = "P1"
-form-space-args.density_function_space = "P1"
-dimensions    = [2, 3]
-quadrature    = 3
-operator-name = "FrozenVelocityP1Density"
-folder-name   = "terraneo"
-blending      = "IdentityMap"
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-
-[[grad_rho_by_rho_dot_u]]
-trial-space   = "P2Vector"
-test-space    = "P1"
-form-space-args.density_function_space = "P1"
-dimensions    = [2]
-quadrature    = 3
-operator-name = "FrozenVelocityP1Density"
-folder-name   = "terraneo"
-blending      = "AnnulusMap"
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]
-
-[[grad_rho_by_rho_dot_u]]
-trial-space   = "P2Vector"
-test-space    = "P1"
-form-space-args.density_function_space = "P1"
-dimensions    = [3]
-quadrature    = 3
-operator-name = "FrozenVelocityP1Density"
-folder-name   = "terraneo"
-blending      = "IcosahedralShellMap"
-loop-strategy = "sawtooth"
-optimizations = ["moveconstants", "vectorize", "quadloops"]