PSyclone 3.2.0__tar.gz → 3.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (821) hide show
  1. {psyclone-3.2.0/src/PSyclone.egg-info → psyclone-3.2.2}/PKG-INFO +2 -2
  2. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/module_manager.rst +4 -3
  3. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/psy_data.rst +4 -3
  4. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/working_practises.rst +2 -2
  5. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/getting_going.rst +71 -64
  6. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/lfric.rst +77 -34
  7. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/psyclone_command.rst +88 -51
  8. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/extract/Makefile +34 -21
  9. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/compare_ouput.py +1 -1
  10. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/everything_everywhere_all_at_once.py +1 -1
  11. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/extract_script.py +8 -8
  12. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/gpu_offloading.py +34 -30
  13. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/redundant_dofs.py +1 -1
  14. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/redundant_setval_c.py +2 -0
  15. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/tiledcolouring_and_omp.py +6 -6
  16. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/scripts/omp_cpu_trans.py +22 -5
  17. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/scripts/omp_gpu_trans.py +4 -5
  18. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/scripts/passthrough.py +14 -0
  19. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/scripts/utils.py +0 -4
  20. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/lfric/Makefile +1 -1
  21. {psyclone-3.2.0 → psyclone-3.2.2}/setup.py +1 -1
  22. {psyclone-3.2.0 → psyclone-3.2.2/src/PSyclone.egg-info}/PKG-INFO +2 -2
  23. {psyclone-3.2.0 → psyclone-3.2.2}/src/PSyclone.egg-info/SOURCES.txt +3 -4
  24. {psyclone-3.2.0 → psyclone-3.2.2}/src/PSyclone.egg-info/requires.txt +1 -1
  25. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/core/access_type.py +5 -4
  26. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/core/symbolic_maths.py +13 -6
  27. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/core/variables_access_map.py +1 -1
  28. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/common/__init__.py +2 -4
  29. psyclone-3.2.2/src/psyclone/domain/common/driver_creator.py +729 -0
  30. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/common/transformations/alg_invoke_2_psy_call_trans.py +7 -2
  31. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/common/transformations/alg_trans.py +10 -5
  32. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/common/transformations/kernel_module_inline_trans.py +12 -3
  33. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/common/transformations/raise_psyir_2_alg_trans.py +17 -13
  34. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/gocean/__init__.py +4 -1
  35. psyclone-3.2.2/src/psyclone/domain/gocean/gocean_driver_creator.py +85 -0
  36. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/gocean/transformations/gocean_extract_trans.py +4 -4
  37. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/__init__.py +3 -3
  38. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/arg_ordering.py +1 -1
  39. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_arg_descriptor.py +2 -3
  40. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_builtins.py +26 -13
  41. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_constants.py +23 -9
  42. psyclone-3.2.2/src/psyclone/domain/lfric/lfric_driver_creator.py +124 -0
  43. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_kern.py +31 -11
  44. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_loop.py +13 -22
  45. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/transformations/lfric_extract_trans.py +4 -4
  46. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/generator.py +84 -18
  47. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/lfric.py +2 -1
  48. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/parse/algorithm.py +5 -4
  49. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/parse/file_info.py +62 -100
  50. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/parse/lfric_builtins_mod.f90 +3 -1
  51. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/parse/module_manager.py +170 -105
  52. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/backend/fortran.py +19 -38
  53. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/backend/sympy_writer.py +3 -1
  54. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/frontend/sympy_reader.py +11 -4
  55. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/__init__.py +2 -1
  56. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/array_mixin.py +28 -21
  57. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/call.py +116 -67
  58. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/data_sharing_attribute_mixin.py +66 -32
  59. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/extract_node.py +1 -1
  60. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/intrinsic_call.py +10 -1
  61. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/literal.py +15 -4
  62. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/loop.py +11 -0
  63. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/node.py +13 -1
  64. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/reference.py +18 -3
  65. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/scoping_node.py +4 -2
  66. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/structure_reference.py +32 -20
  67. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/symbols/data_type_symbol.py +5 -10
  68. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/symbols/datasymbol.py +7 -11
  69. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/symbols/datatypes.py +38 -107
  70. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/symbols/generic_interface_symbol.py +5 -13
  71. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/symbols/interfaces.py +9 -2
  72. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/symbols/symbol.py +3 -10
  73. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/symbols/symbol_table.py +31 -47
  74. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/symbols/typed_symbol.py +7 -17
  75. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/tools/__init__.py +1 -0
  76. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/tools/definition_use_chains.py +0 -1
  77. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/async_trans_mixin.py +2 -2
  78. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/inline_trans.py +580 -246
  79. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/abs2code_trans.py +15 -2
  80. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/array_reduction_base_trans.py +19 -3
  81. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/dotproduct2code_trans.py +11 -4
  82. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/intrinsic2code_trans.py +25 -3
  83. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/matmul2code_trans.py +16 -3
  84. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/max2code_trans.py +18 -0
  85. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/maxval2loop_trans.py +19 -0
  86. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/min2code_trans.py +19 -0
  87. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/minormax2code_trans.py +16 -3
  88. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/minval2loop_trans.py +19 -0
  89. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/product2loop_trans.py +19 -0
  90. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/sign2code_trans.py +19 -5
  91. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/sum2loop_trans.py +19 -0
  92. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/omp_minimise_sync_trans.py +21 -1
  93. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/omp_task_trans.py +3 -3
  94. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/parallel_loop_trans.py +47 -11
  95. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/transformations.py +32 -26
  96. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/version.py +6 -3
  97. psyclone-3.2.0/examples/lfric/scripts/KGOs/psyclone.mk +0 -95
  98. psyclone-3.2.0/src/psyclone/domain/common/base_driver_creator.py +0 -339
  99. psyclone-3.2.0/src/psyclone/domain/common/extract_driver_creator.py +0 -258
  100. psyclone-3.2.0/src/psyclone/domain/lfric/lfric_extract_driver_creator.py +0 -524
  101. {psyclone-3.2.0 → psyclone-3.2.2}/CONTRIBUTING.md +0 -0
  102. {psyclone-3.2.0 → psyclone-3.2.2}/LICENSE +0 -0
  103. {psyclone-3.2.0 → psyclone-3.2.2}/MANIFEST.in +0 -0
  104. {psyclone-3.2.0 → psyclone-3.2.2}/README.md +0 -0
  105. {psyclone-3.2.0 → psyclone-3.2.2}/bin/psyad +0 -0
  106. {psyclone-3.2.0 → psyclone-3.2.2}/bin/psyclone +0 -0
  107. {psyclone-3.2.0 → psyclone-3.2.2}/bin/psyclone-kern +0 -0
  108. {psyclone-3.2.0 → psyclone-3.2.2}/bin/psyclonefc +0 -0
  109. {psyclone-3.2.0 → psyclone-3.2.2}/config/psyclone.cfg +0 -0
  110. {psyclone-3.2.0 → psyclone-3.2.2}/doc/Makefile +0 -0
  111. {psyclone-3.2.0 → psyclone-3.2.2}/doc/_ext/apilinks.py +0 -0
  112. {psyclone-3.2.0 → psyclone-3.2.2}/doc/conf.py +0 -0
  113. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/APIs.rst +0 -0
  114. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/code_snippets/newnode.py +0 -0
  115. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/coding-style.rst +0 -0
  116. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/dependency.rst +0 -0
  117. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/index.rst +0 -0
  118. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/integration-test.rst +0 -0
  119. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/interface_example.py +0 -0
  120. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/pip_requirements.txt +0 -0
  121. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/psyir.rst +0 -0
  122. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/psyir_backends.rst +0 -0
  123. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/psyir_symbols.rst +0 -0
  124. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/psykal.rst +0 -0
  125. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/sympy.rst +0 -0
  126. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/system_specific_setup.rst +0 -0
  127. {psyclone-3.2.0 → psyclone-3.2.2}/doc/developer_guide/transformations.rst +0 -0
  128. {psyclone-3.2.0 → psyclone-3.2.2}/doc/index.rst +0 -0
  129. {psyclone-3.2.0 → psyclone-3.2.2}/doc/reference_guide/index.rst +0 -0
  130. {psyclone-3.2.0 → psyclone-3.2.2}/doc/tutorials_and_examples/examples_intro.rst +0 -0
  131. {psyclone-3.2.0 → psyclone-3.2.2}/doc/tutorials_and_examples/gocean_examples.rst +0 -0
  132. {psyclone-3.2.0 → psyclone-3.2.2}/doc/tutorials_and_examples/index.rst +0 -0
  133. {psyclone-3.2.0 → psyclone-3.2.2}/doc/tutorials_and_examples/lfric_examples.rst +0 -0
  134. {psyclone-3.2.0 → psyclone-3.2.2}/doc/tutorials_and_examples/nemo_examples.rst +0 -0
  135. {psyclone-3.2.0 → psyclone-3.2.2}/doc/tutorials_and_examples/psyir_examples.rst +0 -0
  136. {psyclone-3.2.0 → psyclone-3.2.2}/doc/tutorials_and_examples/tutorials.rst +0 -0
  137. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/configuration.rst +0 -0
  138. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/gocean1p0.rst +0 -0
  139. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/index.rst +0 -0
  140. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/introduction_to_psykal.rst +0 -0
  141. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/libraries.rst +0 -0
  142. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/profiling.rst +0 -0
  143. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/psy_data.rst +0 -0
  144. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/psyad.rst +0 -0
  145. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/psyclone_kern.rst +0 -0
  146. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/psyir.rst +0 -0
  147. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/psyke.rst +0 -0
  148. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/transformations.rst +0 -0
  149. {psyclone-3.2.0 → psyclone-3.2.2}/doc/user_guide/user_scripts.rst +0 -0
  150. {psyclone-3.2.0 → psyclone-3.2.2}/examples/Makefile +0 -0
  151. {psyclone-3.2.0 → psyclone-3.2.2}/examples/README.md +0 -0
  152. {psyclone-3.2.0 → psyclone-3.2.2}/examples/common.mk +0 -0
  153. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/Makefile +0 -0
  154. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/README.md +0 -0
  155. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/Makefile +0 -0
  156. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/README.md +0 -0
  157. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/compute_cu_mod.f90 +0 -0
  158. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/compute_cv_mod.f90 +0 -0
  159. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/compute_h_mod.f90 +0 -0
  160. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/compute_pnew_mod.f90 +0 -0
  161. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/compute_unew_mod.f90 +0 -0
  162. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/compute_vnew_mod.f90 +0 -0
  163. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/compute_z_mod.f90 +0 -0
  164. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/infrastructure_mod.f90 +0 -0
  165. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/opencl_transformation.py +0 -0
  166. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/openmp_taskloop_trans.py +0 -0
  167. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/runme.py +0 -0
  168. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/runme_dag.py +0 -0
  169. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/runme_loop_fuse.py +0 -0
  170. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/runme_openacc.py +0 -0
  171. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/runme_openmp.py +0 -0
  172. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/shallow_alg.f90 +0 -0
  173. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg1/time_smooth_mod.f90 +0 -0
  174. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg2/Makefile +0 -0
  175. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg2/README.md +0 -0
  176. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg2/acc_prof_transform.py +0 -0
  177. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg2/acc_transform.py +0 -0
  178. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg2/alg.f90 +0 -0
  179. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg2/inc_field_mod.f90 +0 -0
  180. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg3/Makefile +0 -0
  181. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg3/README.md +0 -0
  182. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg3/alg.f90 +0 -0
  183. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg3/compute_cu_mod.f90 +0 -0
  184. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg3/compute_cv_mod.f90 +0 -0
  185. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg3/compute_h_mod.f90 +0 -0
  186. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg3/compute_z_mod.f90 +0 -0
  187. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg3/ocl_trans.py +0 -0
  188. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg4/Makefile +0 -0
  189. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg4/README.md +0 -0
  190. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg4/acc_transform.py +0 -0
  191. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg4/alg_kern_call_kern.f90 +0 -0
  192. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg4/alg_kern_use_var.f90 +0 -0
  193. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg4/alg_nested_use.f90 +0 -0
  194. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg4/another_mod.f90 +0 -0
  195. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg4/data_mod.f90 +0 -0
  196. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg4/kern_call_kern_mod.f90 +0 -0
  197. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg4/kern_nested_use_mod.f90 +0 -0
  198. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg4/kern_use_var_mod.f90 +0 -0
  199. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg4/ocl_transform.py +0 -0
  200. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/Makefile +0 -0
  201. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/README.md +0 -0
  202. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/extract/README.md +0 -0
  203. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/extract/extract_transform.py +0 -0
  204. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/extract/init_field_mod.f90 +0 -0
  205. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/extract/test.X90 +0 -0
  206. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/extract/update_field_mod.f90 +0 -0
  207. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/profile/Makefile +0 -0
  208. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/profile/README.md +0 -0
  209. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/profile/init_field_mod.f90 +0 -0
  210. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/profile/test.x90 +0 -0
  211. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/profile/update_field_mod.f90 +0 -0
  212. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/readonly/Makefile +0 -0
  213. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/readonly/README.md +0 -0
  214. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/readonly/init_field_mod.f90 +0 -0
  215. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/readonly/read_only_transform.py +0 -0
  216. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/readonly/test.x90 +0 -0
  217. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/readonly/update_field_mod.f90 +0 -0
  218. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/value_range_check/Makefile +0 -0
  219. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/value_range_check/README.md +0 -0
  220. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/value_range_check/init_field_mod.f90 +0 -0
  221. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/value_range_check/test.x90 +0 -0
  222. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/value_range_check/update_field_mod.f90 +0 -0
  223. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg5/value_range_check/value_range_check_transformation.py +0 -0
  224. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg6/Makefile +0 -0
  225. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg6/README.md +0 -0
  226. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg6/alg.f90 +0 -0
  227. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg6/backends_transform.py +0 -0
  228. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg6/inc_field_mod.f90 +0 -0
  229. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg7/Makefile +0 -0
  230. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg7/README.md +0 -0
  231. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg7/alg.f90 +0 -0
  232. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg7/alg_transform.py +0 -0
  233. {psyclone-3.2.0 → psyclone-3.2.2}/examples/gocean/eg7/inc_field_mod.f90 +0 -0
  234. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/Makefile +0 -0
  235. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/README.md +0 -0
  236. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/code/dg_matrix_vector_kernel_mod.F90 +0 -0
  237. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/code/gw_mixed_schur_preconditioner_alg_mod.x90 +0 -0
  238. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/code/matrix_vector_kernel_mod.F90 +0 -0
  239. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/code/testkern_mod.F90 +0 -0
  240. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/code/testkern_write_any_mod.f90 +0 -0
  241. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg1/Makefile +0 -0
  242. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg1/single_invoke.x90 +0 -0
  243. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg10/Makefile +0 -0
  244. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg10/intergrid_3levels.x90 +0 -0
  245. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg10/prolong_kernel_mod.F90 +0 -0
  246. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg10/restrict_kernel_mod.F90 +0 -0
  247. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg11/Makefile +0 -0
  248. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg11/async_script.py +0 -0
  249. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg11/driver.f90 +0 -0
  250. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg11/helmholtz_solver_alg_mod.x90 +0 -0
  251. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg11/scaled_matrix_vector_kernel_mod.F90 +0 -0
  252. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg12/Makefile +0 -0
  253. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg12/colouring_and_omp.py +0 -0
  254. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg12/extract_kernel_with_transformations.py +0 -0
  255. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg12/extract_nodes.py +0 -0
  256. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg12/find_kernel.py +0 -0
  257. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg13/Makefile +0 -0
  258. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg13/kernel_constants.py +0 -0
  259. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg14/Makefile +0 -0
  260. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg14/README.md +0 -0
  261. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg14/acc_parallel.py +0 -0
  262. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg14/main.x90 +0 -0
  263. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg14/other_alg_mod.x90 +0 -0
  264. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg14/testkern_w0_kernel_mod.f90 +0 -0
  265. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg15/Makefile +0 -0
  266. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg15/matvec_opt.py +0 -0
  267. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg16/Makefile +0 -0
  268. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg16/README.md +0 -0
  269. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg16/create.py +0 -0
  270. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/Makefile +0 -0
  271. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/README.md +0 -0
  272. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example/Makefile +0 -0
  273. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example/README.md +0 -0
  274. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example/main.x90 +0 -0
  275. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example/testkern_w0_kernel_mod.f90 +0 -0
  276. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example_extract/Makefile +0 -0
  277. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example_extract/README.md +0 -0
  278. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example_extract/dummy_mod.f90 +0 -0
  279. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example_extract/extract_transform.py +0 -0
  280. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example_extract/main.X90 +0 -0
  281. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example_extract/testkern_w0_kernel_mod.f90 +0 -0
  282. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example_netcdf/Makefile +0 -0
  283. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example_netcdf/README.md +0 -0
  284. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example_netcdf/main.x90 +0 -0
  285. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg17/full_example_netcdf/testkern_w0_kernel_mod.f90 +0 -0
  286. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg18/Makefile +0 -0
  287. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg18/advection_alg_mod.x90 +0 -0
  288. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg18/impose_min_flux_kernel_mod.f90 +0 -0
  289. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg19/Makefile +0 -0
  290. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg19/algorithm.x90 +0 -0
  291. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg19/mixed_kernel_mod.f90 +0 -0
  292. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg2/Makefile +0 -0
  293. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg2/loop_fuse_trans.py +0 -0
  294. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg2/module_inline_trans.py +0 -0
  295. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg2/multi_invoke_mod.x90 +0 -0
  296. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg2/print_psyir_trans.py +0 -0
  297. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg20/Makefile +0 -0
  298. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg3/Makefile +0 -0
  299. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg3/colouring_and_omp.py +0 -0
  300. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg3/matrix_vector_mm_kernel_mod.F90 +0 -0
  301. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg3/solver_mod.x90 +0 -0
  302. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg3/w3_solver_kernel_mod.F90 +0 -0
  303. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg4/Makefile +0 -0
  304. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg4/backends_transform.py +0 -0
  305. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg4/enforce_bc_kernel_mod.f90 +0 -0
  306. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg4/matrix_vector_kernel_mod.F90 +0 -0
  307. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg4/mm_diagonal_kernel_mod.F90 +0 -0
  308. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg4/solver_mod.x90 +0 -0
  309. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg5/Makefile +0 -0
  310. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg5/alg.f90 +0 -0
  311. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg5/conservative_flux_kernel_mod.F90 +0 -0
  312. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg5/subgrid_coeffs_kernel_mod.F90 +0 -0
  313. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg6/Makefile +0 -0
  314. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg6/alg.x90 +0 -0
  315. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg6/omp_reprod_script.py +0 -0
  316. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg6/omp_script.py +0 -0
  317. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg7/Makefile +0 -0
  318. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg7/alg.x90 +0 -0
  319. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg7/columnwise_op_app_kernel_mod.F90 +0 -0
  320. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg7/columnwise_op_asm_kernel_mod.F90 +0 -0
  321. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg7/columnwise_op_mul_kernel_mod.F90 +0 -0
  322. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg7/matrix_vector_kernel_mod.F90 +0 -0
  323. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg8/Makefile +0 -0
  324. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg8/apply_variable_hx_kernel_mod.F90 +0 -0
  325. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg8/enforce_bc_kernel_mod.F90 +0 -0
  326. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg8/helmholtz_solver_alg_mod.x90 +0 -0
  327. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg8/redundant_script.py +0 -0
  328. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg8/scaled_matrix_vector_kernel_mod.F90 +0 -0
  329. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg9/Makefile +0 -0
  330. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg9/advective_inc_alg_mod.x90 +0 -0
  331. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg9/colouring_and_omp.py +0 -0
  332. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg9/matrix_vector_kernel_mod.F90 +0 -0
  333. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg9/rtheta_bd_kernel_mod.F90 +0 -0
  334. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg9/rtheta_kernel_mod.F90 +0 -0
  335. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg9/rtheta_wtheta_kernel_mod.F90 +0 -0
  336. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/eg9/sample_poly_adv_kernel_mod.F90 +0 -0
  337. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/lfric_common.mk +0 -0
  338. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/Makefile +0 -0
  339. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/README.md +0 -0
  340. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/async_halo_exchanges.py +0 -0
  341. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/colouring_and_omp.py +0 -0
  342. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/does_nothing.py +0 -0
  343. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/inline_kernels_and_intrinsics.py +0 -0
  344. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/kernel_print.py +0 -0
  345. {psyclone-3.2.0 → psyclone-3.2.2}/examples/lfric/scripts/loop_fuse.py +0 -0
  346. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/Makefile +0 -0
  347. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/README.md +0 -0
  348. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/code/tra_adv.F90 +0 -0
  349. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/code/traldf_iso.F90 +0 -0
  350. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg1/Makefile +0 -0
  351. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg1/README.md +0 -0
  352. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg1/openmp_cpu_levels_trans.py +0 -0
  353. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg1/openmp_gpu_levels_trans.py +0 -0
  354. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg2/Makefile +0 -0
  355. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg2/README.md +0 -0
  356. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg2/omp_levels_trans.py +0 -0
  357. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg3/Makefile +0 -0
  358. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg3/README.md +0 -0
  359. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg3/kernel_utils.py +0 -0
  360. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg3/kernels_trans.py +0 -0
  361. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg4/Makefile +0 -0
  362. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg4/README.md +0 -0
  363. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg4/copy_stencil.f90 +0 -0
  364. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg4/dawn_script.py +0 -0
  365. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg4/hori_diff.f90 +0 -0
  366. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg4/if_example.f90 +0 -0
  367. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg4/intrinsic_example.f90 +0 -0
  368. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg4/sir_trans.py +0 -0
  369. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg4/sir_trans_all.py +0 -0
  370. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg4/sir_trans_loop.py +0 -0
  371. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg4/tra_adv_compute.F90 +0 -0
  372. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg4/tridiagonal_solve.f90 +0 -0
  373. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg5/Makefile +0 -0
  374. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg5/README.md +0 -0
  375. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg5/extract_kernels.py +0 -0
  376. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg6/Makefile +0 -0
  377. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg6/README.md +0 -0
  378. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg6/dummy.f90 +0 -0
  379. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg6/read_only_check.py +0 -0
  380. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg7/Makefile +0 -0
  381. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg7/README.md +0 -0
  382. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg7/openmp_cpu_nowait_trans.py +0 -0
  383. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/eg7/openmp_gpu_nowait_trans.py +0 -0
  384. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/scripts/Makefile +0 -0
  385. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/scripts/acc_kernels_trans.py +0 -0
  386. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/scripts/acc_loops_trans.py +0 -0
  387. {psyclone-3.2.0 → psyclone-3.2.2}/examples/nemo/scripts/compare_ouput.py +0 -0
  388. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/Makefile +0 -0
  389. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/README.md +0 -0
  390. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/eg1/Makefile +0 -0
  391. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/eg1/README.md +0 -0
  392. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/eg1/testkern_mod.f90 +0 -0
  393. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/eg2/Makefile +0 -0
  394. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/eg2/README.md +0 -0
  395. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/eg2/tl_hydrostatic_kernel_mod.F90 +0 -0
  396. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/Makefile +0 -0
  397. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/README.md +0 -0
  398. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/README.md +0 -0
  399. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_calc_exner_pointwise_mod.F90 +0 -0
  400. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_convert_hdiv_field_kernel_mod.F90 +0 -0
  401. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_dg_inc_matrix_vector_kernel_mod.F90 +0 -0
  402. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_helmholtz_operator_kernel_mod.F90 +0 -0
  403. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_kinetic_energy_gradient_kernel_mod.F90 +0 -0
  404. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_matrix_vector_kernel_mod.F90 +0 -0
  405. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_moist_dyn_gas_kernel_mod.F90 +0 -0
  406. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_poly1d_reconstruction_kernel_mod.F90 +0 -0
  407. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_poly1d_vert_adv_kernel_mod.F90 +0 -0
  408. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_poly1d_vert_w3_reconstruction_kernel_mod.F90 +0 -0
  409. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_poly2d_reconstruction_kernel_mod.F90 +0 -0
  410. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_poly_advective_kernel_mod.F90 +0 -0
  411. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_pressure_gradient_bd_kernel_mod.F90 +0 -0
  412. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_project_eos_pressure_kernel_mod.F90 +0 -0
  413. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_rhs_project_eos_kernel_mod.F90 +0 -0
  414. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_rhs_sample_eos_kernel_mod.F90 +0 -0
  415. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_sample_eos_pressure_kernel_mod.F90 +0 -0
  416. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_strong_curl_kernel_mod.F90 +0 -0
  417. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/adj_vorticity_advection_kernel_mod.F90 +0 -0
  418. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/lbl_adj_poly1d_w3_reconstruction_kernel_mod.F90 +0 -0
  419. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/lbl_adj_poly2d_reconstruction_kernel_mod.F90 +0 -0
  420. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/lbl_adj_poly2d_w3_reconstruction_kernel_mod.F90 +0 -0
  421. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint/lbl_adj_pressure_gradient_bd_kernel_mod.F90 +0 -0
  422. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/adjoint_partial/README.md +0 -0
  423. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/Makefile +0 -0
  424. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/README.md +0 -0
  425. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/apply_helmholtz_operator_kernel_mod.F90 +0 -0
  426. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/combine_w2_field_kernel_mod.F90 +0 -0
  427. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/convert_hdiv_field_kernel_mod.F90 +0 -0
  428. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/dg_inc_matrix_vector_kernel_mod.F90 +0 -0
  429. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/dg_matrix_vector_kernel_mod.F90 +0 -0
  430. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/helmholtz_operator_kernel_mod.F90 +0 -0
  431. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/matrix_vector_kernel_mod.F90 +0 -0
  432. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/poly1d_reconstruction_kernel_mod.F90 +0 -0
  433. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/poly1d_w3_reconstruction_kernel_mod.F90 +0 -0
  434. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/poly2d_reconstruction_kernel_mod.F90 +0 -0
  435. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/poly2d_w3_reconstruction_kernel_mod.F90 +0 -0
  436. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/poly_adv_update_kernel_mod.F90 +0 -0
  437. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/sample_flux_kernel_mod.F90 +0 -0
  438. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/split_w2_field_kernel_mod.F90 +0 -0
  439. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/strong_curl_kernel_mod.F90 +0 -0
  440. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_calc_exner_pointwise_mod.F90 +0 -0
  441. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_hydrostatic_kernel_mod.F90 +0 -0
  442. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_kinetic_energy_gradient_kernel_mod.F90 +0 -0
  443. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_moist_dyn_gas_kernel_mod.F90 +0 -0
  444. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_moist_dyn_mass_kernel_mod.F90 +0 -0
  445. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_poly1d_vert_adv_kernel_mod.F90 +0 -0
  446. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_poly1d_vert_w3_reconstruction_kernel_mod.F90 +0 -0
  447. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_poly_advective_kernel_mod.F90 +0 -0
  448. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_pressure_gradient_bd_kernel_mod.F90 +0 -0
  449. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_project_eos_pressure_kernel_mod.F90 +0 -0
  450. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_rhs_project_eos_kernel_mod.F90 +0 -0
  451. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_rhs_sample_eos_kernel_mod.F90 +0 -0
  452. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_sample_eos_pressure_kernel_mod.F90 +0 -0
  453. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tl_vorticity_advection_kernel_mod.F90 +0 -0
  454. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/tracer_viscosity_kernel_mod.F90 +0 -0
  455. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/transpose_matrix_vector_kernel_mod.F90 +0 -0
  456. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/w2_to_w1_projection_kernel_mod.F90 +0 -0
  457. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear/w3_advective_update_kernel_mod.F90 +0 -0
  458. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/Makefile +0 -0
  459. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/README.md +0 -0
  460. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/convert_hdiv_field_kernel_mod_tweaked.F90 +0 -0
  461. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/dg_inc_matrix_vector_kernel_mod_tweaked.F90 +0 -0
  462. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/matrix_vector_kernel_mod_tweaked.F90 +0 -0
  463. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/poly1d_reconstruction_kernel_mod_tweaked.F90 +0 -0
  464. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/poly1d_w3_reconstruction_kernel_mod_tweaked.F90 +0 -0
  465. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/poly2d_reconstruction_kernel_mod_tweaked.F90 +0 -0
  466. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/poly2d_w3_reconstruction_kernel_mod_tweaked.F90 +0 -0
  467. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/poly_adv_update_kernel_mod_tweaked.F90 +0 -0
  468. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/tl_calc_exner_pointwise_mod_tweaked.F90 +0 -0
  469. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/tl_kinetic_energy_gradient_kernel_mod_tweaked.F90 +0 -0
  470. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/tl_moist_dyn_gas_kernel_mod_tweaked.F90 +0 -0
  471. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/tl_poly1d_vert_adv_kernel_mod_tweaked.F90 +0 -0
  472. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/tl_poly1d_vert_w3_reconstruction_kernel_mod_tweaked.F90 +0 -0
  473. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/tl_pressure_gradient_bd_kernel_mod_tweaked.F90 +0 -0
  474. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/tl_project_eos_pressure_kernel_mod_tweaked.F90 +0 -0
  475. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/tl_rhs_project_eos_kernel_mod_tweaked.F90 +0 -0
  476. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/tl_sample_eos_pressure_kernel_mod_tweaked.F90 +0 -0
  477. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyad/lfric/tangent_linear_tweaked/tl_vorticity_advection_kernel_mod_tweaked.F90 +0 -0
  478. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/Makefile +0 -0
  479. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/README.md +0 -0
  480. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/create.py +0 -0
  481. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/create_structure_types.py +0 -0
  482. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/matmul/Makefile +0 -0
  483. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/matmul/matmul.F90 +0 -0
  484. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/matmul/omp-tile.py +0 -0
  485. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/matmul/omp.py +0 -0
  486. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/matmul/tile.py +0 -0
  487. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/modify.py +0 -0
  488. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/transpose/Makefile +0 -0
  489. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/transpose/omp-tile.py +0 -0
  490. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/transpose/omp.py +0 -0
  491. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/transpose/tile.py +0 -0
  492. {psyclone-3.2.0 → psyclone-3.2.2}/examples/psyir/transpose/trans.F90 +0 -0
  493. {psyclone-3.2.0 → psyclone-3.2.2}/examples/stub_generation/Makefile +0 -0
  494. {psyclone-3.2.0 → psyclone-3.2.2}/examples/stub_generation/README.md +0 -0
  495. {psyclone-3.2.0 → psyclone-3.2.2}/examples/stub_generation/testkern_stencil_multi_mod.f90 +0 -0
  496. {psyclone-3.2.0 → psyclone-3.2.2}/examples/top_level.mk +0 -0
  497. {psyclone-3.2.0 → psyclone-3.2.2}/examples/xdsl/Makefile +0 -0
  498. {psyclone-3.2.0 → psyclone-3.2.2}/examples/xdsl/README.md +0 -0
  499. {psyclone-3.2.0 → psyclone-3.2.2}/examples/xdsl/backend/__init__.py +0 -0
  500. {psyclone-3.2.0 → psyclone-3.2.2}/examples/xdsl/backend/xdsl.py +0 -0
  501. {psyclone-3.2.0 → psyclone-3.2.2}/examples/xdsl/pw_advection/Makefile +0 -0
  502. {psyclone-3.2.0 → psyclone-3.2.2}/examples/xdsl/pw_advection/advection_mpi.F90 +0 -0
  503. {psyclone-3.2.0 → psyclone-3.2.2}/examples/xdsl/stencil_lower.py +0 -0
  504. {psyclone-3.2.0 → psyclone-3.2.2}/examples/xdsl/xdsl_backends_transform.py +0 -0
  505. {psyclone-3.2.0 → psyclone-3.2.2}/lib/Makefile +0 -0
  506. {psyclone-3.2.0 → psyclone-3.2.2}/lib/README.md +0 -0
  507. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/Makefile +0 -0
  508. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/README.md +0 -0
  509. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/ascii/Makefile +0 -0
  510. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/ascii/dl_esm_inf/Makefile +0 -0
  511. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/ascii/dl_esm_inf/README.md +0 -0
  512. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/ascii/dl_esm_inf/kernel_data_ascii.f90 +0 -0
  513. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/ascii/extract_ascii_base.jinja +0 -0
  514. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/ascii/generic/Makefile +0 -0
  515. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/ascii/generic/README.md +0 -0
  516. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/ascii/generic/kernel_data_ascii.f90 +0 -0
  517. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/ascii/lfric/Makefile +0 -0
  518. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/ascii/lfric/README.md +0 -0
  519. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/ascii/lfric/kernel_data_ascii.jinja +0 -0
  520. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/ascii/read_kernel_data_mod.jinja +0 -0
  521. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/Makefile +0 -0
  522. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/dl_esm_inf/Makefile +0 -0
  523. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/dl_esm_inf/README.md +0 -0
  524. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/dl_esm_inf/kernel_data_binary.f90 +0 -0
  525. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/extract_binary_base.jinja +0 -0
  526. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/generic/Makefile +0 -0
  527. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/generic/README.md +0 -0
  528. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/generic/kernel_data_binary.f90 +0 -0
  529. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/lfric/Makefile +0 -0
  530. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/lfric/README.md +0 -0
  531. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/lfric/compare_variables_mod.F90 +0 -0
  532. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/lfric/kernel_data_binary.jinja +0 -0
  533. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/lfric/read_kernel_data_mod.f90 +0 -0
  534. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/binary/read_kernel_data_mod.jinja +0 -0
  535. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/compare_variables_mod.jinja +0 -0
  536. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/Makefile +0 -0
  537. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/README.md +0 -0
  538. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/dl_esm_inf/Makefile +0 -0
  539. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/dl_esm_inf/README.md +0 -0
  540. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/dl_esm_inf/kernel_data_netcdf.f90 +0 -0
  541. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/extract_netcdf_base.jinja +0 -0
  542. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/generic/Makefile +0 -0
  543. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/generic/README.md +0 -0
  544. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/generic/kernel_data_netcdf.f90 +0 -0
  545. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/lfric/README.md +0 -0
  546. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/lfric/kernel_data_netcdf.jinja +0 -0
  547. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/read_kernel_data_mod.f90 +0 -0
  548. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/netcdf/read_kernel_data_mod.jinja +0 -0
  549. {psyclone-3.2.0 → psyclone-3.2.2}/lib/extract/test_compare.f90 +0 -0
  550. {psyclone-3.2.0 → psyclone-3.2.2}/lib/get_python.sh +0 -0
  551. {psyclone-3.2.0 → psyclone-3.2.2}/lib/process.py +0 -0
  552. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/Makefile +0 -0
  553. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/README.md +0 -0
  554. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/dl_timer/Makefile +0 -0
  555. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/dl_timer/README.md +0 -0
  556. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/dl_timer/dl_timer.f90 +0 -0
  557. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/drhook/Makefile +0 -0
  558. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/drhook/README.md +0 -0
  559. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/drhook/drhook_psy.f90 +0 -0
  560. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/lfric_timer/Makefile +0 -0
  561. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/lfric_timer/README.md +0 -0
  562. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/lfric_timer/profile_psy_data_mod.F90 +0 -0
  563. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/nvidia/Makefile +0 -0
  564. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/nvidia/README.md +0 -0
  565. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/nvidia/nvtx_prof.f90 +0 -0
  566. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/simple_timing/Makefile +0 -0
  567. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/simple_timing/README.md +0 -0
  568. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/simple_timing/simple_timing.f90 +0 -0
  569. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/tau/Makefile +0 -0
  570. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/tau/README.md +0 -0
  571. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/tau/tau_psy.f90 +0 -0
  572. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/template/Makefile +0 -0
  573. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/template/README.md +0 -0
  574. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/template/dummy_lib.f90 +0 -0
  575. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/vernier/Makefile +0 -0
  576. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/vernier/README.md +0 -0
  577. {psyclone-3.2.0 → psyclone-3.2.2}/lib/profiling/vernier/vernier_psy.f90 +0 -0
  578. {psyclone-3.2.0 → psyclone-3.2.2}/lib/psy_data_base.jinja +0 -0
  579. {psyclone-3.2.0 → psyclone-3.2.2}/lib/read_only/Makefile +0 -0
  580. {psyclone-3.2.0 → psyclone-3.2.2}/lib/read_only/README.md +0 -0
  581. {psyclone-3.2.0 → psyclone-3.2.2}/lib/read_only/dl_esm_inf/Makefile +0 -0
  582. {psyclone-3.2.0 → psyclone-3.2.2}/lib/read_only/dl_esm_inf/README.md +0 -0
  583. {psyclone-3.2.0 → psyclone-3.2.2}/lib/read_only/dl_esm_inf/read_only.f90 +0 -0
  584. {psyclone-3.2.0 → psyclone-3.2.2}/lib/read_only/generic/Makefile +0 -0
  585. {psyclone-3.2.0 → psyclone-3.2.2}/lib/read_only/generic/README.md +0 -0
  586. {psyclone-3.2.0 → psyclone-3.2.2}/lib/read_only/generic/read_only.f90 +0 -0
  587. {psyclone-3.2.0 → psyclone-3.2.2}/lib/read_only/lfric/Makefile +0 -0
  588. {psyclone-3.2.0 → psyclone-3.2.2}/lib/read_only/lfric/README.md +0 -0
  589. {psyclone-3.2.0 → psyclone-3.2.2}/lib/read_only/lfric/read_only.jinja +0 -0
  590. {psyclone-3.2.0 → psyclone-3.2.2}/lib/read_only/read_only_base.jinja +0 -0
  591. {psyclone-3.2.0 → psyclone-3.2.2}/lib/value_range_check/Makefile +0 -0
  592. {psyclone-3.2.0 → psyclone-3.2.2}/lib/value_range_check/README.md +0 -0
  593. {psyclone-3.2.0 → psyclone-3.2.2}/lib/value_range_check/dl_esm_inf/Makefile +0 -0
  594. {psyclone-3.2.0 → psyclone-3.2.2}/lib/value_range_check/dl_esm_inf/README.md +0 -0
  595. {psyclone-3.2.0 → psyclone-3.2.2}/lib/value_range_check/dl_esm_inf/value_range_check.f90 +0 -0
  596. {psyclone-3.2.0 → psyclone-3.2.2}/lib/value_range_check/lfric/Makefile +0 -0
  597. {psyclone-3.2.0 → psyclone-3.2.2}/lib/value_range_check/lfric/README.md +0 -0
  598. {psyclone-3.2.0 → psyclone-3.2.2}/lib/value_range_check/lfric/value_range_check.jinja +0 -0
  599. {psyclone-3.2.0 → psyclone-3.2.2}/lib/value_range_check/value_range_check_base.jinja +0 -0
  600. {psyclone-3.2.0 → psyclone-3.2.2}/setup.cfg +0 -0
  601. {psyclone-3.2.0 → psyclone-3.2.2}/src/PSyclone.egg-info/dependency_links.txt +0 -0
  602. {psyclone-3.2.0 → psyclone-3.2.2}/src/PSyclone.egg-info/top_level.txt +0 -0
  603. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/__init__.py +0 -0
  604. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/alg_gen.py +0 -0
  605. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/configuration.py +0 -0
  606. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/core/__init__.py +0 -0
  607. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/core/access_sequence.py +0 -0
  608. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/core/component_indices.py +0 -0
  609. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/core/signature.py +0 -0
  610. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/docstring_parser.py +0 -0
  611. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/__init__.py +0 -0
  612. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/common/algorithm/__init__.py +0 -0
  613. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/common/algorithm/psyir.py +0 -0
  614. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/common/psylayer/__init__.py +0 -0
  615. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/common/psylayer/psyloop.py +0 -0
  616. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/common/transformations/__init__.py +0 -0
  617. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/gocean/go_symbol_table.py +0 -0
  618. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/gocean/gocean_constants.py +0 -0
  619. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/gocean/kernel/__init__.py +0 -0
  620. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/gocean/kernel/psyir.py +0 -0
  621. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/gocean/transformations/__init__.py +0 -0
  622. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/gocean/transformations/gocean_alg_invoke_2_psy_call_trans.py +0 -0
  623. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/gocean/transformations/gocean_const_loop_bounds_trans.py +0 -0
  624. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/gocean/transformations/gocean_loop_fuse_trans.py +0 -0
  625. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/gocean/transformations/gocean_move_iteration_boundaries_inside_kernel_trans.py +0 -0
  626. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/gocean/transformations/gocean_opencl_trans.py +0 -0
  627. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/gocean/transformations/raise_psyir_2_gocean_kern_trans.py +0 -0
  628. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/algorithm/__init__.py +0 -0
  629. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/algorithm/lfric_alg.py +0 -0
  630. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/algorithm/psyir/__init__.py +0 -0
  631. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/algorithm/psyir/lfric_alg_invoke_call.py +0 -0
  632. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/algorithm/psyir/lfric_kernel_functor.py +0 -0
  633. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/arg_index_to_metadata_index.py +0 -0
  634. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/function_space.py +0 -0
  635. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kern_call_acc_arg_list.py +0 -0
  636. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kern_call_arg_list.py +0 -0
  637. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kern_call_invoke_arg_list.py +0 -0
  638. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kern_stub_arg_list.py +0 -0
  639. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/__init__.py +0 -0
  640. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/columnwise_operator_arg_metadata.py +0 -0
  641. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/common_arg_metadata.py +0 -0
  642. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/common_declaration_metadata.py +0 -0
  643. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/common_meta_arg_metadata.py +0 -0
  644. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/common_metadata.py +0 -0
  645. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/evaluator_targets_metadata.py +0 -0
  646. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/field_arg_metadata.py +0 -0
  647. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/field_vector_arg_metadata.py +0 -0
  648. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/inter_grid_arg_metadata.py +0 -0
  649. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/inter_grid_vector_arg_metadata.py +0 -0
  650. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/lfric_kernel_metadata.py +0 -0
  651. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/meta_args_metadata.py +0 -0
  652. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/meta_funcs_arg_metadata.py +0 -0
  653. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/meta_funcs_metadata.py +0 -0
  654. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/meta_mesh_arg_metadata.py +0 -0
  655. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/meta_mesh_metadata.py +0 -0
  656. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/meta_ref_element_arg_metadata.py +0 -0
  657. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/meta_ref_element_metadata.py +0 -0
  658. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/operates_on_metadata.py +0 -0
  659. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/operator_arg_metadata.py +0 -0
  660. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/psyir.py +0 -0
  661. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/scalar_arg_metadata.py +0 -0
  662. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/scalar_array_arg_metadata.py +0 -0
  663. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel/shapes_metadata.py +0 -0
  664. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/kernel_interface.py +0 -0
  665. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_cell_iterators.py +0 -0
  666. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_collection.py +0 -0
  667. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_dofmaps.py +0 -0
  668. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_fields.py +0 -0
  669. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_halo_depths.py +0 -0
  670. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_invoke.py +0 -0
  671. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_invoke_schedule.py +0 -0
  672. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_invokes.py +0 -0
  673. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_kern_call_factory.py +0 -0
  674. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_kern_metadata.py +0 -0
  675. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_loop_bounds.py +0 -0
  676. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_psy.py +0 -0
  677. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_run_time_checks.py +0 -0
  678. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_scalar_args.py +0 -0
  679. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_stencils.py +0 -0
  680. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_symbol_table.py +0 -0
  681. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/lfric_types.py +0 -0
  682. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/metadata_to_arguments_rules.py +0 -0
  683. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/transformations/__init__.py +0 -0
  684. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/transformations/lfric_alg_invoke_2_psy_call_trans.py +0 -0
  685. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/transformations/lfric_alg_trans.py +0 -0
  686. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/transformations/lfric_loop_fuse_trans.py +0 -0
  687. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/transformations/raise_psyir_2_lfric_alg_trans.py +0 -0
  688. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/transformations/raise_psyir_2_lfric_kern_trans.py +0 -0
  689. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/domain/lfric/utils.py +0 -0
  690. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/doxy_main_page.py +0 -0
  691. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/errors.py +0 -0
  692. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/expression.py +0 -0
  693. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/gen_kernel_stub.py +0 -0
  694. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/gocean1p0.py +0 -0
  695. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/kernel_tools.py +0 -0
  696. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/line_length.py +0 -0
  697. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/parse/__init__.py +0 -0
  698. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/parse/kernel.py +0 -0
  699. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/parse/module_info.py +0 -0
  700. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/parse/utils.py +0 -0
  701. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/profiler.py +0 -0
  702. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyGen.py +0 -0
  703. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/__init__.py +0 -0
  704. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/adjoint_visitor.py +0 -0
  705. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/domain/__init__.py +0 -0
  706. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/domain/common/__init__.py +0 -0
  707. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/domain/common/adjoint_utils.py +0 -0
  708. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/domain/lfric/__init__.py +0 -0
  709. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/domain/lfric/lfric_adjoint.py +0 -0
  710. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/domain/lfric/lfric_adjoint_harness.py +0 -0
  711. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/main.py +0 -0
  712. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/tl2ad.py +0 -0
  713. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/transformations/__init__.py +0 -0
  714. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/transformations/adjoint_trans.py +0 -0
  715. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/transformations/assignment_trans.py +0 -0
  716. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/transformations/preprocess.py +0 -0
  717. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/transformations/tangent_linear_error.py +0 -0
  718. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyad/utils.py +0 -0
  719. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyclonefc_cli.py +0 -0
  720. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/__init__.py +0 -0
  721. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/backend/__init__.py +0 -0
  722. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/backend/c.py +0 -0
  723. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/backend/debug_writer.py +0 -0
  724. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/backend/language_writer.py +0 -0
  725. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/backend/opencl.py +0 -0
  726. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/backend/sir.py +0 -0
  727. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/backend/visitor.py +0 -0
  728. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/commentable_mixin.py +0 -0
  729. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/frontend/__init__.py +0 -0
  730. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/frontend/fortran.py +0 -0
  731. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/frontend/fparser2.py +0 -0
  732. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/acc_clauses.py +0 -0
  733. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/acc_directives.py +0 -0
  734. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/acc_mixins.py +0 -0
  735. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/array_member.py +0 -0
  736. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/array_of_structures_member.py +0 -0
  737. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/array_of_structures_mixin.py +0 -0
  738. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/array_of_structures_reference.py +0 -0
  739. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/array_reference.py +0 -0
  740. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/assignment.py +0 -0
  741. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/atomic_mixin.py +0 -0
  742. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/clause.py +0 -0
  743. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/codeblock.py +0 -0
  744. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/container.py +0 -0
  745. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/datanode.py +0 -0
  746. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/directive.py +0 -0
  747. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/dynamic_omp_task_directive.py +0 -0
  748. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/file_container.py +0 -0
  749. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/if_block.py +0 -0
  750. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/kernel_schedule.py +0 -0
  751. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/member.py +0 -0
  752. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/omp_clauses.py +0 -0
  753. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/omp_directives.py +0 -0
  754. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/omp_task_directive.py +0 -0
  755. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/operation.py +0 -0
  756. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/profile_node.py +0 -0
  757. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/psy_data_node.py +0 -0
  758. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/ranges.py +0 -0
  759. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/read_only_verify_node.py +0 -0
  760. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/return_stmt.py +0 -0
  761. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/routine.py +0 -0
  762. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/schedule.py +0 -0
  763. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/statement.py +0 -0
  764. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/structure_accessor_mixin.py +0 -0
  765. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/structure_member.py +0 -0
  766. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/value_range_check_node.py +0 -0
  767. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/nodes/while_loop.py +0 -0
  768. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/symbols/__init__.py +0 -0
  769. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/symbols/containersymbol.py +0 -0
  770. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/symbols/intrinsic_symbol.py +0 -0
  771. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/symbols/routinesymbol.py +0 -0
  772. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/tools/call_tree_utils.py +0 -0
  773. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/tools/dependency_tools.py +0 -0
  774. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/tools/read_write_info.py +0 -0
  775. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/tools/reduction_inference.py +0 -0
  776. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/__init__.py +0 -0
  777. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/acc_kernels_trans.py +0 -0
  778. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/acc_update_trans.py +0 -0
  779. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/allarrayaccess2loop_trans.py +0 -0
  780. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/arrayaccess2loop_trans.py +0 -0
  781. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/arrayassignment2loops_trans.py +0 -0
  782. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/chunk_loop_trans.py +0 -0
  783. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/debug_checksum_trans.py +0 -0
  784. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/extract_trans.py +0 -0
  785. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/fold_conditional_return_expressions_trans.py +0 -0
  786. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/hoist_local_arrays_trans.py +0 -0
  787. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/hoist_loop_bound_expr_trans.py +0 -0
  788. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/hoist_trans.py +0 -0
  789. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/increase_rank_loop_arrays_trans.py +0 -0
  790. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/intrinsics/__init__.py +0 -0
  791. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/loop_fuse_trans.py +0 -0
  792. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/loop_swap_trans.py +0 -0
  793. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/loop_tiling_2d_trans.py +0 -0
  794. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/loop_tiling_trans.py +0 -0
  795. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/loop_trans.py +0 -0
  796. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/mark_routine_for_gpu_mixin.py +0 -0
  797. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/omp_declare_target_trans.py +0 -0
  798. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/omp_loop_trans.py +0 -0
  799. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/omp_target_trans.py +0 -0
  800. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/omp_taskloop_trans.py +0 -0
  801. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/omp_taskwait_trans.py +0 -0
  802. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/parallel_region_trans.py +0 -0
  803. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/profile_trans.py +0 -0
  804. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/psy_data_trans.py +0 -0
  805. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/read_only_verify_trans.py +0 -0
  806. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/reference2arrayrange_trans.py +0 -0
  807. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/region_trans.py +0 -0
  808. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/replace_induction_variables_trans.py +0 -0
  809. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/replace_reference_by_literal_trans.py +0 -0
  810. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/scalarisation_trans.py +0 -0
  811. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/transformation_error.py +0 -0
  812. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/psyir/transformations/value_range_check_trans.py +0 -0
  813. {psyclone-3.2.0 → psyclone-3.2.2}/src/psyclone/utils.py +0 -0
  814. {psyclone-3.2.0 → psyclone-3.2.2}/tutorial/notebooks/fparser2/parsing_fortran.ipynb +0 -0
  815. {psyclone-3.2.0 → psyclone-3.2.2}/tutorial/notebooks/introduction.ipynb +0 -0
  816. {psyclone-3.2.0 → psyclone-3.2.2}/tutorial/notebooks/nemo/nemo_example1.ipynb +0 -0
  817. {psyclone-3.2.0 → psyclone-3.2.2}/tutorial/notebooks/nemo/nemo_example2.ipynb +0 -0
  818. {psyclone-3.2.0 → psyclone-3.2.2}/tutorial/notebooks/nemo/nemo_example3.ipynb +0 -0
  819. {psyclone-3.2.0 → psyclone-3.2.2}/tutorial/notebooks/nemo/nemo_example4.ipynb +0 -0
  820. {psyclone-3.2.0 → psyclone-3.2.2}/tutorial/notebooks/psyir/psyir_example1.ipynb +0 -0
  821. {psyclone-3.2.0 → psyclone-3.2.2}/tutorial/notebooks/psyir/psyir_example2.ipynb +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PSyclone
