Skip to content

Commit 4a01ad9

Browse files
committed
source commit: 54e4c1a
0 parents  commit 4a01ad9

File tree

12 files changed

+918
-0
lines changed

12 files changed

+918
-0
lines changed

CODE_OF_CONDUCT.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: "Contributor Code of Conduct"
3+
---
4+
5+
As contributors and maintainers of this project,
6+
we pledge to follow the [The Carpentries Code of Conduct][coc].
7+
8+
Instances of abusive, harassing, or otherwise unacceptable behavior
9+
may be reported by following our [reporting guidelines][coc-reporting].
10+
11+
12+
[coc-reporting]: https://docs.carpentries.org/topic_folders/policies/incident-reporting.html
13+
[coc]: https://docs.carpentries.org/topic_folders/policies/code-of-conduct.html

LICENSE.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
title: "Licenses"
3+
---
4+
5+
## Instructional Material
6+
7+
All Carpentries (Software Carpentry, Data Carpentry, and Library Carpentry)
8+
instructional material is made available under the [Creative Commons
9+
Attribution license][cc-by-human]. The following is a human-readable summary of
10+
(and not a substitute for) the [full legal text of the CC BY 4.0
11+
license][cc-by-legal].
12+
13+
You are free:
14+
15+
- to **Share**---copy and redistribute the material in any medium or format
16+
- to **Adapt**---remix, transform, and build upon the material
17+
18+
for any purpose, even commercially.
19+
20+
The licensor cannot revoke these freedoms as long as you follow the license
21+
terms.
22+
23+
Under the following terms:
24+
25+
- **Attribution**---You must give appropriate credit (mentioning that your work
26+
is derived from work that is Copyright (c) The Carpentries and, where
27+
practical, linking to <https://carpentries.org/>), provide a [link to the
28+
license][cc-by-human], and indicate if changes were made. You may do so in
29+
any reasonable manner, but not in any way that suggests the licensor endorses
30+
you or your use.
31+
32+
- **No additional restrictions**---You may not apply legal terms or
33+
technological measures that legally restrict others from doing anything the
34+
license permits. With the understanding that:
35+
36+
Notices:
37+
38+
* You do not have to comply with the license for elements of the material in
39+
the public domain or where your use is permitted by an applicable exception
40+
or limitation.
41+
* No warranties are given. The license may not give you all of the permissions
42+
necessary for your intended use. For example, other rights such as publicity,
43+
privacy, or moral rights may limit how you use the material.
44+
45+
## Software
46+
47+
Except where otherwise noted, the example programs and other software provided
48+
by The Carpentries are made available under the [OSI][osi]-approved [MIT
49+
license][mit-license].
50+
51+
Permission is hereby granted, free of charge, to any person obtaining a copy of
52+
this software and associated documentation files (the "Software"), to deal in
53+
the Software without restriction, including without limitation the rights to
54+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
55+
of the Software, and to permit persons to whom the Software is furnished to do
56+
so, subject to the following conditions:
57+
58+
The above copyright notice and this permission notice shall be included in all
59+
copies or substantial portions of the Software.
60+
61+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
62+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
63+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
64+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
65+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
66+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
67+
SOFTWARE.
68+
69+
## Trademark
70+
71+
"The Carpentries", "Software Carpentry", "Data Carpentry", and "Library
72+
Carpentry" and their respective logos are registered trademarks of [Community
73+
Initiatives][ci].
74+
75+
[cc-by-human]: https://creativecommons.org/licenses/by/4.0/
76+
[cc-by-legal]: https://creativecommons.org/licenses/by/4.0/legalcode
77+
[mit-license]: https://opensource.org/licenses/mit-license.html
78+
[ci]: https://communityin.org/
79+
[osi]: https://opensource.org

