CONTRIBUTING.md
LICENSE
MANIFEST.in
README.md
setup.cfg
setup.py
bin/psyad
bin/psyclone
bin/psyclone-kern
bin/psyclonefc
config/psyclone.cfg
doc/Makefile
doc/conf.py
doc/index.rst
doc/_ext/apilinks.py
doc/developer_guide/APIs.rst
doc/developer_guide/coding-style.rst
doc/developer_guide/dependency.rst
doc/developer_guide/index.rst
doc/developer_guide/integration-test.rst
doc/developer_guide/interface_example.py
doc/developer_guide/module_manager.rst
doc/developer_guide/pip_requirements.txt
doc/developer_guide/psy_data.rst
doc/developer_guide/psyir.rst
doc/developer_guide/psyir_backends.rst
doc/developer_guide/psyir_symbols.rst
doc/developer_guide/psykal.rst
doc/developer_guide/sympy.rst
doc/developer_guide/system_specific_setup.rst
doc/developer_guide/transformations.rst
doc/developer_guide/working_practises.rst
doc/developer_guide/code_snippets/newnode.py
doc/reference_guide/index.rst
doc/tutorials_and_examples/examples_intro.rst
doc/tutorials_and_examples/gocean_examples.rst
doc/tutorials_and_examples/index.rst
doc/tutorials_and_examples/lfric_examples.rst
doc/tutorials_and_examples/nemo_examples.rst
doc/tutorials_and_examples/psyir_examples.rst
doc/tutorials_and_examples/tutorials.rst
doc/user_guide/configuration.rst
doc/user_guide/getting_going.rst
doc/user_guide/gocean1p0.rst
doc/user_guide/index.rst
doc/user_guide/introduction_to_psykal.rst
doc/user_guide/lfric.rst
doc/user_guide/libraries.rst
doc/user_guide/profiling.rst
doc/user_guide/psy_data.rst
doc/user_guide/psyad.rst
doc/user_guide/psyclone_command.rst
doc/user_guide/psyclone_kern.rst
doc/user_guide/psyir.rst
doc/user_guide/psyke.rst
doc/user_guide/transformations.rst
doc/user_guide/user_scripts.rst
examples/Makefile
examples/README.md
examples/common.mk
examples/top_level.mk
examples/gocean/Makefile
examples/gocean/README.md
examples/gocean/eg1/Makefile
examples/gocean/eg1/README.md
examples/gocean/eg1/compute_cu_mod.f90
examples/gocean/eg1/compute_cv_mod.f90
examples/gocean/eg1/compute_h_mod.f90
examples/gocean/eg1/compute_pnew_mod.f90
examples/gocean/eg1/compute_unew_mod.f90
examples/gocean/eg1/compute_vnew_mod.f90
examples/gocean/eg1/compute_z_mod.f90
examples/gocean/eg1/infrastructure_mod.f90
examples/gocean/eg1/opencl_transformation.py
examples/gocean/eg1/openmp_taskloop_trans.py
examples/gocean/eg1/runme.py
examples/gocean/eg1/runme_dag.py
examples/gocean/eg1/runme_loop_fuse.py
examples/gocean/eg1/runme_openacc.py
examples/gocean/eg1/runme_openmp.py
examples/gocean/eg1/shallow_alg.f90
examples/gocean/eg1/time_smooth_mod.f90
examples/gocean/eg2/Makefile
examples/gocean/eg2/README.md
examples/gocean/eg2/acc_prof_transform.py
examples/gocean/eg2/acc_transform.py
examples/gocean/eg2/alg.f90
examples/gocean/eg2/inc_field_mod.f90
examples/gocean/eg3/Makefile
examples/gocean/eg3/README.md
examples/gocean/eg3/alg.f90
examples/gocean/eg3/compute_cu_mod.f90
examples/gocean/eg3/compute_cv_mod.f90
examples/gocean/eg3/compute_h_mod.f90
examples/gocean/eg3/compute_z_mod.f90
examples/gocean/eg3/ocl_trans.py
examples/gocean/eg4/Makefile
examples/gocean/eg4/README.md
examples/gocean/eg4/acc_transform.py
examples/gocean/eg4/alg_kern_call_kern.f90
examples/gocean/eg4/alg_kern_use_var.f90
examples/gocean/eg4/alg_nested_use.f90
examples/gocean/eg4/another_mod.f90
examples/gocean/eg4/data_mod.f90
examples/gocean/eg4/kern_call_kern_mod.f90
examples/gocean/eg4/kern_nested_use_mod.f90
examples/gocean/eg4/kern_use_var_mod.f90
examples/gocean/eg4/ocl_transform.py
examples/gocean/eg5/Makefile
examples/gocean/eg5/README.md
examples/gocean/eg5/extract/Makefile
examples/gocean/eg5/extract/README.md
examples/gocean/eg5/extract/extract_transform.py
examples/gocean/eg5/extract/init_field_mod.f90
examples/gocean/eg5/extract/test.X90
examples/gocean/eg5/extract/update_field_mod.f90
examples/gocean/eg5/profile/Makefile
examples/gocean/eg5/profile/README.md
examples/gocean/eg5/profile/init_field_mod.f90
examples/gocean/eg5/profile/test.x90
examples/gocean/eg5/profile/update_field_mod.f90
examples/gocean/eg5/readonly/Makefile
examples/gocean/eg5/readonly/README.md
examples/gocean/eg5/readonly/init_field_mod.f90
examples/gocean/eg5/readonly/read_only_transform.py
examples/gocean/eg5/readonly/test.x90
examples/gocean/eg5/readonly/update_field_mod.f90
examples/gocean/eg5/value_range_check/Makefile
examples/gocean/eg5/value_range_check/README.md
examples/gocean/eg5/value_range_check/init_field_mod.f90
examples/gocean/eg5/value_range_check/test.x90
examples/gocean/eg5/value_range_check/update_field_mod.f90
examples/gocean/eg5/value_range_check/value_range_check_transformation.py
examples/gocean/eg6/Makefile
examples/gocean/eg6/README.md
examples/gocean/eg6/alg.f90
examples/gocean/eg6/backends_transform.py
examples/gocean/eg6/inc_field_mod.f90
examples/gocean/eg7/Makefile
examples/gocean/eg7/README.md
examples/gocean/eg7/alg.f90
examples/gocean/eg7/alg_transform.py
examples/gocean/eg7/inc_field_mod.f90
examples/lfric/Makefile
examples/lfric/README.md
examples/lfric/lfric_common.mk
examples/lfric/code/dg_matrix_vector_kernel_mod.F90
examples/lfric/code/gw_mixed_schur_preconditioner_alg_mod.x90
examples/lfric/code/matrix_vector_kernel_mod.F90
examples/lfric/code/testkern_mod.F90
examples/lfric/code/testkern_write_any_mod.f90
examples/lfric/eg1/Makefile
examples/lfric/eg1/single_invoke.x90
examples/lfric/eg10/Makefile
examples/lfric/eg10/intergrid_3levels.x90
examples/lfric/eg10/prolong_kernel_mod.F90
examples/lfric/eg10/restrict_kernel_mod.F90
examples/lfric/eg11/Makefile
examples/lfric/eg11/async_script.py
examples/lfric/eg11/driver.f90
examples/lfric/eg11/helmholtz_solver_alg_mod.x90
examples/lfric/eg11/scaled_matrix_vector_kernel_mod.F90
examples/lfric/eg12/Makefile
examples/lfric/eg12/colouring_and_omp.py
examples/lfric/eg12/extract_kernel_with_transformations.py
examples/lfric/eg12/extract_nodes.py
examples/lfric/eg12/find_kernel.py
examples/lfric/eg13/Makefile
examples/lfric/eg13/kernel_constants.py
examples/lfric/eg14/Makefile
examples/lfric/eg14/README.md
examples/lfric/eg14/acc_parallel.py
examples/lfric/eg14/main.x90
examples/lfric/eg14/other_alg_mod.x90
examples/lfric/eg14/testkern_w0_kernel_mod.f90
examples/lfric/eg15/Makefile
examples/lfric/eg15/matvec_opt.py
examples/lfric/eg16/Makefile
examples/lfric/eg16/README.md
examples/lfric/eg16/create.py
examples/lfric/eg17/Makefile
examples/lfric/eg17/README.md
examples/lfric/eg17/full_example/Makefile
examples/lfric/eg17/full_example/README.md
examples/lfric/eg17/full_example/main.x90
examples/lfric/eg17/full_example/testkern_w0_kernel_mod.f90
examples/lfric/eg17/full_example_extract/Makefile
examples/lfric/eg17/full_example_extract/README.md
examples/lfric/eg17/full_example_extract/dummy_mod.f90
examples/lfric/eg17/full_example_extract/extract_transform.py
examples/lfric/eg17/full_example_extract/main.X90
examples/lfric/eg17/full_example_extract/testkern_w0_kernel_mod.f90
examples/lfric/eg17/full_example_netcdf/Makefile
examples/lfric/eg17/full_example_netcdf/README.md
examples/lfric/eg17/full_example_netcdf/main.x90
examples/lfric/eg17/full_example_netcdf/testkern_w0_kernel_mod.f90
examples/lfric/eg18/Makefile
examples/lfric/eg18/advection_alg_mod.x90
examples/lfric/eg18/impose_min_flux_kernel_mod.f90
examples/lfric/eg19/Makefile
examples/lfric/eg19/algorithm.x90
examples/lfric/eg19/mixed_kernel_mod.f90
examples/lfric/eg2/Makefile
examples/lfric/eg2/loop_fuse_trans.py
examples/lfric/eg2/module_inline_trans.py
examples/lfric/eg2/multi_invoke_mod.x90
examples/lfric/eg2/print_psyir_trans.py
examples/lfric/eg20/Makefile
examples/lfric/eg3/Makefile
examples/lfric/eg3/colouring_and_omp.py
examples/lfric/eg3/matrix_vector_mm_kernel_mod.F90
examples/lfric/eg3/solver_mod.x90
examples/lfric/eg3/w3_solver_kernel_mod.F90
examples/lfric/eg4/Makefile
examples/lfric/eg4/backends_transform.py
examples/lfric/eg4/enforce_bc_kernel_mod.f90
examples/lfric/eg4/matrix_vector_kernel_mod.F90
examples/lfric/eg4/mm_diagonal_kernel_mod.F90
examples/lfric/eg4/solver_mod.x90
examples/lfric/eg5/Makefile
examples/lfric/eg5/alg.f90
examples/lfric/eg5/conservative_flux_kernel_mod.F90
examples/lfric/eg5/subgrid_coeffs_kernel_mod.F90
examples/lfric/eg6/Makefile
examples/lfric/eg6/alg.x90
examples/lfric/eg6/omp_reprod_script.py
examples/lfric/eg6/omp_script.py
examples/lfric/eg7/Makefile
examples/lfric/eg7/alg.x90
examples/lfric/eg7/columnwise_op_app_kernel_mod.F90
examples/lfric/eg7/columnwise_op_asm_kernel_mod.F90
examples/lfric/eg7/columnwise_op_mul_kernel_mod.F90
examples/lfric/eg7/matrix_vector_kernel_mod.F90
examples/lfric/eg8/Makefile
examples/lfric/eg8/apply_variable_hx_kernel_mod.F90
examples/lfric/eg8/enforce_bc_kernel_mod.F90
examples/lfric/eg8/helmholtz_solver_alg_mod.x90
examples/lfric/eg8/redundant_script.py
examples/lfric/eg8/scaled_matrix_vector_kernel_mod.F90
examples/lfric/eg9/Makefile
examples/lfric/eg9/advective_inc_alg_mod.x90
examples/lfric/eg9/colouring_and_omp.py
examples/lfric/eg9/matrix_vector_kernel_mod.F90
examples/lfric/eg9/rtheta_bd_kernel_mod.F90
examples/lfric/eg9/rtheta_kernel_mod.F90
examples/lfric/eg9/rtheta_wtheta_kernel_mod.F90
examples/lfric/eg9/sample_poly_adv_kernel_mod.F90
examples/lfric/scripts/Makefile
examples/lfric/scripts/README.md
examples/lfric/scripts/async_halo_exchanges.py
examples/lfric/scripts/colouring_and_omp.py
examples/lfric/scripts/compare_ouput.py
examples/lfric/scripts/does_nothing.py
examples/lfric/scripts/everything_everywhere_all_at_once.py
examples/lfric/scripts/extract_script.py
examples/lfric/scripts/gpu_offloading.py
examples/lfric/scripts/inline_kernels_and_intrinsics.py
examples/lfric/scripts/kernel_print.py
examples/lfric/scripts/loop_fuse.py
examples/lfric/scripts/redundant_dofs.py
examples/lfric/scripts/redundant_setval_c.py
examples/lfric/scripts/tiledcolouring_and_omp.py
examples/nemo/Makefile
examples/nemo/README.md
examples/nemo/code/tra_adv.F90
examples/nemo/code/traldf_iso.F90
examples/nemo/eg1/Makefile
examples/nemo/eg1/README.md
examples/nemo/eg1/openmp_cpu_levels_trans.py
examples/nemo/eg1/openmp_gpu_levels_trans.py
examples/nemo/eg2/Makefile
examples/nemo/eg2/README.md
examples/nemo/eg2/omp_levels_trans.py
examples/nemo/eg3/Makefile
examples/nemo/eg3/README.md
examples/nemo/eg3/kernel_utils.py
examples/nemo/eg3/kernels_trans.py
examples/nemo/eg4/Makefile
examples/nemo/eg4/README.md
examples/nemo/eg4/copy_stencil.f90
examples/nemo/eg4/dawn_script.py
examples/nemo/eg4/hori_diff.f90
examples/nemo/eg4/if_example.f90
examples/nemo/eg4/intrinsic_example.f90
examples/nemo/eg4/sir_trans.py
examples/nemo/eg4/sir_trans_all.py
examples/nemo/eg4/sir_trans_loop.py
examples/nemo/eg4/tra_adv_compute.F90
examples/nemo/eg4/tridiagonal_solve.f90
examples/nemo/eg5/Makefile
examples/nemo/eg5/README.md
examples/nemo/eg5/extract_kernels.py
examples/nemo/eg6/Makefile
examples/nemo/eg6/README.md
examples/nemo/eg6/dummy.f90
examples/nemo/eg6/read_only_check.py
examples/nemo/eg7/Makefile
examples/nemo/eg7/README.md
examples/nemo/eg7/openmp_cpu_nowait_trans.py
examples/nemo/eg7/openmp_gpu_nowait_trans.py
examples/nemo/scripts/Makefile
examples/nemo/scripts/acc_kernels_trans.py
examples/nemo/scripts/acc_loops_trans.py
examples/nemo/scripts/compare_ouput.py
examples/nemo/scripts/omp_cpu_trans.py
examples/nemo/scripts/omp_gpu_trans.py
examples/nemo/scripts/passthrough.py
examples/nemo/scripts/utils.py
examples/psyad/Makefile
examples/psyad/README.md
examples/psyad/eg1/Makefile
examples/psyad/eg1/README.md
examples/psyad/eg1/testkern_mod.f90
examples/psyad/eg2/Makefile
examples/psyad/eg2/README.md
examples/psyad/eg2/tl_hydrostatic_kernel_mod.F90
examples/psyad/lfric/Makefile
examples/psyad/lfric/README.md
examples/psyad/lfric/adjoint/README.md
examples/psyad/lfric/adjoint/adj_calc_exner_pointwise_mod.F90
examples/psyad/lfric/adjoint/adj_convert_hdiv_field_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_dg_inc_matrix_vector_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_helmholtz_operator_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_kinetic_energy_gradient_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_matrix_vector_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_moist_dyn_gas_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_poly1d_reconstruction_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_poly1d_vert_adv_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_poly1d_vert_w3_reconstruction_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_poly2d_reconstruction_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_poly_advective_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_pressure_gradient_bd_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_project_eos_pressure_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_rhs_project_eos_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_rhs_sample_eos_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_sample_eos_pressure_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_strong_curl_kernel_mod.F90
examples/psyad/lfric/adjoint/adj_vorticity_advection_kernel_mod.F90
examples/psyad/lfric/adjoint/lbl_adj_poly1d_w3_reconstruction_kernel_mod.F90
examples/psyad/lfric/adjoint/lbl_adj_poly2d_reconstruction_kernel_mod.F90
examples/psyad/lfric/adjoint/lbl_adj_poly2d_w3_reconstruction_kernel_mod.F90
examples/psyad/lfric/adjoint/lbl_adj_pressure_gradient_bd_kernel_mod.F90
examples/psyad/lfric/adjoint_partial/README.md
examples/psyad/lfric/tangent_linear/Makefile
examples/psyad/lfric/tangent_linear/README.md
examples/psyad/lfric/tangent_linear/apply_helmholtz_operator_kernel_mod.F90
examples/psyad/lfric/tangent_linear/combine_w2_field_kernel_mod.F90
examples/psyad/lfric/tangent_linear/convert_hdiv_field_kernel_mod.F90
examples/psyad/lfric/tangent_linear/dg_inc_matrix_vector_kernel_mod.F90
examples/psyad/lfric/tangent_linear/dg_matrix_vector_kernel_mod.F90
examples/psyad/lfric/tangent_linear/helmholtz_operator_kernel_mod.F90
examples/psyad/lfric/tangent_linear/matrix_vector_kernel_mod.F90
examples/psyad/lfric/tangent_linear/poly1d_reconstruction_kernel_mod.F90
examples/psyad/lfric/tangent_linear/poly1d_w3_reconstruction_kernel_mod.F90
examples/psyad/lfric/tangent_linear/poly2d_reconstruction_kernel_mod.F90
examples/psyad/lfric/tangent_linear/poly2d_w3_reconstruction_kernel_mod.F90
examples/psyad/lfric/tangent_linear/poly_adv_update_kernel_mod.F90
examples/psyad/lfric/tangent_linear/sample_flux_kernel_mod.F90
examples/psyad/lfric/tangent_linear/split_w2_field_kernel_mod.F90
examples/psyad/lfric/tangent_linear/strong_curl_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tl_calc_exner_pointwise_mod.F90
examples/psyad/lfric/tangent_linear/tl_hydrostatic_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tl_kinetic_energy_gradient_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tl_moist_dyn_gas_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tl_moist_dyn_mass_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tl_poly1d_vert_adv_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tl_poly1d_vert_w3_reconstruction_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tl_poly_advective_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tl_pressure_gradient_bd_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tl_project_eos_pressure_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tl_rhs_project_eos_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tl_rhs_sample_eos_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tl_sample_eos_pressure_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tl_vorticity_advection_kernel_mod.F90
examples/psyad/lfric/tangent_linear/tracer_viscosity_kernel_mod.F90
examples/psyad/lfric/tangent_linear/transpose_matrix_vector_kernel_mod.F90
examples/psyad/lfric/tangent_linear/w2_to_w1_projection_kernel_mod.F90
examples/psyad/lfric/tangent_linear/w3_advective_update_kernel_mod.F90
examples/psyad/lfric/tangent_linear_tweaked/Makefile
examples/psyad/lfric/tangent_linear_tweaked/README.md
examples/psyad/lfric/tangent_linear_tweaked/convert_hdiv_field_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/dg_inc_matrix_vector_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/matrix_vector_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/poly1d_reconstruction_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/poly1d_w3_reconstruction_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/poly2d_reconstruction_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/poly2d_w3_reconstruction_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/poly_adv_update_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/tl_calc_exner_pointwise_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/tl_kinetic_energy_gradient_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/tl_moist_dyn_gas_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/tl_poly1d_vert_adv_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/tl_poly1d_vert_w3_reconstruction_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/tl_pressure_gradient_bd_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/tl_project_eos_pressure_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/tl_rhs_project_eos_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/tl_sample_eos_pressure_kernel_mod_tweaked.F90
examples/psyad/lfric/tangent_linear_tweaked/tl_vorticity_advection_kernel_mod_tweaked.F90
examples/psyir/Makefile
examples/psyir/README.md
examples/psyir/create.py
examples/psyir/create_structure_types.py
examples/psyir/modify.py
examples/psyir/matmul/Makefile
examples/psyir/matmul/matmul.F90
examples/psyir/matmul/omp-tile.py
examples/psyir/matmul/omp.py
examples/psyir/matmul/tile.py
examples/psyir/transpose/Makefile
examples/psyir/transpose/omp-tile.py
examples/psyir/transpose/omp.py
examples/psyir/transpose/tile.py
examples/psyir/transpose/trans.F90
examples/stub_generation/Makefile
examples/stub_generation/README.md
examples/stub_generation/testkern_stencil_multi_mod.f90
examples/xdsl/Makefile
examples/xdsl/README.md
examples/xdsl/stencil_lower.py
examples/xdsl/xdsl_backends_transform.py
examples/xdsl/backend/__init__.py
examples/xdsl/backend/xdsl.py
examples/xdsl/pw_advection/Makefile
examples/xdsl/pw_advection/advection_mpi.F90
lib/Makefile
lib/README.md
lib/get_python.sh
lib/process.py
lib/psy_data_base.jinja
lib/extract/Makefile
lib/extract/README.md
lib/extract/compare_variables_mod.jinja
lib/extract/test_compare.f90
lib/extract/ascii/Makefile
lib/extract/ascii/extract_ascii_base.jinja
lib/extract/ascii/read_kernel_data_mod.jinja
lib/extract/ascii/dl_esm_inf/Makefile
lib/extract/ascii/dl_esm_inf/README.md
lib/extract/ascii/dl_esm_inf/kernel_data_ascii.f90
lib/extract/ascii/generic/Makefile
lib/extract/ascii/generic/README.md
lib/extract/ascii/generic/kernel_data_ascii.f90
lib/extract/ascii/lfric/Makefile
lib/extract/ascii/lfric/README.md
lib/extract/ascii/lfric/kernel_data_ascii.jinja
lib/extract/binary/Makefile
lib/extract/binary/extract_binary_base.jinja
lib/extract/binary/read_kernel_data_mod.jinja
lib/extract/binary/dl_esm_inf/Makefile
lib/extract/binary/dl_esm_inf/README.md
lib/extract/binary/dl_esm_inf/kernel_data_binary.f90
lib/extract/binary/generic/Makefile
lib/extract/binary/generic/README.md
lib/extract/binary/generic/kernel_data_binary.f90
lib/extract/binary/lfric/Makefile
lib/extract/binary/lfric/README.md
lib/extract/binary/lfric/compare_variables_mod.F90
lib/extract/binary/lfric/kernel_data_binary.jinja
lib/extract/binary/lfric/read_kernel_data_mod.f90
lib/extract/netcdf/Makefile
lib/extract/netcdf/README.md
lib/extract/netcdf/extract_netcdf_base.jinja
lib/extract/netcdf/read_kernel_data_mod.f90
lib/extract/netcdf/read_kernel_data_mod.jinja
lib/extract/netcdf/dl_esm_inf/Makefile
lib/extract/netcdf/dl_esm_inf/README.md
lib/extract/netcdf/dl_esm_inf/kernel_data_netcdf.f90
lib/extract/netcdf/generic/Makefile
lib/extract/netcdf/generic/README.md
lib/extract/netcdf/generic/kernel_data_netcdf.f90
lib/extract/netcdf/lfric/Makefile
lib/extract/netcdf/lfric/README.md
lib/extract/netcdf/lfric/kernel_data_netcdf.jinja
lib/profiling/Makefile
lib/profiling/README.md
lib/profiling/dl_timer/Makefile
lib/profiling/dl_timer/README.md
lib/profiling/dl_timer/dl_timer.f90
lib/profiling/drhook/Makefile
lib/profiling/drhook/README.md
lib/profiling/drhook/drhook_psy.f90
lib/profiling/lfric_timer/Makefile
lib/profiling/lfric_timer/README.md
lib/profiling/lfric_timer/profile_psy_data_mod.F90
lib/profiling/nvidia/Makefile
lib/profiling/nvidia/README.md
lib/profiling/nvidia/nvtx_prof.f90
lib/profiling/simple_timing/Makefile
lib/profiling/simple_timing/README.md
lib/profiling/simple_timing/simple_timing.f90
lib/profiling/tau/Makefile
lib/profiling/tau/README.md
lib/profiling/tau/tau_psy.f90
lib/profiling/template/Makefile
lib/profiling/template/README.md
lib/profiling/template/dummy_lib.f90
lib/profiling/vernier/Makefile
lib/profiling/vernier/README.md
lib/profiling/vernier/vernier_psy.f90
lib/read_only/Makefile
lib/read_only/README.md
lib/read_only/read_only_base.jinja
lib/read_only/dl_esm_inf/Makefile
lib/read_only/dl_esm_inf/README.md
lib/read_only/dl_esm_inf/read_only.f90
lib/read_only/generic/Makefile
lib/read_only/generic/README.md
lib/read_only/generic/read_only.f90
lib/read_only/lfric/Makefile
lib/read_only/lfric/README.md
lib/read_only/lfric/read_only.jinja
lib/value_range_check/Makefile
lib/value_range_check/README.md
lib/value_range_check/value_range_check_base.jinja
lib/value_range_check/dl_esm_inf/Makefile
lib/value_range_check/dl_esm_inf/README.md
lib/value_range_check/dl_esm_inf/value_range_check.f90
lib/value_range_check/lfric/Makefile
lib/value_range_check/lfric/README.md
lib/value_range_check/lfric/value_range_check.jinja
src/PSyclone.egg-info/PKG-INFO
src/PSyclone.egg-info/SOURCES.txt
src/PSyclone.egg-info/dependency_links.txt
src/PSyclone.egg-info/requires.txt
src/PSyclone.egg-info/top_level.txt
src/psyclone/__init__.py
src/psyclone/alg_gen.py
src/psyclone/configuration.py
src/psyclone/docstring_parser.py
src/psyclone/doxy_main_page.py
src/psyclone/errors.py
src/psyclone/expression.py
src/psyclone/gen_kernel_stub.py
src/psyclone/generator.py
src/psyclone/gocean1p0.py
src/psyclone/kernel_tools.py
src/psyclone/lfric.py
src/psyclone/line_length.py
src/psyclone/profiler.py
src/psyclone/psyGen.py
src/psyclone/psyclonefc_cli.py
src/psyclone/transformations.py
src/psyclone/utils.py
src/psyclone/version.py
src/psyclone/core/__init__.py
src/psyclone/core/access_sequence.py
src/psyclone/core/access_type.py
src/psyclone/core/component_indices.py
src/psyclone/core/signature.py
src/psyclone/core/symbolic_maths.py
src/psyclone/core/variables_access_map.py
src/psyclone/domain/__init__.py
src/psyclone/domain/common/__init__.py
src/psyclone/domain/common/driver_creator.py
src/psyclone/domain/common/algorithm/__init__.py
src/psyclone/domain/common/algorithm/psyir.py
src/psyclone/domain/common/psylayer/__init__.py
src/psyclone/domain/common/psylayer/psyloop.py
src/psyclone/domain/common/transformations/__init__.py
src/psyclone/domain/common/transformations/alg_invoke_2_psy_call_trans.py
src/psyclone/domain/common/transformations/alg_trans.py
src/psyclone/domain/common/transformations/kernel_module_inline_trans.py
src/psyclone/domain/common/transformations/raise_psyir_2_alg_trans.py
src/psyclone/domain/gocean/__init__.py
src/psyclone/domain/gocean/go_symbol_table.py
src/psyclone/domain/gocean/gocean_constants.py
src/psyclone/domain/gocean/gocean_driver_creator.py
src/psyclone/domain/gocean/kernel/__init__.py
src/psyclone/domain/gocean/kernel/psyir.py
src/psyclone/domain/gocean/transformations/__init__.py
src/psyclone/domain/gocean/transformations/gocean_alg_invoke_2_psy_call_trans.py
src/psyclone/domain/gocean/transformations/gocean_const_loop_bounds_trans.py
src/psyclone/domain/gocean/transformations/gocean_extract_trans.py
src/psyclone/domain/gocean/transformations/gocean_loop_fuse_trans.py
src/psyclone/domain/gocean/transformations/gocean_move_iteration_boundaries_inside_kernel_trans.py
src/psyclone/domain/gocean/transformations/gocean_opencl_trans.py
src/psyclone/domain/gocean/transformations/raise_psyir_2_gocean_kern_trans.py
src/psyclone/domain/lfric/__init__.py
src/psyclone/domain/lfric/arg_index_to_metadata_index.py
src/psyclone/domain/lfric/arg_ordering.py
src/psyclone/domain/lfric/function_space.py
src/psyclone/domain/lfric/kern_call_acc_arg_list.py
src/psyclone/domain/lfric/kern_call_arg_list.py
src/psyclone/domain/lfric/kern_call_invoke_arg_list.py
src/psyclone/domain/lfric/kern_stub_arg_list.py
src/psyclone/domain/lfric/kernel_interface.py
src/psyclone/domain/lfric/lfric_arg_descriptor.py
src/psyclone/domain/lfric/lfric_builtins.py
src/psyclone/domain/lfric/lfric_cell_iterators.py
src/psyclone/domain/lfric/lfric_collection.py
src/psyclone/domain/lfric/lfric_constants.py
src/psyclone/domain/lfric/lfric_dofmaps.py
src/psyclone/domain/lfric/lfric_driver_creator.py
src/psyclone/domain/lfric/lfric_fields.py
src/psyclone/domain/lfric/lfric_halo_depths.py
src/psyclone/domain/lfric/lfric_invoke.py
src/psyclone/domain/lfric/lfric_invoke_schedule.py
src/psyclone/domain/lfric/lfric_invokes.py
src/psyclone/domain/lfric/lfric_kern.py
src/psyclone/domain/lfric/lfric_kern_call_factory.py
src/psyclone/domain/lfric/lfric_kern_metadata.py
src/psyclone/domain/lfric/lfric_loop.py
src/psyclone/domain/lfric/lfric_loop_bounds.py
src/psyclone/domain/lfric/lfric_psy.py
src/psyclone/domain/lfric/lfric_run_time_checks.py
src/psyclone/domain/lfric/lfric_scalar_args.py
src/psyclone/domain/lfric/lfric_stencils.py
src/psyclone/domain/lfric/lfric_symbol_table.py
src/psyclone/domain/lfric/lfric_types.py
src/psyclone/domain/lfric/metadata_to_arguments_rules.py
src/psyclone/domain/lfric/utils.py
src/psyclone/domain/lfric/algorithm/__init__.py
src/psyclone/domain/lfric/algorithm/lfric_alg.py
src/psyclone/domain/lfric/algorithm/psyir/__init__.py
src/psyclone/domain/lfric/algorithm/psyir/lfric_alg_invoke_call.py
src/psyclone/domain/lfric/algorithm/psyir/lfric_kernel_functor.py
src/psyclone/domain/lfric/kernel/__init__.py
src/psyclone/domain/lfric/kernel/columnwise_operator_arg_metadata.py
src/psyclone/domain/lfric/kernel/common_arg_metadata.py
src/psyclone/domain/lfric/kernel/common_declaration_metadata.py
src/psyclone/domain/lfric/kernel/common_meta_arg_metadata.py
src/psyclone/domain/lfric/kernel/common_metadata.py
src/psyclone/domain/lfric/kernel/evaluator_targets_metadata.py
src/psyclone/domain/lfric/kernel/field_arg_metadata.py
src/psyclone/domain/lfric/kernel/field_vector_arg_metadata.py
src/psyclone/domain/lfric/kernel/inter_grid_arg_metadata.py
src/psyclone/domain/lfric/kernel/inter_grid_vector_arg_metadata.py
src/psyclone/domain/lfric/kernel/lfric_kernel_metadata.py
src/psyclone/domain/lfric/kernel/meta_args_metadata.py
src/psyclone/domain/lfric/kernel/meta_funcs_arg_metadata.py
src/psyclone/domain/lfric/kernel/meta_funcs_metadata.py
src/psyclone/domain/lfric/kernel/meta_mesh_arg_metadata.py
src/psyclone/domain/lfric/kernel/meta_mesh_metadata.py
src/psyclone/domain/lfric/kernel/meta_ref_element_arg_metadata.py
src/psyclone/domain/lfric/kernel/meta_ref_element_metadata.py
src/psyclone/domain/lfric/kernel/operates_on_metadata.py
src/psyclone/domain/lfric/kernel/operator_arg_metadata.py
src/psyclone/domain/lfric/kernel/psyir.py
src/psyclone/domain/lfric/kernel/scalar_arg_metadata.py
src/psyclone/domain/lfric/kernel/scalar_array_arg_metadata.py
src/psyclone/domain/lfric/kernel/shapes_metadata.py
src/psyclone/domain/lfric/transformations/__init__.py
src/psyclone/domain/lfric/transformations/lfric_alg_invoke_2_psy_call_trans.py
src/psyclone/domain/lfric/transformations/lfric_alg_trans.py
src/psyclone/domain/lfric/transformations/lfric_extract_trans.py
src/psyclone/domain/lfric/transformations/lfric_loop_fuse_trans.py
src/psyclone/domain/lfric/transformations/raise_psyir_2_lfric_alg_trans.py
src/psyclone/domain/lfric/transformations/raise_psyir_2_lfric_kern_trans.py
src/psyclone/parse/__init__.py
src/psyclone/parse/algorithm.py
src/psyclone/parse/file_info.py
src/psyclone/parse/kernel.py
src/psyclone/parse/lfric_builtins_mod.f90
src/psyclone/parse/module_info.py
src/psyclone/parse/module_manager.py
src/psyclone/parse/utils.py
src/psyclone/psyad/__init__.py
src/psyclone/psyad/adjoint_visitor.py
src/psyclone/psyad/main.py
src/psyclone/psyad/tl2ad.py
src/psyclone/psyad/utils.py
src/psyclone/psyad/domain/__init__.py
src/psyclone/psyad/domain/common/__init__.py
src/psyclone/psyad/domain/common/adjoint_utils.py
src/psyclone/psyad/domain/lfric/__init__.py
src/psyclone/psyad/domain/lfric/lfric_adjoint.py
src/psyclone/psyad/domain/lfric/lfric_adjoint_harness.py
src/psyclone/psyad/transformations/__init__.py
src/psyclone/psyad/transformations/adjoint_trans.py
src/psyclone/psyad/transformations/assignment_trans.py
src/psyclone/psyad/transformations/preprocess.py
src/psyclone/psyad/transformations/tangent_linear_error.py
src/psyclone/psyir/__init__.py
src/psyclone/psyir/commentable_mixin.py
src/psyclone/psyir/backend/__init__.py
src/psyclone/psyir/backend/c.py
src/psyclone/psyir/backend/debug_writer.py
src/psyclone/psyir/backend/fortran.py
src/psyclone/psyir/backend/language_writer.py
src/psyclone/psyir/backend/opencl.py
src/psyclone/psyir/backend/sir.py
src/psyclone/psyir/backend/sympy_writer.py
src/psyclone/psyir/backend/visitor.py
src/psyclone/psyir/frontend/__init__.py
src/psyclone/psyir/frontend/fortran.py
src/psyclone/psyir/frontend/fparser2.py
src/psyclone/psyir/frontend/sympy_reader.py
src/psyclone/psyir/nodes/__init__.py
src/psyclone/psyir/nodes/acc_clauses.py
src/psyclone/psyir/nodes/acc_directives.py
src/psyclone/psyir/nodes/acc_mixins.py
src/psyclone/psyir/nodes/array_member.py
src/psyclone/psyir/nodes/array_mixin.py
src/psyclone/psyir/nodes/array_of_structures_member.py
src/psyclone/psyir/nodes/array_of_structures_mixin.py
src/psyclone/psyir/nodes/array_of_structures_reference.py
src/psyclone/psyir/nodes/array_reference.py
src/psyclone/psyir/nodes/assignment.py
src/psyclone/psyir/nodes/atomic_mixin.py
src/psyclone/psyir/nodes/call.py
src/psyclone/psyir/nodes/clause.py
src/psyclone/psyir/nodes/codeblock.py
src/psyclone/psyir/nodes/container.py
src/psyclone/psyir/nodes/data_sharing_attribute_mixin.py
src/psyclone/psyir/nodes/datanode.py
src/psyclone/psyir/nodes/directive.py
src/psyclone/psyir/nodes/dynamic_omp_task_directive.py
src/psyclone/psyir/nodes/extract_node.py
src/psyclone/psyir/nodes/file_container.py
src/psyclone/psyir/nodes/if_block.py
src/psyclone/psyir/nodes/intrinsic_call.py
src/psyclone/psyir/nodes/kernel_schedule.py
src/psyclone/psyir/nodes/literal.py
src/psyclone/psyir/nodes/loop.py
src/psyclone/psyir/nodes/member.py
src/psyclone/psyir/nodes/node.py
src/psyclone/psyir/nodes/omp_clauses.py
src/psyclone/psyir/nodes/omp_directives.py
src/psyclone/psyir/nodes/omp_task_directive.py
src/psyclone/psyir/nodes/operation.py
src/psyclone/psyir/nodes/profile_node.py
src/psyclone/psyir/nodes/psy_data_node.py
src/psyclone/psyir/nodes/ranges.py
src/psyclone/psyir/nodes/read_only_verify_node.py
src/psyclone/psyir/nodes/reference.py
src/psyclone/psyir/nodes/return_stmt.py
src/psyclone/psyir/nodes/routine.py
src/psyclone/psyir/nodes/schedule.py
src/psyclone/psyir/nodes/scoping_node.py
src/psyclone/psyir/nodes/statement.py
src/psyclone/psyir/nodes/structure_accessor_mixin.py
src/psyclone/psyir/nodes/structure_member.py
src/psyclone/psyir/nodes/structure_reference.py
src/psyclone/psyir/nodes/value_range_check_node.py
src/psyclone/psyir/nodes/while_loop.py
src/psyclone/psyir/symbols/__init__.py
src/psyclone/psyir/symbols/containersymbol.py
src/psyclone/psyir/symbols/data_type_symbol.py
src/psyclone/psyir/symbols/datasymbol.py
src/psyclone/psyir/symbols/datatypes.py
src/psyclone/psyir/symbols/generic_interface_symbol.py
src/psyclone/psyir/symbols/interfaces.py
src/psyclone/psyir/symbols/intrinsic_symbol.py
src/psyclone/psyir/symbols/routinesymbol.py
src/psyclone/psyir/symbols/symbol.py
src/psyclone/psyir/symbols/symbol_table.py
src/psyclone/psyir/symbols/typed_symbol.py
src/psyclone/psyir/tools/__init__.py
src/psyclone/psyir/tools/call_tree_utils.py
src/psyclone/psyir/tools/definition_use_chains.py
src/psyclone/psyir/tools/dependency_tools.py
src/psyclone/psyir/tools/read_write_info.py
src/psyclone/psyir/tools/reduction_inference.py
src/psyclone/psyir/transformations/__init__.py
src/psyclone/psyir/transformations/acc_kernels_trans.py
src/psyclone/psyir/transformations/acc_update_trans.py
src/psyclone/psyir/transformations/allarrayaccess2loop_trans.py
src/psyclone/psyir/transformations/arrayaccess2loop_trans.py
src/psyclone/psyir/transformations/arrayassignment2loops_trans.py
src/psyclone/psyir/transformations/async_trans_mixin.py
src/psyclone/psyir/transformations/chunk_loop_trans.py
src/psyclone/psyir/transformations/debug_checksum_trans.py
src/psyclone/psyir/transformations/extract_trans.py
src/psyclone/psyir/transformations/fold_conditional_return_expressions_trans.py
src/psyclone/psyir/transformations/hoist_local_arrays_trans.py
src/psyclone/psyir/transformations/hoist_loop_bound_expr_trans.py
src/psyclone/psyir/transformations/hoist_trans.py
src/psyclone/psyir/transformations/increase_rank_loop_arrays_trans.py
src/psyclone/psyir/transformations/inline_trans.py
src/psyclone/psyir/transformations/loop_fuse_trans.py
src/psyclone/psyir/transformations/loop_swap_trans.py
src/psyclone/psyir/transformations/loop_tiling_2d_trans.py
src/psyclone/psyir/transformations/loop_tiling_trans.py
src/psyclone/psyir/transformations/loop_trans.py
src/psyclone/psyir/transformations/mark_routine_for_gpu_mixin.py
src/psyclone/psyir/transformations/omp_declare_target_trans.py
src/psyclone/psyir/transformations/omp_loop_trans.py
src/psyclone/psyir/transformations/omp_minimise_sync_trans.py
src/psyclone/psyir/transformations/omp_target_trans.py
src/psyclone/psyir/transformations/omp_task_trans.py
src/psyclone/psyir/transformations/omp_taskloop_trans.py
src/psyclone/psyir/transformations/omp_taskwait_trans.py
src/psyclone/psyir/transformations/parallel_loop_trans.py
src/psyclone/psyir/transformations/parallel_region_trans.py
src/psyclone/psyir/transformations/profile_trans.py
src/psyclone/psyir/transformations/psy_data_trans.py
src/psyclone/psyir/transformations/read_only_verify_trans.py
src/psyclone/psyir/transformations/reference2arrayrange_trans.py
src/psyclone/psyir/transformations/region_trans.py
src/psyclone/psyir/transformations/replace_induction_variables_trans.py
src/psyclone/psyir/transformations/replace_reference_by_literal_trans.py
src/psyclone/psyir/transformations/scalarisation_trans.py
src/psyclone/psyir/transformations/transformation_error.py
src/psyclone/psyir/transformations/value_range_check_trans.py
src/psyclone/psyir/transformations/intrinsics/__init__.py
src/psyclone/psyir/transformations/intrinsics/abs2code_trans.py
src/psyclone/psyir/transformations/intrinsics/array_reduction_base_trans.py
src/psyclone/psyir/transformations/intrinsics/dotproduct2code_trans.py
src/psyclone/psyir/transformations/intrinsics/intrinsic2code_trans.py
src/psyclone/psyir/transformations/intrinsics/matmul2code_trans.py
src/psyclone/psyir/transformations/intrinsics/max2code_trans.py
src/psyclone/psyir/transformations/intrinsics/maxval2loop_trans.py
src/psyclone/psyir/transformations/intrinsics/min2code_trans.py
src/psyclone/psyir/transformations/intrinsics/minormax2code_trans.py
src/psyclone/psyir/transformations/intrinsics/minval2loop_trans.py
src/psyclone/psyir/transformations/intrinsics/product2loop_trans.py
src/psyclone/psyir/transformations/intrinsics/sign2code_trans.py
src/psyclone/psyir/transformations/intrinsics/sum2loop_trans.py
tutorial/notebooks/introduction.ipynb
tutorial/notebooks/fparser2/parsing_fortran.ipynb
tutorial/notebooks/nemo/nemo_example1.ipynb
tutorial/notebooks/nemo/nemo_example2.ipynb
tutorial/notebooks/nemo/nemo_example3.ipynb
tutorial/notebooks/nemo/nemo_example4.ipynb
tutorial/notebooks/psyir/psyir_example1.ipynb
tutorial/notebooks/psyir/psyir_example2.ipynb