3
- Version: 3.2.0
3
+ Version: 3.2.2
4
4
  Summary: PSyclone - a source-to-source and DSL Fortran compiler for HPC applications
5
5
  Home-page: https://github.com/stfc/psyclone
6
6
  Author: Rupert Ford, Andrew Porter <andrew.porter@stfc.ac.uk>, Sergi Siso <sergi.siso@stfc.ac.uk>, Joerg Henrichs <joerg.henrichs@bom.gov.au>
@@ -21,7 +21,7 @@ Classifier: Operating System :: Unix
21
21
  Classifier: Operating System :: MacOS
22
22
  License-File: LICENSE
23
23
  Requires-Dist: pyparsing
24
- Requires-Dist: fparser>=0.2.1
24
+ Requires-Dist: fparser==0.2.1
25
25
  Requires-Dist: configparser
26
26
  Requires-Dist: sympy
27
27
  Requires-Dist: Jinja2
@@ -172,7 +172,7 @@ of `ModuleManager`.
172
172
 
173
173
  .. testcode ::
174
174
 
175
- mod_manager = ModuleManager.get(cache_active=True)
175
+ ModuleManager.get().cache_active = True
176
176
 
177
177
 
178
178
  Most of the time in the PSyIR generation is currently spent in the
@@ -200,8 +200,9 @@ a path can be provided to the module manager.
200
200
 
