From 05c7afddb935bc33845c0a044aaa21a9c3bb9d9c Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Mon, 7 Apr 2025 14:15:31 +0100 Subject: [PATCH 1/5] remove broken links from list of training several of the links in the online courses were either dead or pointing to expired, in person courses with no access to the training materials. These have now been removed --- data/learning.yml | 46 ---------------------------------------------- 1 file changed, 46 deletions(-) diff --git a/data/learning.yml b/data/learning.yml index 6d1bcfca7633..18c70ee66033 100644 --- a/data/learning.yml +++ b/data/learning.yml @@ -326,9 +326,6 @@ reference-courses: description: >- course offered at the Leibniz-Rechenzentrum - - name: "PRACE Course: Fortran for Scientific Computing" - url: https://www.futurelearn.com/courses/fortran-for-scientific-computing - - name: "PRACE Course: Advanced Fortran Topics" url: https://doku.lrz.de/display/PUBLIC/PRACE+Course%3A+Advanced+Fortran+Topics @@ -337,11 +334,6 @@ reference-courses: description: >- modern Fortran for developing an extensible library that can be used to solve conservation laws (PDEs) using spectral and spectral element methods - - name: "Kursmaterial für Wissenschaftliches Programmieren (Modern Fortran, 2017)" - url: https://www.bccms.uni-bremen.de/cms/people/b-aradi/wissen-progr/modern-fortran/2017 - description: >- - from Bálint Aradi at Bremen Center for Computational Materials Science (German) - - name: "Formations Fortran" url: http://www.idris.fr/formations/fortran/ description: >- @@ -370,17 +362,9 @@ reference-courses: description: >- by Philipp Engel - - name: "2018 Workshop on Fortran Modernization for Scientific Applications" - url: https://tcevents.chem.uzh.ch/event/3/ - - name: "Introduction to Programming using Fortran 95/2003/2008" url: http://www.egr.unlv.edu/~ed/fortran.html - - name: "Scientific Programing and Numerical Computation" - url: http://homepage.ntu.edu.tw/~wttsai/fortran/ - description: >- - course by Wu-ting Tsai from National Taiwan University - - name: "Introduction to Modern Fortran" url: https://www-uxsup.csx.cam.ac.uk/courses/moved.Fortran/ description: >- @@ -402,31 +386,11 @@ reference-courses: description: >- course by Anton Shterenlikht from the University of Bristol - - name: "Professional Programmer's Guide to Fortran77" - url: https://www.star.le.ac.uk/~cgp/prof77.html - description: >- - by Clive G. Page, University of Leicester, UK - - - name: "Fortran90 for Fortran77 Programmers" - url: https://www.star.le.ac.uk/~cgp/f90course/f90.html - description: >- - by Clive G. Page - - - name: "Introduction to Computer Programming Using Fortran 95" - url: https://www.archer.ac.uk/training/course-material/2014/08/F95_CCFE/Fortran95CourseNotes.pdf - description: >- - training materials from ARCHER, the UK National Supercomputing Service - - name: "Combining Object-Oriented Techniques with Co-arrays in Fortran 2008" url: https://www.ecmwf.int/sites/default/files/elibrary/2008/15361-combining-object-oriented-techniques-co-arrays-fortran.pdf description: >- by Robert W. Numrich - - name: "Parallel programming in Fortran with Coarrays" - url: ftp://ftp.numerical.rl.ac.uk/pub/talks/jkr.reading.5XI08.pdf - description: >- - by John Reid - - name: "Introduction to Co-Array Fortran" url: https://faculty.csbsju.edu/mheroux/fall2011_csci317/NumrichCafTalk.pdf description: >- @@ -437,21 +401,11 @@ reference-courses: description: >- by Bo Einarsson and Yurij Shokin - - name: "Fortran Tutorial" - url: https://www.tat.physik.uni-tuebingen.de/~kley/lehre/ftn77/tutorial/ - description: >- - older tutorial by Erik Boman, Stanford University - - name: "Fortran 90 Tutorial" url: https://web.stanford.edu/class/me200c/tutorial_90/ description: >- older tutorial by Paul Hargrove and Sarah Whitlock, Stanford University - - name: "Fortran 90 Tutorial" - url: https://pages.mtu.edu/%7eshene/COURSES/cs201/NOTES/fortran.html - description: >- - by C.-K. Shene, Michigan Technologial University - - name: "Exploring Modern Fortran Basics" url: https://www.manning.com/books/exploring-modern-fortran-basics description: >- From 98e7440b64ad6b8bdfeff2bbed1d5cfc79e8e798 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Mon, 7 Apr 2025 14:43:33 +0100 Subject: [PATCH 2/5] Change the title of training courses to materials The materials linked under the heading "training courses" were not really courses: they were materials from courses, lecture slides, youtube videos etc. The title has now been changed to "Online Training Materials" --- source/learn.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/learn.md b/source/learn.md index a39a7db50256..cf7de3bf6f48 100644 --- a/source/learn.md +++ b/source/learn.md @@ -145,7 +145,7 @@ On the web :::{div} sd-fs-4 sd-font-weight-bold sd-text-primary -Online Courses +Online Training Materials ::: :::{jinja} conf From 1f469e6b8c14fd9a605f803c34633f1cd1942933 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Mon, 7 Apr 2025 15:14:27 +0100 Subject: [PATCH 3/5] Add list of training providers --- data/learning.yml | 25 +++++++++++++++++++++++++ source/learn.md | 15 +++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/data/learning.yml b/data/learning.yml index 18c70ee66033..ce4224b7acc5 100644 --- a/data/learning.yml +++ b/data/learning.yml @@ -320,6 +320,31 @@ reference-links: url: https://stevelionel.com/drfortran description: A collection of posts on interesting or little-understood aspects of the Fortran language +reference-course-providers: + - name: "ARCHER2 service training UK" + url: https://www.archer2.ac.uk/training/#upcoming-training + description: In-person/online courses in the UK on Fortran and related topics. + + - name: "High Performance Computing Centre Stuttgart" + url: https://www.hlrs.de/training/hpc-training + description: In-person/online courses in Germany on Fortran and HPC + + - name: "National Energy Research Scientific Computing Center (NERSC)" + url: https://www.nersc.gov/users/training/training-materials/ + description: In-person/online courses in USA on Fortran and HPC + + - name: "National Center for Atmospheric Research" + url: https://www.mmm.ucar.edu/events/tutorials + description: Training on using atmospheric modelling packages + + - name: "NASA" + url: https://astg.pages.smce.nasa.gov/website/fortran/ + description: Courses on the use of Fortran for scientific computing + + - name: "Intel" + url: https://www.intel.com/content/www/us/en/developer/tools/oneapi/tech-articles-how-to/library.html + description: collection of on-demand training and articles. + reference-courses: - name: "Programming in Fortran" url: https://doku.lrz.de/display/PUBLIC/Programming+with+Fortran diff --git a/source/learn.md b/source/learn.md index cf7de3bf6f48..7c6471400cc1 100644 --- a/source/learn.md +++ b/source/learn.md @@ -145,6 +145,21 @@ On the web :::{div} sd-fs-4 sd-font-weight-bold sd-text-primary +Training providers +::: + +:::{jinja} conf + +{% for course in reference_course_providers %} + +- [{{course.name}}]({{course.url}}) {{course.description}} + +{% endfor %} +::: + +:::{div} sd-fs-4 sd-font-weight-bold sd-text-primary + + Online Training Materials ::: From c36723be7ff1e9978f6249956b366c380c88c1ce Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Mon, 7 Apr 2025 16:00:34 +0100 Subject: [PATCH 4/5] update config to build pages correctly --- data/learning.yml | 2 +- fortran_package.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/data/learning.yml b/data/learning.yml index ce4224b7acc5..dac54b58e74f 100644 --- a/data/learning.yml +++ b/data/learning.yml @@ -343,7 +343,7 @@ reference-course-providers: - name: "Intel" url: https://www.intel.com/content/www/us/en/developer/tools/oneapi/tech-articles-how-to/library.html - description: collection of on-demand training and articles. + description: Collection of on-demand training and articles. reference-courses: - name: "Programming in Fortran" diff --git a/fortran_package.py b/fortran_package.py index 31bdff9a4707..e8b645a0f3ad 100644 --- a/fortran_package.py +++ b/fortran_package.py @@ -54,6 +54,7 @@ conf["reference_books"] = conf["reference-books"] conf["reference_courses"] = conf["reference-courses"] conf["reference_links"] = conf["reference-links"] +conf["reference_course_providers"] = conf["reference-course-providers"] with open(root / "_data" / "fortran_package.json", "w") as f: json.dump(fortran_tags, f) From 1b2ecc8441ad847011bf17ec7a45de5e8853d865 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Tue, 8 Apr 2025 14:21:26 +0100 Subject: [PATCH 5/5] Categorise course materials Added separate category for ebooks, categorised other course content e.g. (slides) (sample code) (video) --- data/learning.yml | 76 +++++++++++++++++++++++++--------------------- fortran_package.py | 1 + source/learn.md | 15 ++++++++- 3 files changed, 57 insertions(+), 35 deletions(-) diff --git a/data/learning.yml b/data/learning.yml index dac54b58e74f..4ee2710c5333 100644 --- a/data/learning.yml +++ b/data/learning.yml @@ -349,38 +349,64 @@ reference-courses: - name: "Programming in Fortran" url: https://doku.lrz.de/display/PUBLIC/Programming+with+Fortran description: >- - course offered at the Leibniz-Rechenzentrum + course offered at the Leibniz-Rechenzentrum (slides, sample code) - name: "PRACE Course: Advanced Fortran Topics" - url: https://doku.lrz.de/display/PUBLIC/PRACE+Course%3A+Advanced+Fortran+Topics + url: https://doku.lrz.de/display/PUBLIC/PRACE+Course%3A+Advanced+Fortran+Topics + description: >- + (slides, sample code) - name: "The 'F' Word - Programming in Fortran" url: https://www.youtube.com/playlist?list=PLRO4xf5MdhAv9CNTETor75rANZtBqPVgQ description: >- - modern Fortran for developing an extensible library that can be used to solve conservation laws (PDEs) using spectral and spectral element methods + modern Fortran for developing an extensible library that can be used to solve conservation laws (PDEs) using spectral and spectral element methods (video) + + - name: "Introduction to modern Fortran" + url: https://www.youtube.com/playlist?list=PLB4tvLCynFjRJchIJjKiGGhW4rI5kbmql + description: >- + Modern Fortran course delivered by Edinburgh Parallel Computing Centre (video) - name: "Formations Fortran" url: http://www.idris.fr/formations/fortran/ description: >- - Fortran course from beginner to expert level (French) + Fortran course from beginner to expert level (French) (slides, sample code) - name: "Modern Fortran Programming for Chemists and Physicists" url: http://www.chem.helsinki.fi/~manninen/fortran2014/ description: >- - course by Pekka Manninen from University of Helsinki (includes coarrays) + course by Pekka Manninen from University of Helsinki (includes coarrays) (slides, sample code) - name: "Expressing Object-Oriented Concepts in Fortran90" - url: http://www.cs.rpi.edu/~szymansk/OOF90/Forum.html + url: http://www.cs.rpi.edu/~szymansk/OOF90/Forum.html + description: >- + (course notes, sample code) - name: "Coarray tutorial" url: https://github.com/tkoenig1/coarray-tutorial/blob/main/tutorial.md description: >- - by Thomas Koenig + by Thomas Koenig (course notes, sample code) + + - name: "Introduction to Modern Fortran" + url: https://www-uxsup.csx.cam.ac.uk/courses/moved.Fortran/ + description: >- + course given by Nick Maclaren from the University of Cambridge Computing Service, + derived from a course by Steve Morgan from the University of Liverpool (slides, sample code) + + - name: "Combining Object-Oriented Techniques with Co-arrays in Fortran 2008" + url: https://www.ecmwf.int/sites/default/files/elibrary/2008/15361-combining-object-oriented-techniques-co-arrays-fortran.pdf + description: >- + by Robert W. Numrich (slides) + + - name: "Introduction to Co-Array Fortran" + url: https://faculty.csbsju.edu/mheroux/fall2011_csci317/NumrichCafTalk.pdf + description: >- + by Robert W. Numrich (slides) - - name: "Parallel Programming Workshop" - url: https://fs.hlrs.de/projects/par/par_prog_ws/ +reference-ebooks: + - name: "Exploring Modern Fortran Basics" + url: https://www.manning.com/books/exploring-modern-fortran-basics description: >- - materials from the High-Performance Computing Center in Stuttgart + by Milan Curcic, excerpt (Chapters 2, 3, and 4) from Modern Fortran - Building Efficient Parallel Applications - name: "Programming in Modern Fortran" url: https://cyber.dabamos.de/programming/modernfortran/ @@ -388,16 +414,14 @@ reference-courses: by Philipp Engel - name: "Introduction to Programming using Fortran 95/2003/2008" - url: http://www.egr.unlv.edu/~ed/fortran.html - - - name: "Introduction to Modern Fortran" - url: https://www-uxsup.csx.cam.ac.uk/courses/moved.Fortran/ - description: >- - course given by Nick Maclaren from the University of Cambridge Computing Service, - derived from a course by Steve Morgan from the University of Liverpool + url: http://www.egr.unlv.edu/~ed/fortran.html + description: >- + by Ed Jorgensen - name: "User Notes on Fortran Programming (UNFP)" - url: http://www.ibiblio.org/pub/languages/fortran/unfp.html + url: http://www.ibiblio.org/pub/languages/fortran/unfp.html + description: >- + - name: "Designing and Building Parallel Programs" url: https://www.mcs.anl.gov/~itf/dbpp/ @@ -411,16 +435,6 @@ reference-courses: description: >- course by Anton Shterenlikht from the University of Bristol - - name: "Combining Object-Oriented Techniques with Co-arrays in Fortran 2008" - url: https://www.ecmwf.int/sites/default/files/elibrary/2008/15361-combining-object-oriented-techniques-co-arrays-fortran.pdf - description: >- - by Robert W. Numrich - - - name: "Introduction to Co-Array Fortran" - url: https://faculty.csbsju.edu/mheroux/fall2011_csci317/NumrichCafTalk.pdf - description: >- - by Robert W. Numrich - - name: "Fortran 90 for the Fortran 77 Programmer" url: https://www.nsc.liu.se/~boein/f77to90/f77to90.html description: >- @@ -430,12 +444,6 @@ reference-courses: url: https://web.stanford.edu/class/me200c/tutorial_90/ description: >- older tutorial by Paul Hargrove and Sarah Whitlock, Stanford University - - - name: "Exploring Modern Fortran Basics" - url: https://www.manning.com/books/exploring-modern-fortran-basics - description: >- - by Milan Curcic, excerpt (Chapters 2, 3, and 4) from Modern Fortran - Building Efficient Parallel Applications - # Print books listed at the bottom of the 'Learn' landing page # # Note: urls are publisher's site or DOI link diff --git a/fortran_package.py b/fortran_package.py index e8b645a0f3ad..e13c6c75aa68 100644 --- a/fortran_package.py +++ b/fortran_package.py @@ -55,6 +55,7 @@ conf["reference_courses"] = conf["reference-courses"] conf["reference_links"] = conf["reference-links"] conf["reference_course_providers"] = conf["reference-course-providers"] +conf["reference_ebooks"] = conf["reference-ebooks"] with open(root / "_data" / "fortran_package.json", "w") as f: json.dump(fortran_tags, f) diff --git a/source/learn.md b/source/learn.md index 7c6471400cc1..2298e73da3d4 100644 --- a/source/learn.md +++ b/source/learn.md @@ -160,7 +160,7 @@ Training providers :::{div} sd-fs-4 sd-font-weight-bold sd-text-primary -Online Training Materials +Online Course Materials ::: :::{jinja} conf @@ -174,6 +174,19 @@ Online Training Materials :::{div} sd-fs-4 sd-font-weight-bold sd-text-primary +E-books +::: + +:::{jinja} conf + +{% for course in reference_ebooks %} + +- [{{course.name}}]({{course.url}}) {{course.description}} + +{% endfor %} +::: + +:::{div} sd-fs-4 sd-font-weight-bold sd-text-primary In print :::