forked from fortran-lang/fortran-lang.org
-
Notifications
You must be signed in to change notification settings - Fork 0
/
fortran_learn.json
1 lines (1 loc) · 33.1 KB
/
fortran_learn.json
1
{"categories": [{"name": "Getting started", "fa-icon": "fas fa-cubes"}, {"name": "Fortran Documentation", "fa-icon": "fas fa-cubes"}], "books": [{"title": "Quickstart Fortran Tutorial", "description": "An introduction to the Fortran syntax and its capabilities", "category": "Getting started", "link": "/learn/quickstart", "pages": [{"link": "/learn/quickstart/hello_world"}, {"link": "/learn/quickstart/variables"}, {"link": "/learn/quickstart/arrays_strings"}, {"link": "/learn/quickstart/operators_control_flow"}, {"link": "/learn/quickstart/organising_code"}, {"link": "/learn/quickstart/derived_types"}]}, {"title": "Building programs", "description": "How to use the compiler to build an executable program", "category": "Getting started", "link": "/learn/building_programs", "pages": [{"link": "/learn/building_programs/compiling_source"}, {"link": "/learn/building_programs/linking_pieces"}, {"link": "/learn/building_programs/runtime_libraries"}, {"link": "/learn/building_programs/include_files"}, {"link": "/learn/building_programs/managing_libraries"}, {"link": "/learn/building_programs/build_tools"}, {"link": "/learn/building_programs/project_make"}, {"link": "/learn/building_programs/distributing"}]}, {"title": "Setting up your OS", "description": "How to install a Fortran compiler and set up a development environment in Windows, Linux and macOS.", "category": "Getting started", "link": "/learn/os_setup", "pages": [{"link": "/learn/os_setup/choose_compiler"}, {"link": "/learn/os_setup/install_gfortran"}, {"link": "/learn/os_setup/text_editors"}, {"link": "/learn/os_setup/ides"}, {"link": "/learn/os_setup/tips"}]}, {"title": "Fortran Best Practices", "description": "This tutorial collects a modern canonical way of doing things in Fortran.", "category": "Getting started", "link": "/learn/best_practices", "pages": [{"link": "/learn/best_practices/style_guide"}, {"link": "/learn/best_practices/floating_point"}, {"link": "/learn/best_practices/integer_division"}, {"link": "/learn/best_practices/modules_programs"}, {"link": "/learn/best_practices/arrays"}, {"link": "/learn/best_practices/multidim_arrays"}, {"link": "/learn/best_practices/element_operations"}, {"link": "/learn/best_practices/allocatable_arrays"}, {"link": "/learn/best_practices/file_io"}, {"link": "/learn/best_practices/callbacks"}, {"link": "/learn/best_practices/type_casting"}]}, {"title": "Fortran Intrinsics", "description": "man-pages for the Fortran Intrinsics", "category": "Fortran Documentation", "link": "/learn/intrinsics", "pages": [{"link": "/learn/intrinsics/ABS"}, {"link": "/learn/intrinsics/ACHAR"}, {"link": "/learn/intrinsics/ACOSH"}, {"link": "/learn/intrinsics/ACOS"}, {"link": "/learn/intrinsics/ADJUSTL"}, {"link": "/learn/intrinsics/ADJUSTR"}, {"link": "/learn/intrinsics/AIMAG"}, {"link": "/learn/intrinsics/AINT"}, {"link": "/learn/intrinsics/ALL"}, {"link": "/learn/intrinsics/ALLOCATED"}, {"link": "/learn/intrinsics/ANINT"}, {"link": "/learn/intrinsics/ANY"}, {"link": "/learn/intrinsics/ASINH"}, {"link": "/learn/intrinsics/ASIN"}, {"link": "/learn/intrinsics/ASSOCIATED"}, {"link": "/learn/intrinsics/ATAN2"}, {"link": "/learn/intrinsics/ATANH"}, {"link": "/learn/intrinsics/ATAN"}, {"link": "/learn/intrinsics/ATOMIC_ADD"}, {"link": "/learn/intrinsics/ATOMIC_AND"}, {"link": "/learn/intrinsics/ATOMIC_CAS"}, {"link": "/learn/intrinsics/ATOMIC_DEFINE"}, {"link": "/learn/intrinsics/ATOMIC_FETCH_ADD"}, {"link": "/learn/intrinsics/ATOMIC_FETCH_AND"}, {"link": "/learn/intrinsics/ATOMIC_FETCH_OR"}, {"link": "/learn/intrinsics/ATOMIC_FETCH_XOR"}, {"link": "/learn/intrinsics/ATOMIC_OR"}, {"link": "/learn/intrinsics/ATOMIC_REF"}, {"link": "/learn/intrinsics/ATOMIC_XOR"}, {"link": "/learn/intrinsics/BESSEL_J0"}, {"link": "/learn/intrinsics/BESSEL_J1"}, {"link": "/learn/intrinsics/BESSEL_JN"}, {"link": "/learn/intrinsics/BESSEL_Y0"}, {"link": "/learn/intrinsics/BESSEL_Y1"}, {"link": "/learn/intrinsics/BESSEL_YN"}, {"link": "/learn/intrinsics/BGE"}, {"link": "/learn/intrinsics/BGT"}, {"link": "/learn/intrinsics/BIT_SIZE"}, {"link": "/learn/intrinsics/BLE"}, {"link": "/learn/intrinsics/BLT"}, {"link": "/learn/intrinsics/BTEST"}, {"link": "/learn/intrinsics/C_ASSOCIATED"}, {"link": "/learn/intrinsics/CEILING"}, {"link": "/learn/intrinsics/C_F_POINTER"}, {"link": "/learn/intrinsics/C_F_PROCPOINTER"}, {"link": "/learn/intrinsics/C_FUNLOC"}, {"link": "/learn/intrinsics/CHAR"}, {"link": "/learn/intrinsics/C_LOC"}, {"link": "/learn/intrinsics/CMPLX"}, {"link": "/learn/intrinsics/CO_BROADCAST"}, {"link": "/learn/intrinsics/CO_LBOUND"}, {"link": "/learn/intrinsics/CO_MAX"}, {"link": "/learn/intrinsics/CO_MIN"}, {"link": "/learn/intrinsics/COMMAND_ARGUMENT_COUNT"}, {"link": "/learn/intrinsics/COMPILER_OPTIONS"}, {"link": "/learn/intrinsics/COMPILER_VERSION"}, {"link": "/learn/intrinsics/CONJG"}, {"link": "/learn/intrinsics/CO_REDUCE"}, {"link": "/learn/intrinsics/COSH"}, {"link": "/learn/intrinsics/COS"}, {"link": "/learn/intrinsics/CO_SUM"}, {"link": "/learn/intrinsics/CO_UBOUND"}, {"link": "/learn/intrinsics/COUNT"}, {"link": "/learn/intrinsics/CPU_TIME"}, {"link": "/learn/intrinsics/CSHIFT"}, {"link": "/learn/intrinsics/C_SIZEOF"}, {"link": "/learn/intrinsics/DATE_AND_TIME"}, {"link": "/learn/intrinsics/DBLE"}, {"link": "/learn/intrinsics/DIGITS"}, {"link": "/learn/intrinsics/DIM"}, {"link": "/learn/intrinsics/DOT_PRODUCT"}, {"link": "/learn/intrinsics/DPROD"}, {"link": "/learn/intrinsics/DSHIFTL"}, {"link": "/learn/intrinsics/DSHIFTR"}, {"link": "/learn/intrinsics/EOSHIFT"}, {"link": "/learn/intrinsics/EPSILON"}, {"link": "/learn/intrinsics/ERFC"}, {"link": "/learn/intrinsics/ERFC_SCALED"}, {"link": "/learn/intrinsics/ERF"}, {"link": "/learn/intrinsics/EVENT_QUERY"}, {"link": "/learn/intrinsics/EXECUTE_COMMAND_LINE"}, {"link": "/learn/intrinsics/EXP"}, {"link": "/learn/intrinsics/EXPONENT"}, {"link": "/learn/intrinsics/EXTENDS_TYPE_OF"}, {"link": "/learn/intrinsics/FINDLOC"}, {"link": "/learn/intrinsics/FLOAT"}, {"link": "/learn/intrinsics/FLOOR"}, {"link": "/learn/intrinsics/FRACTION"}, {"link": "/learn/intrinsics/GAMMA"}, {"link": "/learn/intrinsics/GET_COMMAND_ARGUMENT"}, {"link": "/learn/intrinsics/GET_COMMAND"}, {"link": "/learn/intrinsics/GET_ENVIRONMENT_VARIABLE"}, {"link": "/learn/intrinsics/HUGE"}, {"link": "/learn/intrinsics/HYPOT"}, {"link": "/learn/intrinsics/IACHAR"}, {"link": "/learn/intrinsics/IALL"}, {"link": "/learn/intrinsics/IAND"}, {"link": "/learn/intrinsics/IANY"}, {"link": "/learn/intrinsics/IBCLR"}, {"link": "/learn/intrinsics/IBITS"}, {"link": "/learn/intrinsics/IBSET"}, {"link": "/learn/intrinsics/ICHAR"}, {"link": "/learn/intrinsics/IEOR"}, {"link": "/learn/intrinsics/IMAGE_INDEX"}, {"link": "/learn/intrinsics/INDEX"}, {"link": "/learn/intrinsics/INT"}, {"link": "/learn/intrinsics/IOR"}, {"link": "/learn/intrinsics/IPARITY"}, {"link": "/learn/intrinsics/IS_CONTIGUOUS"}, {"link": "/learn/intrinsics/ISHFTC"}, {"link": "/learn/intrinsics/ISHFT"}, {"link": "/learn/intrinsics/IS_IOSTAT_END"}, {"link": "/learn/intrinsics/IS_IOSTAT_EOR"}, {"link": "/learn/intrinsics/KIND"}, {"link": "/learn/intrinsics/LBOUND"}, {"link": "/learn/intrinsics/LEADZ"}, {"link": "/learn/intrinsics/LEN"}, {"link": "/learn/intrinsics/LEN_TRIM"}, {"link": "/learn/intrinsics/LGE"}, {"link": "/learn/intrinsics/LGT"}, {"link": "/learn/intrinsics/LLE"}, {"link": "/learn/intrinsics/LLT"}, {"link": "/learn/intrinsics/LOG10"}, {"link": "/learn/intrinsics/LOG_GAMMA"}, {"link": "/learn/intrinsics/LOGICAL"}, {"link": "/learn/intrinsics/LOG"}, {"link": "/learn/intrinsics/MASKL"}, {"link": "/learn/intrinsics/MASKR"}, {"link": "/learn/intrinsics/MATMUL"}, {"link": "/learn/intrinsics/MAXEXPONENT"}, {"link": "/learn/intrinsics/MAXLOC"}, {"link": "/learn/intrinsics/MAX"}, {"link": "/learn/intrinsics/MAXVAL"}, {"link": "/learn/intrinsics/MERGE_BITS"}, {"link": "/learn/intrinsics/MERGE"}, {"link": "/learn/intrinsics/MINEXPONENT"}, {"link": "/learn/intrinsics/MINLOC"}, {"link": "/learn/intrinsics/MIN"}, {"link": "/learn/intrinsics/MINVAL"}, {"link": "/learn/intrinsics/MOD"}, {"link": "/learn/intrinsics/MODULO"}, {"link": "/learn/intrinsics/MOVE_ALLOC"}, {"link": "/learn/intrinsics/MVBITS"}, {"link": "/learn/intrinsics/NEAREST"}, {"link": "/learn/intrinsics/NEW_LINE"}, {"link": "/learn/intrinsics/NINT"}, {"link": "/learn/intrinsics/NORM2"}, {"link": "/learn/intrinsics/NOT"}, {"link": "/learn/intrinsics/NULL"}, {"link": "/learn/intrinsics/NUM_IMAGES"}, {"link": "/learn/intrinsics/PACK"}, {"link": "/learn/intrinsics/PARITY"}, {"link": "/learn/intrinsics/POPCNT"}, {"link": "/learn/intrinsics/POPPAR"}, {"link": "/learn/intrinsics/PRECISION"}, {"link": "/learn/intrinsics/PRESENT"}, {"link": "/learn/intrinsics/PRODUCT"}, {"link": "/learn/intrinsics/RADIX"}, {"link": "/learn/intrinsics/RANDOM_NUMBER"}, {"link": "/learn/intrinsics/RANDOM_SEED"}, {"link": "/learn/intrinsics/RANGE"}, {"link": "/learn/intrinsics/RANK"}, {"link": "/learn/intrinsics/REAL"}, {"link": "/learn/intrinsics/REPEAT"}, {"link": "/learn/intrinsics/RESHAPE"}, {"link": "/learn/intrinsics/RRSPACING"}, {"link": "/learn/intrinsics/SAME_TYPE_AS"}, {"link": "/learn/intrinsics/SCALE"}, {"link": "/learn/intrinsics/SCAN"}, {"link": "/learn/intrinsics/SELECTED_CHAR_KIND"}, {"link": "/learn/intrinsics/SELECTED_INT_KIND"}, {"link": "/learn/intrinsics/SELECTED_REAL_KIND"}, {"link": "/learn/intrinsics/SET_EXPONENT"}, {"link": "/learn/intrinsics/SHAPE"}, {"link": "/learn/intrinsics/SHIFTA"}, {"link": "/learn/intrinsics/SHIFTL"}, {"link": "/learn/intrinsics/SHIFTR"}, {"link": "/learn/intrinsics/SIGN"}, {"link": "/learn/intrinsics/SINH"}, {"link": "/learn/intrinsics/SIN"}, {"link": "/learn/intrinsics/SIZE"}, {"link": "/learn/intrinsics/SNGL"}, {"link": "/learn/intrinsics/SPACING"}, {"link": "/learn/intrinsics/SPREAD"}, {"link": "/learn/intrinsics/SQRT"}, {"link": "/learn/intrinsics/STORAGE_SIZE"}, {"link": "/learn/intrinsics/SUM"}, {"link": "/learn/intrinsics/SYSTEM_CLOCK"}, {"link": "/learn/intrinsics/TANH"}, {"link": "/learn/intrinsics/TAN"}, {"link": "/learn/intrinsics/THIS_IMAGE"}, {"link": "/learn/intrinsics/TINY"}, {"link": "/learn/intrinsics/TRAILZ"}, {"link": "/learn/intrinsics/TRANSFER"}, {"link": "/learn/intrinsics/TRANSPOSE"}, {"link": "/learn/intrinsics/TRIM"}, {"link": "/learn/intrinsics/UBOUND"}, {"link": "/learn/intrinsics/UNPACK"}, {"link": "/learn/intrinsics/VERIFY"}]}], "reference-links": [{"name": "Fortran wiki", "url": "http://fortranwiki.org/", "description": "A rich collection of Fortran articles and resources in an editable wiki format"}, {"name": "Fortran 90 org", "url": "https://www.fortran90.org/", "description": "Fortran Best Practices guide, Python/Fortran Rosetta Stone, Fortran FAQ"}, {"name": "Fortran 2018 Standard Interpretation Document", "url": "https://j3-fortran.org/doc/year/18/18-007r1.pdf", "description": "J3/18-007r1 F2018, specification of the base Fortran 2018 language"}, {"name": "J3 Fortran Proposals", "url": "https://github.com/j3-fortran/fortran_proposals", "description": "a repository for community collaboration on proposals for the Fortran Standards Committee"}, {"name": "J3: US Fortran Standards Committee", "url": "https://j3-fortran.org/", "description": "J3 is the US National Body for the international Fortran standards committee"}, {"name": "WG5: International Fortran Standards Committee", "url": "https://wg5-fortran.org/", "description": null}, {"name": "Scivision Fortran 2018 Examples", "url": "https://github.com/scivision/fortran2018-examples", "description": "A github repository containing code samples for various Fortran 2018 features"}, {"name": "Doctor Fortran Blog", "url": "https://stevelionel.com/drfortran", "description": "A collection of posts on interesting or little-understood aspects of the Fortran language"}], "reference-courses": [{"name": "Programming in Fortran", "url": "https://doku.lrz.de/display/PUBLIC/Programming+with+Fortran", "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"}, {"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"}, {"name": "Kursmaterial f\u00fcr Wissenschaftliches Programmieren (Modern Fortran, 2017)", "url": "https://www.bccms.uni-bremen.de/cms/people/b-aradi/wissen-progr/modern-fortran/2017", "description": "from B\u00e1lint Aradi at Bremen Center for Computational Materials Science (German)"}, {"name": "Formations Fortran", "url": "http://www.idris.fr/formations/fortran/", "description": "Fortran course from beginner to expert level (French)"}, {"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)"}, {"name": "Expressing Object-Oriented Concepts in Fortran90", "url": "http://www.cs.rpi.edu/~szymansk/OOF90/Forum.html"}, {"name": "Coarray tutorial", "url": "https://github.com/tkoenig1/coarray-tutorial/blob/main/tutorial.md", "description": "by Thomas Koenig"}, {"name": "Parallel Programming Workshop", "url": "https://fs.hlrs.de/projects/par/par_prog_ws/", "description": "materials from the High-Performance Computing Center in Stuttgart"}, {"name": "Programming in Modern Fortran", "url": "https://cyber.dabamos.de/programming/modernfortran/", "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": "course given by Nick Maclaren from the University of Cambridge Computing Service, derived from a course by Steve Morgan from the University of Liverpool"}, {"name": "User Notes on Fortran Programming (UNFP)", "url": "http://www.ibiblio.org/pub/languages/fortran/unfp.html"}, {"name": "Designing and Building Parallel Programs", "url": "https://www.mcs.anl.gov/~itf/dbpp/", "description": "by Ian Foster, contains descriptions of several non-standard Fortran dialects like Fortran M and High Performance Fortran)"}, {"name": "Parallel programming with Fortran 2008 and 2018 coarrays", "url": "https://coarrays.sourceforge.io/doc.html", "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": "by Robert W. Numrich"}, {"name": "Fortran 90 for the Fortran 77 Programmer", "url": "https://www.nsc.liu.se/~boein/f77to90/f77to90.html", "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": "by Milan Curcic, excerpt (Chapters 2, 3, and 4) from Modern Fortran - Building Efficient Parallel Applications"}], "reference-books": [{"author": "Ramkarthik, M. S., and Solanki, P. D.", "year": 2021, "title": "Numerical Recipes in Quantum Information Theory and Quantum Computing: An Adventure in FORTRAN 90", "url": "https://www.routledge.com/Numerical-Recipes-in-Quantum-Information-Theory-and-Quantum-Computing-An/Ramkarthik-Solanki/p/book/9780367759285", "edition": "1st ed", "location": "Boca Raton", "publisher": "CRC Press"}, {"author": "Metcalf, M., Reid, J. and Cohen, M.", "year": 2018, "title": "Modern Fortran Explained", "url": "https://global.oup.com/academic/product/modern-fortran-explained-9780198811893", "edition": "5th ed", "location": "Oxford, UK", "publisher": "Oxford University Press"}, {"author": "Curcic, M.", "year": 2020, "title": "Modern Fortran: Building Efficient Parallel Applications", "url": "https://www.manning.com/books/modern-fortran", "edition": "1st ed", "location": "Shelter Island, NY", "publisher": "Manning Publications"}, {"author": "Fehr, H. and Kindermann, F.", "year": 2020, "title": "Introduction to Computational Economics Using Fortran", "url": "https://www.ce-fortran.com/", "edition": "1st ed", "location": "Oxford, UK", "publisher": "Oxford University Press"}, {"author": "Markus, A.", "year": 2012, "title": "Modern Fortran in Practice", "url": "https://www.cambridge.org/core/books/modern-fortran-in-practice/BC5BD23B2E478B4D457C5D6265BA9363", "edition": "1st ed", "location": "Cambridge, UK", "publisher": "Cambridge University Press"}, {"author": "Chivers, I. and Sleightholme, J.", "year": 2018, "title": "Introduction to Programming with Fortran", "url": "https://doi.org/10.1007/978-3-319-75502-1", "edition": "4th ed", "publisher": "Springer International Publishing"}, {"author": "Chapman, S. J.", "year": 2018, "title": "Fortran for Scientists and Engineers", "url": "https://www.mheducation.com/highered/product/fortran-scientists-engineers-chapman/M9780073385891.html", "edition": "4th ed", "location": "New York", "publisher": "McGraw-Hill Education"}, {"author": "Ray, S.", "year": 2019, "title": "Fortran 2018 with Parallel Programming", "url": "https://www.routledge.com/Fortran-2018-with-Parallel-Programming/Ray/p/book/9780367218430", "edition": "1st ed", "publisher": "Chapman and Hall/CRC"}, {"author": "Brainerd, W. S.", "year": 2015, "title": "Guide to Fortran 2008 Programming", "url": "https://doi.org/10.1007/978-1-4471-6759-4", "edition": "1st ed", "location": "London", "publisher": "Springer-Verlag"}, {"author": "Numrich, R. W.", "year": 2018, "title": "Parallel Programming with Co-arrays", "url": "https://doi.org/10.1201/9780429437182", "edition": "1st ed", "location": "New York", "publisher": "Chapman and Hall/CRC"}, {"author": "Akin, E.", "year": 2003, "title": "Object-Oriented Programming via Fortran 90/95", "url": "https://doi.org/10.1017/CBO9780511530111", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "McCormack, D.", "year": 2009, "title": "Scientific Software Development with Fortran", "url": "https://www.lulu.com/en/gb/shop/drew-mccormack/scientific-software-development-in-fortran/ebook/product-1gvmw8p6.html", "edition": "1st ed", "location": null, "publisher": "Lulu Press"}, {"author": "Rouson, D., Xia, J., and Xiaofeng, X.", "year": 2014, "title": "Scientific Software Design: The Object-Oriented Way", "url": "https://www.cambridge.org/gb/academic/subjects/engineering/engineering-general-interest/scientific-software-design-object-oriented-way", "edition": "2nd ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Chirila, D. B., and Lohmann, G.", "year": 2015, "title": "Introduction to Modern Fortran for the Earth System Sciences", "url": "https://doi.org/10.1007/978-3-642-37009-0", "edition": "1st ed", "location": "Berlin", "publisher": "Springer-Verlag"}, {"author": "Clerman, N. S. and Spector, W.", "year": 2011, "title": "Modern Fortran: Style and Usage", "url": "https://doi.org/10.1017/CBO9781139027687", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Hanson, R. J. and Hopkins, T.", "year": 2013, "title": "Numerical Computing with Modern Fortran", "url": "https://doi.org/10.1137/1.9781611973129.fm", "edition": "1st ed", "location": "Philadelphia", "publisher": "SIAM"}, {"author": "Oliveira, S. and Steward, D.", "year": 2006, "title": "Writing Scientific Software: A Guide to Good Style", "url": "https://www.cambridge.org/gb/academic/subjects/computer-science/scientific-computing-scientific-software/writing-scientific-software-guide-good-style", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Kernighan, B. and Pike, R.", "year": 1999, "title": "The Practice of Programming", "url": "https://www.oreilly.com/library/view/the-practice-of/9780133133448/", "edition": "1st ed", "location": "Reading", "publisher": "Addison-Wesley Professional"}], "reference_books": [{"author": "Ramkarthik, M. S., and Solanki, P. D.", "year": 2021, "title": "Numerical Recipes in Quantum Information Theory and Quantum Computing: An Adventure in FORTRAN 90", "url": "https://www.routledge.com/Numerical-Recipes-in-Quantum-Information-Theory-and-Quantum-Computing-An/Ramkarthik-Solanki/p/book/9780367759285", "edition": "1st ed", "location": "Boca Raton", "publisher": "CRC Press"}, {"author": "Metcalf, M., Reid, J. and Cohen, M.", "year": 2018, "title": "Modern Fortran Explained", "url": "https://global.oup.com/academic/product/modern-fortran-explained-9780198811893", "edition": "5th ed", "location": "Oxford, UK", "publisher": "Oxford University Press"}, {"author": "Curcic, M.", "year": 2020, "title": "Modern Fortran: Building Efficient Parallel Applications", "url": "https://www.manning.com/books/modern-fortran", "edition": "1st ed", "location": "Shelter Island, NY", "publisher": "Manning Publications"}, {"author": "Fehr, H. and Kindermann, F.", "year": 2020, "title": "Introduction to Computational Economics Using Fortran", "url": "https://www.ce-fortran.com/", "edition": "1st ed", "location": "Oxford, UK", "publisher": "Oxford University Press"}, {"author": "Markus, A.", "year": 2012, "title": "Modern Fortran in Practice", "url": "https://www.cambridge.org/core/books/modern-fortran-in-practice/BC5BD23B2E478B4D457C5D6265BA9363", "edition": "1st ed", "location": "Cambridge, UK", "publisher": "Cambridge University Press"}, {"author": "Chivers, I. and Sleightholme, J.", "year": 2018, "title": "Introduction to Programming with Fortran", "url": "https://doi.org/10.1007/978-3-319-75502-1", "edition": "4th ed", "publisher": "Springer International Publishing"}, {"author": "Chapman, S. J.", "year": 2018, "title": "Fortran for Scientists and Engineers", "url": "https://www.mheducation.com/highered/product/fortran-scientists-engineers-chapman/M9780073385891.html", "edition": "4th ed", "location": "New York", "publisher": "McGraw-Hill Education"}, {"author": "Ray, S.", "year": 2019, "title": "Fortran 2018 with Parallel Programming", "url": "https://www.routledge.com/Fortran-2018-with-Parallel-Programming/Ray/p/book/9780367218430", "edition": "1st ed", "publisher": "Chapman and Hall/CRC"}, {"author": "Brainerd, W. S.", "year": 2015, "title": "Guide to Fortran 2008 Programming", "url": "https://doi.org/10.1007/978-1-4471-6759-4", "edition": "1st ed", "location": "London", "publisher": "Springer-Verlag"}, {"author": "Numrich, R. W.", "year": 2018, "title": "Parallel Programming with Co-arrays", "url": "https://doi.org/10.1201/9780429437182", "edition": "1st ed", "location": "New York", "publisher": "Chapman and Hall/CRC"}, {"author": "Akin, E.", "year": 2003, "title": "Object-Oriented Programming via Fortran 90/95", "url": "https://doi.org/10.1017/CBO9780511530111", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "McCormack, D.", "year": 2009, "title": "Scientific Software Development with Fortran", "url": "https://www.lulu.com/en/gb/shop/drew-mccormack/scientific-software-development-in-fortran/ebook/product-1gvmw8p6.html", "edition": "1st ed", "location": null, "publisher": "Lulu Press"}, {"author": "Rouson, D., Xia, J., and Xiaofeng, X.", "year": 2014, "title": "Scientific Software Design: The Object-Oriented Way", "url": "https://www.cambridge.org/gb/academic/subjects/engineering/engineering-general-interest/scientific-software-design-object-oriented-way", "edition": "2nd ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Chirila, D. B., and Lohmann, G.", "year": 2015, "title": "Introduction to Modern Fortran for the Earth System Sciences", "url": "https://doi.org/10.1007/978-3-642-37009-0", "edition": "1st ed", "location": "Berlin", "publisher": "Springer-Verlag"}, {"author": "Clerman, N. S. and Spector, W.", "year": 2011, "title": "Modern Fortran: Style and Usage", "url": "https://doi.org/10.1017/CBO9781139027687", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Hanson, R. J. and Hopkins, T.", "year": 2013, "title": "Numerical Computing with Modern Fortran", "url": "https://doi.org/10.1137/1.9781611973129.fm", "edition": "1st ed", "location": "Philadelphia", "publisher": "SIAM"}, {"author": "Oliveira, S. and Steward, D.", "year": 2006, "title": "Writing Scientific Software: A Guide to Good Style", "url": "https://www.cambridge.org/gb/academic/subjects/computer-science/scientific-computing-scientific-software/writing-scientific-software-guide-good-style", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Kernighan, B. and Pike, R.", "year": 1999, "title": "The Practice of Programming", "url": "https://www.oreilly.com/library/view/the-practice-of/9780133133448/", "edition": "1st ed", "location": "Reading", "publisher": "Addison-Wesley Professional"}], "reference_courses": [{"name": "Programming in Fortran", "url": "https://doku.lrz.de/display/PUBLIC/Programming+with+Fortran", "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"}, {"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"}, {"name": "Kursmaterial f\u00fcr Wissenschaftliches Programmieren (Modern Fortran, 2017)", "url": "https://www.bccms.uni-bremen.de/cms/people/b-aradi/wissen-progr/modern-fortran/2017", "description": "from B\u00e1lint Aradi at Bremen Center for Computational Materials Science (German)"}, {"name": "Formations Fortran", "url": "http://www.idris.fr/formations/fortran/", "description": "Fortran course from beginner to expert level (French)"}, {"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)"}, {"name": "Expressing Object-Oriented Concepts in Fortran90", "url": "http://www.cs.rpi.edu/~szymansk/OOF90/Forum.html"}, {"name": "Coarray tutorial", "url": "https://github.com/tkoenig1/coarray-tutorial/blob/main/tutorial.md", "description": "by Thomas Koenig"}, {"name": "Parallel Programming Workshop", "url": "https://fs.hlrs.de/projects/par/par_prog_ws/", "description": "materials from the High-Performance Computing Center in Stuttgart"}, {"name": "Programming in Modern Fortran", "url": "https://cyber.dabamos.de/programming/modernfortran/", "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": "course given by Nick Maclaren from the University of Cambridge Computing Service, derived from a course by Steve Morgan from the University of Liverpool"}, {"name": "User Notes on Fortran Programming (UNFP)", "url": "http://www.ibiblio.org/pub/languages/fortran/unfp.html"}, {"name": "Designing and Building Parallel Programs", "url": "https://www.mcs.anl.gov/~itf/dbpp/", "description": "by Ian Foster, contains descriptions of several non-standard Fortran dialects like Fortran M and High Performance Fortran)"}, {"name": "Parallel programming with Fortran 2008 and 2018 coarrays", "url": "https://coarrays.sourceforge.io/doc.html", "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": "by Robert W. Numrich"}, {"name": "Fortran 90 for the Fortran 77 Programmer", "url": "https://www.nsc.liu.se/~boein/f77to90/f77to90.html", "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": "by Milan Curcic, excerpt (Chapters 2, 3, and 4) from Modern Fortran - Building Efficient Parallel Applications"}], "reference_links": [{"name": "Fortran wiki", "url": "http://fortranwiki.org/", "description": "A rich collection of Fortran articles and resources in an editable wiki format"}, {"name": "Fortran 90 org", "url": "https://www.fortran90.org/", "description": "Fortran Best Practices guide, Python/Fortran Rosetta Stone, Fortran FAQ"}, {"name": "Fortran 2018 Standard Interpretation Document", "url": "https://j3-fortran.org/doc/year/18/18-007r1.pdf", "description": "J3/18-007r1 F2018, specification of the base Fortran 2018 language"}, {"name": "J3 Fortran Proposals", "url": "https://github.com/j3-fortran/fortran_proposals", "description": "a repository for community collaboration on proposals for the Fortran Standards Committee"}, {"name": "J3: US Fortran Standards Committee", "url": "https://j3-fortran.org/", "description": "J3 is the US National Body for the international Fortran standards committee"}, {"name": "WG5: International Fortran Standards Committee", "url": "https://wg5-fortran.org/", "description": null}, {"name": "Scivision Fortran 2018 Examples", "url": "https://github.com/scivision/fortran2018-examples", "description": "A github repository containing code samples for various Fortran 2018 features"}, {"name": "Doctor Fortran Blog", "url": "https://stevelionel.com/drfortran", "description": "A collection of posts on interesting or little-understood aspects of the Fortran language"}]}