201
201
  .. testcode ::
202
202
 
203
- mod_manager = ModuleManager.get(cache_active=True,
204
- cache_path="/tmp/my_cache_path")
203
+ mod_manager = ModuleManager.get()
204
+ mod_manager.cache_active = True
205
+ mod_manager.cache_path = "/tmp/my_cache_path"
205
206
 
206
207
  A cache file name will then be created based on the hashsum of each
207
208
  source code file. The combination of the provided `cache_path` and
@@ -1066,8 +1066,9 @@ the wrapper depends on (e.g. NetCDF).
1066
1066
  and link time for now, since the kernel contains metadata. Issue
1067
1067
  #2049 tracks a solution for this.
1068
1068
 
1069
- The following changes are applied by the ``ExtractionDriverCreator``
1070
- in order to generate stand-alone code for GOcean:
1069
+ The following changes are applied by the ``GOceanDriverCreator`` and
1070
+ the base class ``DriverCreator`` in order to generate stand-alone
1071
+ code for GOcean:
1071
1072
 
1072
1073
  1. The `dl_esm_inf` field type is replaced with 2d Fortran arrays.
1073
1074
  The structure name used is 'flattened', i.e. each ``%`` is replaced
@@ -1175,7 +1176,7 @@ the wrapper depends on (e.g. NetCDF).
1175
1176
 