config.yaml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
#------------------------------------------------------------
2+
# Values for this lesson.
3+
#------------------------------------------------------------
4+
5+
# Which carpentry is this (swc, dc, lc, or cp)?
6+
# swc: Software Carpentry
7+
# dc: Data Carpentry
8+
# lc: Library Carpentry
9+
# cp: Carpentries (to use for instructor training for instance)
10+
# incubator: The Carpentries Incubator
11+
carpentry: 'incubator'
12+
13+
# Overall title for pages.
14+
title: 'Introduction to Modern Fortran'
15+
16+
# Date the lesson was created (YYYY-MM-DD, this is empty by default)
17+
created: '2023-08-04'
18+
19+
# Comma-separated list of keywords for the lesson
20+
keywords: 'software, data, lesson, The Carpentries, Fortran'
21+
22+
# Life cycle stage of the lesson
23+
# possible values: pre-alpha, alpha, beta, stable
24+
life_cycle: 'pre-alpha'
25+
26+
# License of the lesson materials (recommended CC-BY 4.0)
27+
license: 'CC-BY 4.0'
28+
29+
# Link to the source repository for this lesson
30+
# source: 'https://github.com/carpentries/fortran'
31+
source: 'https://github.com/astroDimitrios/intro-to-modern-fortran'
32+
33+
# Default branch of your lesson
34+
branch: 'main'
35+
36+
# Who to contact if there are any issues
37+
contact: 'd.theodorakis@metoffice.gov.uk'
38+
39+
# Navigation ------------------------------------------------
40+
#
41+
# Use the following menu items to specify the order of
42+
# individual pages in each dropdown section. Leave blank to
43+
# include all pages in the folder.
44+
#
45+
# Example -------------
46+
#
47+
# episodes:
48+
# - introduction.md
49+
# - first-steps.md
50+
#
51+
# learners:
52+
# - setup.md
53+
#
54+
# instructors:
55+
# - instructor-notes.md
56+
#
57+
# profiles:
58+
# - one-learner.md
59+
# - another-learner.md
60+
61+
# Order of episodes in your lesson
62+
episodes:
63+
- introduction.Rmd
64+
65+
# Information for Learners
66+
learners:
67+
68+
# Information for Instructors
69+
instructors:
70+
71+
# Learner Profiles
72+
profiles:
73+
74+
# Customisation ---------------------------------------------
75+
#
76+
# This space below is where custom yaml items (e.g. pinning
77+
# sandpaper and varnish versions) should live
78+
sandpaper: astroDimitrios/sandpaper
79+
pegboard: astroDimitrios/pegboard
80+
varnish: astroDimitrios/varnish
81+
82+

index.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
site: sandpaper::sandpaper_site
3+
---
4+
5+
This is a new lesson built with [The Carpentries Workbench][workbench]. It is currently in pre-alpha development by the [Edinburgh Parallel Computing Centre][epcc-link], the [National Centre for Atmospheric Science][ncas-link], the [National Oceanography Centre][noc-link], and the [UK Met Office][uk-met-link].
6+
7+
This course is aimed at users and developers who know how to program,
8+
but have little or no experience in Fortran, and those who may wish to
9+
have a refresher in Fortran.
10+
11+
::::::::::::::::::::::::::::::::::::: prereq
12+
13+
### Prerequisites
14+
15+
Learners *must* be familiar with the basic concepts of
16+
programming: variables, logic, flow of control, loops, functions and
17+
so on. No knowledge of Fortran is assumed. Previous programming
18+
experience might typically be in the context C/C++ or python.
19+
If you know no programming, we suggest this course on Fortran is not
20+
the place to start.
21+
22+
::::::::::::::::::::::::::::::::::::::::::::
23+
24+
Fortran (a contraction of Formula Translation) was the first programming
25+
language to have a standard (in 1954), but has changed significantly over
26+
the years. More recent standards (the latest being Fortran 2018) come
27+
under the umbrella term "Modern Fortran". Fortran retains very great
28+
significance in many areas of scientific and numerical computing,
29+
particularly for applications such as quantum chemistry, plasmas, and in
30+
numerical weather prediction and climate models.
31+
32+
This course provides an introduction to the basics of writing Fortran.
33+
It will cover basic syntax, variables, expressions and assignments,
34+
flow of control, and introductions to i/o and user-defined types.
35+
Common Fortran idioms are introduced and contrasted with those
36+
available in C-like languages; the course will try to focus on
37+
real usage rather than formal descriptions.
38+
39+
At the end of the course you should be able to understand many Fortran
40+
programs and be confident to start to write well-structured and portable
41+
Fortran. Fortran is a rather "large" language, so it is not possible to
42+
cover all its features in a two day course. Further elements of Fortran
43+
are discussed in the "Intermediate Modern Fortran" course.
44+
45+
The course requires a Fortran compiler, for which a local machine or
46+
laptop may be appropriate [1]. If you do not have access to a Fortran
47+
compiler, course training accounts on archer2 will be available which
48+
provide access to various compilers. Use of a text editor will be
49+
required (some may prefer an IDE, but we do not intend to consider or
50+
support IDEs).
51+
52+
[1] This may typically be GFortran, freely available as part of
53+
Gnu Compiler Collection (GCC).
54+
See e.g., [Link to GFortran install page on fortran-lang][install-gfortran]
55+
56+
57+
[workbench]: https://carpentries.github.io/sandpaper-docs
58+

instructor-notes.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: Instructor Notes
3+
---
4+
5+
This is a placeholder file. Please add content here.

0 commit comments

Comments
 (0)