1176
1177
  The driver creation process is explained in the Python sources:
1177
1178
 
1178
- .. autoclass:: psyclone.domain.lfric.LFRicExtractDriverCreator
1179
+ .. autoclass:: psyclone.domain.lfric.LFRicDriverCreator
1179
1180
  :no-index:
1180
1181
  :members:
1181
1182
 
@@ -493,13 +493,13 @@ computational cost (so that we 'fail fast'):
493
493
  3. All links within the Sphinx documentation (rst files) are checked (see
494
494
  note below);
495
495
 
496
- 4. All of the examples are tested (for Python versions 3.10 and 3.13)
496
+ 4. All of the examples are tested (for Python versions 3.9 and 3.14)
497
497
  using the ``Makefile`` in the ``examples`` directory. No compilation is
498
498
  performed; only the ``transform`` (performs the PSyclone transformations)
499
499
  and ``notebook`` (runs the various Jupyter notebooks) targets are used.
500
500
  The ``transform`` target is run 2-way parallel (``-j 2``).
501
501
 
502
- 5. The full test suite is run for Python versions 3.10 and 3.13 but
502
+ 5. The full test suite is run for Python versions 3.9 and 3.14 but
503
503
  without the compilation checks. ``pytest`` is passed the ``-n auto`` flag
504
504
  so that it will run the tests in parallel on as many cores as are
505
505
  available (currently 2 on GHA instances).
@@ -171,70 +171,77 @@ Running PSyclone
171
171
  You are now ready to run PSyclone. One way of doing this is to use the ``psyclone``
172
172
  command. To list the available options run: ``psyclone -h``, it should output::
173
173
 
174
- usage: psyclone [-h] [--version] [--config CONFIG] [-s SCRIPT] [-I INCLUDE]
175
- [-l {off,all,output}] [--profile {invokes,routines,kernels}]
176
- [--backend {disable-validation,disable-indentation}]
177
- [-o OUTPUT_FILE] [-api DSL] [-oalg OUTPUT_ALGORITHM_FILE]
178
- [-opsy OUTPUT_PSY_FILE] [-okern OUTPUT_KERNEL_PATH]
179
- [-d DIRECTORY] [-dm] [-nodm]
180
- [--kernel-renaming {multiple,single}]
181
- [--log-level {OFF,DEBUG,INFO,WARNING,ERROR,CRITICAL}]
182
- [--log-file LOG_FILE] [--keep-comments] [--keep-directives]
183
- filename
184
-
185
- Transform a file using the PSyclone source-to-source Fortran compiler
186
-
187
- positional arguments:
188
- filename input source code
189
-
190
- options:
191
- -h, --help show this help message and exit
192
- --version, -v display version information
193
- -c CONFIG, --config CONFIG
194
- config file with PSyclone specific options
195
- -s SCRIPT, --script SCRIPT
196
- filename of a PSyclone optimisation recipe
197
- -I INCLUDE, --include INCLUDE
198
- path to Fortran INCLUDE or module files
199
- --enable-cache whether to enable caching of imported module dependencies (if
200
- enabled, it will generate a .psycache file of each imported
201
- module in the same location as the imported source file).
202
- -l {off,all,output}, --limit {off,all,output}
203
- limit the Fortran line length to 132 characters (default 'off').
204
- Use 'all' to apply limit to both input and output Fortran. Use
205
- 'output' to apply line-length limit to output Fortran only.
206
- -p {invokes,routines,kernels}, --profile {invokes,routines,kernels}
207
- add profiling hooks for 'kernels', 'invokes' or 'routines'
208
- --backend {disable-validation,disable-indentation}
209
- options to control the PSyIR backend used for code generation.
210
- Use 'disable-validation' to disable the validation checks that
211
- are performed by default. Use 'disable-indentation' to turn off
212
- all indentation in the generated code.
213
- -o OUTPUT_FILE (code-transformation mode) output file
214
- -api DSL, --psykal-dsl DSL
215
- whether to use a PSyKAl DSL (one of ['lfric', 'gocean'])
216
- -oalg OUTPUT_ALGORITHM_FILE
217
- (psykal mode) filename of transformed algorithm code
218
- -opsy OUTPUT_PSY_FILE
219
- (psykal mode) filename of generated PSy-layer code
220
- -okern OUTPUT_KERNEL_PATH
221
- (psykal mode) directory in which to put transformed kernels, default
222
- is the current working directory
223
- -d DIRECTORY, --directory DIRECTORY
224
- (psykal mode) path to a root directory structure containing kernel
225
- source code. Multiple roots can be specified by using multiple -d
226
- arguments.
227
- -dm, --dist_mem (psykal mode) generate distributed memory code
228
- -nodm, --no_dist_mem (psykal mode) do not generate distributed memory code
229
- --kernel-renaming {multiple,single}
230
- (psykal mode) naming scheme to use when re-naming transformed kernels
231
- --log-level {OFF,DEBUG,INFO,WARNING,ERROR,CRITICAL}
232
- sets the level of the logging (defaults to OFF).
233
- --log-file LOG_FILE sets the output file to use for logging (defaults to stderr).
234
- --keep-comments keeps comments from the original code (defaults to False).
235
- Directives are not kept with this option (use
236
- --keep-directives).
237
- --keep-directives keeps directives from the original code (defaults to False).
174
+ usage: psyclone [-h] [-v] [-c CONFIG] [-s SCRIPT] [--enable-cache] [-l {off,all,output}]
175
+ [-p {invokes,routines,kernels}]
176
+ [--backend {disable-validation,disable-indentation}] [-o OUTPUT_FILE]
177
+ [-api DSL] [-oalg OUTPUT_ALGORITHM_FILE] [-opsy OUTPUT_PSY_FILE]
178
+ [-okern OUTPUT_KERNEL_PATH] [-dm] [-nodm]
179
+ [--kernel-renaming {multiple,single}]
180
+ [--log-level {OFF,DEBUG,INFO,WARNING,ERROR,CRITICAL}] [--log-file LOG_FILE]
181
+ [--keep-comments] [--keep-directives] [-I INCLUDE] [-d DIRECTORY]
182
+ [--modman-file-ignore IGNORE_PATTERN] [--free-form | --fixed-form]
183
+ filename
184
+
185
+ Transform a file using the PSyclone source-to-source Fortran compiler
186
+
187
+ positional arguments:
188
+ filename input source code
189
+
190
+ options:
191
+ -h, --help show this help message and exit
192
+ -v, --version display version information
193
+ -c CONFIG, --config CONFIG
194
+ config file with PSyclone specific options
195
+ -s SCRIPT, --script SCRIPT
196
+ filename of a PSyclone optimisation recipe
197
+ --enable-cache whether to enable caching of imported module dependencies (if
198
+ enabled, it will generate a .psycache file of each imported module in
199
+ the same location as the imported source file).
200
+ -l {off,all,output}, --limit {off,all,output}
201
+ limit the Fortran line length to 132 characters (default 'off'). Use
202
+ 'all' to apply limit to both input and output Fortran. Use 'output'
203
+ to apply line-length limit to output Fortran only.
204
+ -p {invokes,routines,kernels}, --profile {invokes,routines,kernels}
205
+ add profiling hooks for 'kernels', 'invokes' or 'routines'
206
+ --backend {disable-validation,disable-indentation}
207
+ options to control the PSyIR backend used for code generation. Use
208
+ 'disable-validation' to disable the validation checks that are
209
+ performed by default. Use 'disable-indentation' to turn off all
210
+ indentation in the generated code.
211
+ -o OUTPUT_FILE (code-transformation mode) output file
212
+ -api DSL, --psykal-dsl DSL
213
+ whether to use a PSyKAl DSL (one of ['lfric', 'gocean'])
214
+ -oalg OUTPUT_ALGORITHM_FILE
215
+ (psykal mode) filename of transformed algorithm code
216
+ -opsy OUTPUT_PSY_FILE
217
+ (psykal mode) filename of generated PSy-layer code
218
+ -okern OUTPUT_KERNEL_PATH
219
+ (psykal mode) directory in which to put transformed kernels, default
220
+ is the current working directory
221
+ -dm, --dist_mem (psykal mode) generate distributed memory code
222
+ -nodm, --no_dist_mem (psykal mode) do not generate distributed memory code
223
+ --kernel-renaming {multiple,single}
224
+ (psykal mode) naming scheme to use when re-naming transformed kernels
225
+ --log-level {OFF,DEBUG,INFO,WARNING,ERROR,CRITICAL}
226
+ sets the level of the logging (defaults to OFF).
227
+ --log-file LOG_FILE sets the output file to use for logging (defaults to stderr).
228
+ --keep-comments keeps comments from the original code (defaults to False). Directives
229
+ are not kept with this option (use --keep-directives).
230
+ --keep-directives keeps directives from the original code (defaults to False).
231
+ --free-form forces PSyclone to parse this file as free format (default is to look
232
+ at the input file extension).
233
+ --fixed-form forces PSyclone to parse this file as fixed format (default is to
234
+ look at the input file extension).
235
+
236
+ Directory management:
237
+ -I INCLUDE, --include INCLUDE
238
+ path to Fortran INCLUDE or module files
239
+ -d DIRECTORY, --directory DIRECTORY
240
+ (psykal mode) path to a root directory structure containing kernel
241
+ source code. Multiple roots can be specified by using multiple -d
242
+ arguments. These directories will be searchedrecursively.
243
+ --modman-file-ignore IGNORE_PATTERN
244
+ Ignore files that contain the specified pattern.
238
245
 
239
246
  There is more detailed information about each flag in :ref:`psyclone_command` section,
240
247
  but the main parameters are the input source file that we aim to transform, and a transformation
@@ -51,7 +51,7 @@ allow PSyclone to generate the PSy layer. These algorithm and kernel
51
51
  APIs are discussed separately in the following sections.
52
52
 
53
53
  The LFRic API supports the Met Office's finite element (hereafter FEM)
54
- based GungHo dynamical core.
54
+ based 'GungHo' dynamical core.
55
55
  This dynamical core with atmospheric physics parameterisation
56
56
  schemes is a part of the Met Office LFRic modelling system :footcite:t:`lfric-2019`,
57
57
  currently being developed in preparation for exascale computing in the 2020s.
@@ -64,6 +64,13 @@ requires login access to MOSRS. For more technical details on the
64
64
  implementation of LFRic, please see the `LFRic documentation
65
65
  <https://code.metoffice.gov.uk/trac/lfric/attachment/wiki/LFRicDocumentationPapers/lfric_documentation.pdf>`_.
66
66
 
67
+ .. note::
68
+ The following sections assume that the reader is familiar
69
+ with various concepts relating to the LFRic mesh and how it is decomposed
70
+ for distributed-memory parallel computing. For a detailed description of
71
+ these things, please see the :ref:`LFRic <lfric-developers>` section of the
72
+ Developer Guide.
73
+
67
74
  .. _lfric-api-algorithm:
68
75
 
69
76
  Algorithm
@@ -308,9 +315,9 @@ Halo Depth
308
315
  ++++++++++
309
316
 
310
317
  If a Kernel is written such that it *must* iterate into the halo (has an
311
- ``OPERATES_ON`` of ``HALO_CELL_COLUMN`` or ``OWNED_AND_HALO_CELL_COLUMN``)
312
- then the halo depth must be passed as a final, ``integer`` argument to the
313
- Kernel.
318
+ :ref:`OPERATES_ON <lfric-operates-on>` of ``HALO_CELL_COLUMN`` or
319
+ ``OWNED_AND_HALO_CELL_COLUMN``) then the halo depth must be passed as a
320
+ final, ``integer`` argument to the Kernel.
314
321
 
315
322
  .. _lfric-alg-stencil:
316
323
 
@@ -879,9 +886,11 @@ types.
879
886
  Rules specific to General-Purpose Kernels without CMA Operators
880
887
  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
881
888
 
882
- 1) General-purpose kernels with ``operates_on = CELL_COLUMN`` accept
883
- arguments of any of the following types: field, field vector, LMA
884
- operator, scalar (``real``, ``integer`` or ``logical``).
889
+ 1) General-purpose kernels that :ref:`operate on <lfric-operates-on>`
890
+ any kind of ``CELL_COLUMN``
891
+ accept arguments of any of the following types: field,
892
+ field vector, LMA operator, scalar (``real``, ``integer`` or
893
+ ``logical``).
885
894
 
886
895
  2) A Kernel is permitted to write to more than one
887
896
  quantity (field or operator) and these quantities may be on the
@@ -1005,12 +1014,13 @@ on a ``CELL_COLUMN`` without CMA Operators. Specifically:
1005
1014
  Rules for all User-Supplied Kernels that Operate on DoFs (DoF Kernels)
1006
1015
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1007
1016
 
1008
- Kernels that have ``operates_on = DOF`` and
1009
- :ref:`LFRic Built-ins<lfric-built-ins>` overlap significantly in their
1010
- scope, and the conventions that DoF Kernels must follow are influenced
1011
- by those for built-ins as a result. This includes :ref:`metadata arguments
1012
- <lfric-api-built-ins-metadata>` and :ref:`valid data types
1013
- and access modes<lfric-built-ins-dtype-access>`. Naming conventions for DoF
1017
+ Kernels that have an :ref:`operates_on <lfric-operates-on>` of ``DOF``
1018
+ (or ``OWNED_DOF``) and :ref:`LFRic Built-ins<lfric-built-ins>` overlap
1019
+ significantly in their scope, and the conventions that DoF Kernels
1020
+ must follow are influenced by those for built-ins as a result. This
1021
+ includes :ref:`metadata arguments <lfric-api-built-ins-metadata>` and
1022
+ :ref:`valid data types and access
1023
+ modes<lfric-built-ins-dtype-access>`. Naming conventions for DoF
1014
1024
  Kernels should follow those for General-Purpose Kernels.
1015
1025
 
1016
1026
  The list of rules for DoF Kernels is as follows:
@@ -1336,9 +1346,8 @@ user-defined Kernels are summarised here. All argument types
1336
1346
  ``GH_COLUMNWISE_OPERATOR``) may be read within a Kernel and this
1337
1347
  is specified in metadata using ``GH_READ``. At least one kernel
1338
1348
  argument must be listed as being modified. When data is *modified*
1339
- in a user-supplied Kernel (i.e. a Kernel that operates on a
1340
- ``CELL_COLUMN``, see :ref:`iteration space metadata
1341
- <lfric-operates-on>`) then the permitted access
1349
+ in a user-supplied Kernel that operates on cell columns (see
1350
+ :ref:`iteration space metadata <lfric-operates-on>`) then the permitted access
1342
1351
  modes depend upon the argument type and the function space it is on:
1343
1352
 
1344
1353
  .. tabularcolumns:: |l|l|l|
@@ -1365,9 +1374,9 @@ modes depend upon the argument type and the function space it is on:
1365
1374
 
1366
1375
  Note that scalar arguments to user-defined Kernels must be read-only.
1367
1376
  Only :ref:`Built-ins <lfric-built-ins>` are permitted to modify scalar
1368
- arguments. In practice this means that the only allowed access for the scalars
1369
- in user-defined Kernels is ``GH_READ`` (see the allowed accesses for arguments
1370
- in Built-ins in the :ref:`section below <lfric-built-ins-dtype-access>`).
1377
+ arguments. In practice this means that the only allowed access for scalar
1378
+ arguments in user-defined Kernels is ``GH_READ`` (see the allowed accesses for
1379
+ arguments in Built-ins in the :ref:`section below <lfric-built-ins-dtype-access>`).
1371
1380
 
1372
1381
  Note also that a ``GH_FIELD`` argument that has ``GH_WRITE`` or
1373
1382
  ``GH_READWRITE`` as its access pattern must typically (see below) be
@@ -1955,21 +1964,49 @@ is supplied with the specified data for each field/operator argument.
1955
1964
  The possible values for ``OPERATES_ON`` and their interpretation are
1956
1965
  summarised in the following table:
1957
1966
 
1958
- ============================== =======================================================
1959
- operates_on Data passed for each field/operator argument
1960
- ============================== =======================================================
1961
- ``cell_column`` Single column of cells from the owned region (except
1962
- when performing an INC operation on continuous fields
1963
- when it will include one level of halo cells).
1964
- ``halo_cell_column`` Single column of cells exclusively from halo region.
1965
- ``owned_and_halo_cell_column`` Single column of cells but iteration space will include
1966
- both owned and halo regions.
1967
- ``dof`` Single DoF .
1968
- ``domain`` All columns of cells in the (sub-)domain.
1969
- ============================== =======================================================
1970
-
1971
- (For a description of the concepts of 'owned' and 'halo' cells please see the
1972
- :ref:`lfric-developers`.)
1967
+ .. tabularcolumns:: |p{4.5cm}|p{3.0cm}|p{6.5cm}|
1968
+
1969
+ +--------------------------------+--------------------------------------+--------------------------------------------+
1970
+ | operates_on | Data passed for each field/operator | Iteration space |
1971
+ | | argument | |
1972
+ +================================+======================================+============================================+
1973
+ | ``cell_column`` | Single column of cells. | Conceptually, all columns in the global |
1974
+ | | | mesh. For each MPI |
1975
+ | | | process this will operate on all owned |
1976
+ | | | columns and may be extended into the halo |
1977
+ | | | to perform redundant computation. |
1978
+ +--------------------------------+--------------------------------------+--------------------------------------------+
1979
+ | ``owned_cell_column`` | Single column of cells. | Restricted to owned columns. Prevents |
1980
+ | | | extending into the halos to perform |
1981
+ | | | redundant computation. |
1982
+ +--------------------------------+--------------------------------------+--------------------------------------------+
1983
+ | ``halo_cell_column`` | Single column of cells. | Restricted to columns from the halo region |
1984
+ | | | (to a specified depth). |
1985
+ +--------------------------------+--------------------------------------+--------------------------------------------+
1986
+ | ``owned_and_halo_cell_column`` | Single column of cells. | Iteration space must include both owned |
1987
+ | | | and halo columns (to a specified depth). |
1988
+ +--------------------------------+--------------------------------------+--------------------------------------------+
1989
+ | ``dof`` | Single DoF. | Defaults to owned DoFs but may be extended |
1990
+ | | | to annexed and halo DoFs. |
1991
+ +--------------------------------+--------------------------------------+--------------------------------------------+
1992
+ | ``owned_dof`` | Single DoF. | Restricted to owned DoFs only. Prevents |
1993
+ | | | extending into the halos to perform |
1994
+ | | | redundant computation. |
1995
+ +--------------------------------+--------------------------------------+--------------------------------------------+
1996
+ | ``domain`` | All columns of cells in the (sub-) | None. |
1997
+ | | domain. | |
1998
+ +--------------------------------+--------------------------------------+--------------------------------------------+
1999
+
2000
+ (For a description of the concepts of 'owned' and 'halo' cells and 'annexed' DoFs
2001
+ please see the :ref:`LFRic section <lfric-developers>` of the Developer Guide.)
2002
+
2003
+ The ``owned_cell_column`` and ``owned_dof`` values of ``OPERATES_ON`` are intended for
2004
+ use only with special cases where the kernel concerned cannot be used to perform
2005
+ redundant computation (e.g. when filling a field with pseudo-random numbers without
2006
+ regard to cell location). Processing an application that makes use of such a kernel
2007
+ requires that the ``COMPUTE_ANNEXED_DOFS`` configuration option (see
2008
+ :ref:`lfric-annexed_dofs`) be set to ``False`` as PSyclone can no longer guarantee that
2009
+ annexed DoFs are always clean between different ``invoke`` calls.
1973
2010
 
1974
2011
  procedure
1975
2012
  #########
@@ -3242,6 +3279,12 @@ pseudo-random numbers in the interval ``0 <= x < 1``::
3242
3279
  where ``RAND()`` is some function that returns a new pseudo-random number
3243
3280
  each time it is called.
3244
3281
 
3282
+ Due to different parallel elements using independent random-number generator
3283
+ streams, this built-in has ``OPERATES_ON=owned_dof``. This will prevent
3284
+ optimisations such as redundant computation (including the global
3285
+ ``COMPUTE_ANNEXED_DOFS`` option).
3286
+
3287
+
3245
3288
  .. warning:: This Built-in is implemented using the Fortran ``random_number``
3246
3289
  intrinsic. Therefore no guarantee is made as to the quality of
3247
3290
  the sequence of pseudo-random numbers, especially when running
@@ -51,63 +51,77 @@ by the command:
51
51
  .. parsed-literal::
52
52
 
53
53
  > psyclone -h
54
- usage: psyclone [-h] [-v] [-c CONFIG] [-s SCRIPT] [-I INCLUDE] [-l {off,all,output}] [-p {invokes,routines,kernels}]
55
- [--backend {disable-validation,disable-indentation}]
56
- [-o OUTPUT_FILE] [-api DSL] [-oalg OUTPUT_ALGORITHM_FILE] [-opsy OUTPUT_PSY_FILE] [-okern OUTPUT_KERNEL_PATH] [-d DIRECTORY] [-dm] [-nodm]
57
- [--kernel-renaming {multiple,single}] [--log-level {OFF,DEBUG,INFO,WARNING,ERROR,CRITICAL}]
58
- [--log-file LOG_FILE] [--keep-comments] [--keep-directives]
54
+ usage: psyclone [-h] [-v] [-c CONFIG] [-s SCRIPT] [--enable-cache] [-l {off,all,output}]
55
+ [-p {invokes,routines,kernels}]
56
+ [--backend {disable-validation,disable-indentation}] [-o OUTPUT_FILE]
57
+ [-api DSL] [-oalg OUTPUT_ALGORITHM_FILE] [-opsy OUTPUT_PSY_FILE]
58
+ [-okern OUTPUT_KERNEL_PATH] [-dm] [-nodm]
59
+ [--kernel-renaming {multiple,single}]
60
+ [--log-level {OFF,DEBUG,INFO,WARNING,ERROR,CRITICAL}] [--log-file LOG_FILE]
61
+ [--keep-comments] [--keep-directives] [-I INCLUDE] [-d DIRECTORY]
62
+ [--modman-file-ignore IGNORE_PATTERN] [--free-form | --fixed-form]
59
63
  filename
60
64
 
61
65
  Transform a file using the PSyclone source-to-source Fortran compiler
62
-
66
+
63
67
  positional arguments:
64
68
  filename input source code
65
-
69
+
66
70
  options:
67
- -h, --help show this help message and exit
68
- -v, --version display version information
69
- -c CONFIG, --config CONFIG
70
- config file with PSyclone specific options
71
- -s SCRIPT, --script SCRIPT
72
- filename of a PSyclone optimisation recipe
73
- -I INCLUDE, --include INCLUDE
74
- path to Fortran INCLUDE or module files
75
- --enable-cache whether to enable caching of imported module dependencies (if
76
- enabled, it will generate a .psycache file of each imported
77
- module in the same location as the imported source file).
78
- -l {off,all,output}, --limit {off,all,output}
79
- limit the Fortran line length to 132 characters (default 'off').
80
- Use 'all' to apply limit to both input and output Fortran. Use
81
- -p {invokes,routines,kernels}, --profile {invokes,routines,kernels}
82
- add profiling hooks for 'kernels', 'invokes' or 'routines'
83
- --backend {disable-validation,disable-indentation}
84
- options to control the PSyIR backend used for code generation.
85
- Use 'disable-validation' to disable the validation checks that
86
- are performed by default. Use 'disable-indentation' to turn
87
- off all indentation in the generated code.
88
- -o OUTPUT_FILE (code-transformation mode) output file
89
- -api DSL, --psykal-dsl DSL
90
- whether to use a PSyKAl DSL (one of ['lfric', 'gocean'])
91
- -oalg OUTPUT_ALGORITHM_FILE
92
- (psykal mode) filename of transformed algorithm code
93
- -opsy OUTPUT_PSY_FILE
94
- (psykal mode) filename of generated PSy-layer code
95
- -okern OUTPUT_KERNEL_PATH
96
- (psykal mode) directory in which to put transformed kernels, default is the current working directory
97
- -d DIRECTORY, --directory DIRECTORY
98
- (psykal mode) path to a root directory structure containing kernel
99
- source code. Multiple roots can be specified by using multiple -d
100
- arguments.
101
- -dm, --dist_mem (psykal mode) generate distributed memory code
102
- -nodm, --no_dist_mem (psykal mode) do not generate distributed memory code
103
- --kernel-renaming {multiple,single}
104
- (psykal mode) naming scheme to use when re-naming transformed kernels
105
- --log-level {OFF,DEBUG,INFO,WARNING,ERROR,CRITICAL}
106
- sets the level of the logging (defaults to OFF).
107
- --log-file LOG_FILE sets the output file to use for logging (defaults to stderr).
108
- --keep-comments keeps comments from the original code (defaults to False).
109
- Directives are not kept with this option (use --keep-directives).
110
- --keep-directives keeps directives from the original code (defaults to False).
71
+ -h, --help show this help message and exit
72
+ -v, --version display version information
73
+ -c CONFIG, --config CONFIG
74
+ config file with PSyclone specific options
75
+ -s SCRIPT, --script SCRIPT
76
+ filename of a PSyclone optimisation recipe
77
+ --enable-cache whether to enable caching of imported module dependencies (if
78
+ enabled, it will generate a .psycache file of each imported module in
79
+ the same location as the imported source file).
80
+ -l {off,all,output}, --limit {off,all,output}
81
+ limit the Fortran line length to 132 characters (default 'off'). Use
82
+ 'all' to apply limit to both input and output Fortran. Use 'output'
83
+ to apply line-length limit to output Fortran only.
84
+ -p {invokes,routines,kernels}, --profile {invokes,routines,kernels}
85
+ add profiling hooks for 'kernels', 'invokes' or 'routines'
86
+ --backend {disable-validation,disable-indentation}
87
+ options to control the PSyIR backend used for code generation. Use
88
+ 'disable-validation' to disable the validation checks that are
89
+ performed by default. Use 'disable-indentation' to turn off all
90
+ indentation in the generated code.
91
+ -o OUTPUT_FILE (code-transformation mode) output file
92
+ -api DSL, --psykal-dsl DSL
93
+ whether to use a PSyKAl DSL (one of ['lfric', 'gocean'])
94
+ -oalg OUTPUT_ALGORITHM_FILE
95
+ (psykal mode) filename of transformed algorithm code
96
+ -opsy OUTPUT_PSY_FILE
97
+ (psykal mode) filename of generated PSy-layer code
98
+ -okern OUTPUT_KERNEL_PATH
99
+ (psykal mode) directory in which to put transformed kernels, default
100
+ is the current working directory
101
+ -dm, --dist_mem (psykal mode) generate distributed memory code
102
+ -nodm, --no_dist_mem (psykal mode) do not generate distributed memory code
103
+ --kernel-renaming {multiple,single}
104
+ (psykal mode) naming scheme to use when re-naming transformed kernels
105
+ --log-level {OFF,DEBUG,INFO,WARNING,ERROR,CRITICAL}
106
+ sets the level of the logging (defaults to OFF).
107
+ --log-file LOG_FILE sets the output file to use for logging (defaults to stderr).
108
+ --keep-comments keeps comments from the original code (defaults to False). Directives
109
+ are not kept with this option (use --keep-directives).
110
+ --keep-directives keeps directives from the original code (defaults to False).
111
+ --free-form forces PSyclone to parse this file as free format (default is to look
112
+ at the input file extension).
113
+ --fixed-form forces PSyclone to parse this file as fixed format (default is to
114
+ look at the input file extension).
115
+
116
+ Directory management:
117
+ -I INCLUDE, --include INCLUDE
118
+ path to Fortran INCLUDE or module files
119
+ -d DIRECTORY, --directory DIRECTORY
120
+ (psykal mode) path to a root directory structure containing kernel
121
+ source code. Multiple roots can be specified by using multiple -d
122
+ arguments. These directories will be searchedrecursively.
123
+ --modman-file-ignore IGNORE_PATTERN
124
+ Ignore files that contain the specified pattern.
111
125
 
112
126
  Basic Use
113
127
  ---------
@@ -238,6 +252,29 @@ Finally, if all else fails, the code-generation part of PSyclone (the
238
252
  "backend") can be instructed not to use any indentation at all. See the
239
253
  :ref:`backend-options` section.
240
254
 
255
+
256
+ .. _fortran_source_format:
257
+
258
+ Fortran Format Option
259
+ ---------------------
260
+
261
+ PSyclone supports both free and fixed format source input. By default,
262
+ PSyclone follows the gfortran specification for file extensions:
263
+
264
+ - Free format extensions: .f90, .f95, .f03, .f08, .F90, .F95, .F03, .F08
265
+ - Fixed format extensions: .f, .for, .fpp, .ftn, .F, .FOR, .FPP, .FTN
266
+
267
+ PSyclone also recognises the following extensions as free format to support
268
+ current uses cases: .x90, .xu90
269
+
270
+ PSyclone also provides the ``--free-form`` and ``-fixed-form`` to override the
271
+ default behaviour, and will use the specified option over the file extension.
272
+
273
+ If the file extension is not one of the ones listed above, and neither of the
274
+ ``--free-form`` or ``--fixed-form`` flags is used then PSyclone defaults to
275
+ assuming the input source is free form Fortran.
276
+
277
+
241
278
  .. _backend-options:
242
279
 
243
280
  Backend Options