Skip to content

Commit 2ec8857

Browse files
authored
Initial commit
0 parents  commit 2ec8857

13 files changed

+561
-0
lines changed

.editorconfig

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Global Editor Config for MAPL
2+
#
3+
# This is an ini style configuration. See http://editorconfig.org/ for more information on this file.
4+
#
5+
# Top level editor config.
6+
root = true
7+
8+
# Always use Unix style new lines with new line ending on every file and trim whitespace
9+
[*]
10+
end_of_line = lf
11+
insert_final_newline = true
12+
trim_trailing_whitespace = true
13+
14+
# Python: PEP8 defines 4 spaces for indentation
15+
[*.py]
16+
indent_style = space
17+
indent_size = 4
18+
19+
# YAML format, 2 spaces
20+
[{*.yaml,*.yml}]
21+
indent_style = space
22+
indent_size = 2
23+
24+
# CMake (from KitWare: https://github.com/Kitware/CMake/blob/master/.editorconfig)
25+
[{CMakeLists.txt,*.cmake,*.rst}]
26+
indent_style = space
27+
indent_size = 2
28+
29+
# Markdown
30+
[*.md]
31+
trim_trailing_whitespace = true
32+
indent_style = space
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: "Enforce Changelog"
2+
on:
3+
pull_request:
4+
types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]
5+
6+
jobs:
7+
# Enforces the update of a changelog file on every pull request
8+
changelog:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: dangoslen/changelog-enforcer@v3
12+
with:
13+
changeLogPath: 'CHANGELOG.md'
14+
skipLabels: 'Skip Changelog,0 diff trivial,automatic,dependencies,github_actions'
15+
missingUpdateErrorMessage: >
16+
No update to CHANGELOG.md found! Please add a changelog
17+
entry to it describing your change. Please note that the
18+
keepachangelog (https://keepachangelog.com) format is
19+
used. If your change is very trivial not applicable for a
20+
changelog entry, add a 'Skip Changelog' label to the pull
21+
request to skip the changelog enforcer.
22+

.github/workflows/enforce-labels.yml

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Enforce PR Labels
2+
3+
on:
4+
pull_request:
5+
types: [opened, labeled, unlabeled, edited, synchronize]
6+
7+
jobs:
8+
require-label:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: mheap/github-action-required-labels@v5
12+
env:
13+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14+
with:
15+
mode: minimum
16+
count: 1
17+
labels: "0 diff,0 diff trivial,Non 0-diff,0 diff structural,0-diff trivial,Not 0-diff,0-diff,automatic,0-diff uncoupled,github_actions"
18+
add_comment: true
19+
message: "This PR is being prevented from merging because you have not added one of our required labels: {{ provided }}. Please add one so that the PR can be merged."
20+
21+
blocking-label:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- uses: mheap/github-action-required-labels@v5
25+
env:
26+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27+
with:
28+
mode: exactly
29+
count: 0
30+
labels: "Contingent - DNA,Needs Lead Approval,Contingent -- Do Not Approve"
31+
add_comment: true
32+
message: "This PR is being prevented from merging because you have added one of our blocking labels: {{ provided }}. You'll need to remove it before this PR can be merged."
+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
3+
# Based on code from https://github.com/marketplace/actions/yaml-lint
4+
5+
name: Yaml Lint
6+
7+
on:
8+
pull_request:
9+
types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]
10+
11+
# This validation is equivalent to running on the command line:
12+
# yamllint -d relaxed --no-warnings
13+
# and is controlled by the .yamllint.yml file
14+
jobs:
15+
validate-YAML:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout repo
19+
uses: actions/checkout@v4
20+
with:
21+
fetch-depth: 0
22+
filter: blob:none
23+
- id: yaml-lint
24+
name: yaml-lint
25+
uses: ibiqlik/action-yamllint@v3
26+
with:
27+
no_warnings: true
28+
format: colored
29+
config_file: .yamllint.yml
30+
31+
- uses: actions/upload-artifact@v4
32+
if: always()
33+
with:
34+
name: yamllint-logfile
35+
path: ${{ steps.yaml-lint.outputs.logfile }}

.gitignore

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
*~
2+
*.swp
3+
*.swo
4+
.DS_Store
5+
*#
6+
.#*
7+
**/CVS/
8+
9+
10+
# Ignore possible symlinked build and install directories
11+
# Note: we can't use a / at the end because they might be
12+
# symlink to a directory
13+
build*
14+
install*
15+
16+
# If you build with spack libraries, you can get spack log files
17+
spack*.log

.yamllint.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
3+
extends: default
4+
5+
rules:
6+
braces:
7+
level: warning
8+
max-spaces-inside: 1
9+
brackets:
10+
level: warning
11+
max-spaces-inside: 1
12+
colons:
13+
level: warning
14+
commas:
15+
level: warning
16+
comments: disable
17+
comments-indentation: disable
18+
document-start: disable
19+
empty-lines:
20+
level: warning
21+
hyphens:
22+
level: warning
23+
indentation:
24+
level: warning
25+
indent-sequences: consistent
26+
line-length:
27+
level: warning
28+
allow-non-breakable-inline-mappings: true
29+
truthy: disable

CHANGELOG.md

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Added
11+
12+
### Changed
13+
14+
### Fixed
15+
16+
### Removed
17+
18+
### Deprecated
19+

CMakeLists.txt

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
esma_set_this()
2+
3+
set (alldirs
4+
)
5+
6+
esma_add_library (${this}
7+
SRCS
8+
SUBCOMPONENTS ${alldirs}
9+
DEPENDENCIES MAPL esmf)
10+

CODE_OF_CONDUCT.md

+133
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
2+
# Contributor Covenant Code of Conduct
3+
4+
## Our Pledge
5+
6+
We as members, contributors, and leaders pledge to make participation in our
7+
community a harassment-free experience for everyone, regardless of age, body
8+
size, visible or invisible disability, ethnicity, sex characteristics, gender
9+
identity and expression, level of experience, education, socio-economic status,
10+
nationality, personal appearance, race, religion, or sexual identity
11+
and orientation.
12+
13+
We pledge to act and interact in ways that contribute to an open, welcoming,
14+
diverse, inclusive, and healthy community.
15+
16+
## Our Standards
17+
18+
Examples of behavior that contributes to a positive environment for our
19+
community include:
20+
21+
* Demonstrating empathy and kindness toward other people
22+
* Being respectful of differing opinions, viewpoints, and experiences
23+
* Giving and gracefully accepting constructive feedback
24+
* Accepting responsibility and apologizing to those affected by our mistakes,
25+
and learning from the experience
26+
* Focusing on what is best not just for us as individuals, but for the
27+
overall community
28+
29+
Examples of unacceptable behavior include:
30+
31+
* The use of sexualized language or imagery, and sexual attention or
32+
advances of any kind
33+
* Trolling, insulting or derogatory comments, and personal or political attacks
34+
* Public or private harassment
35+
* Publishing others' private information, such as a physical or email
36+
address, without their explicit permission
37+
* Other conduct which could reasonably be considered inappropriate in a
38+
professional setting
39+
40+
## Enforcement Responsibilities
41+
42+
Community leaders are responsible for clarifying and enforcing our standards of
43+
acceptable behavior and will take appropriate and fair corrective action in
44+
response to any behavior that they deem inappropriate, threatening, offensive,
45+
or harmful.
46+
47+
Community leaders have the right and responsibility to remove, edit, or reject
48+
comments, commits, code, wiki edits, issues, and other contributions that are
49+
not aligned to this Code of Conduct, and will communicate reasons for moderation
50+
decisions when appropriate.
51+
52+
## Scope
53+
54+
This Code of Conduct applies within all community spaces, and also applies when
55+
an individual is officially representing the community in public spaces.
56+
Examples of representing our community include using an official e-mail address,
57+
posting via an official social media account, or acting as an appointed
58+
representative at an online or offline event.
59+
60+
## Enforcement
61+
62+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
63+
reported to the community leaders responsible for enforcement at
64+
65+
All complaints will be reviewed and investigated promptly and fairly.
66+
67+
All community leaders are obligated to respect the privacy and security of the
68+
reporter of any incident.
69+
70+
## Enforcement Guidelines
71+
72+
Community leaders will follow these Community Impact Guidelines in determining
73+
the consequences for any action they deem in violation of this Code of Conduct:
74+
75+
### 1. Correction
76+
77+
**Community Impact**: Use of inappropriate language or other behavior deemed
78+
unprofessional or unwelcome in the community.
79+
80+
**Consequence**: A private, written warning from community leaders, providing
81+
clarity around the nature of the violation and an explanation of why the
82+
behavior was inappropriate. A public apology may be requested.
83+
84+
### 2. Warning
85+
86+
**Community Impact**: A violation through a single incident or series
87+
of actions.
88+
89+
**Consequence**: A warning with consequences for continued behavior. No
90+
interaction with the people involved, including unsolicited interaction with
91+
those enforcing the Code of Conduct, for a specified period of time. This
92+
includes avoiding interactions in community spaces as well as external channels
93+
like social media. Violating these terms may lead to a temporary or
94+
permanent ban.
95+
96+
### 3. Temporary Ban
97+
98+
**Community Impact**: A serious violation of community standards, including
99+
sustained inappropriate behavior.
100+
101+
**Consequence**: A temporary ban from any sort of interaction or public
102+
communication with the community for a specified period of time. No public or
103+
private interaction with the people involved, including unsolicited interaction
104+
with those enforcing the Code of Conduct, is allowed during this period.
105+
Violating these terms may lead to a permanent ban.
106+
107+
### 4. Permanent Ban
108+
109+
**Community Impact**: Demonstrating a pattern of violation of community
110+
standards, including sustained inappropriate behavior, harassment of an
111+
individual, or aggression toward or disparagement of classes of individuals.
112+
113+
**Consequence**: A permanent ban from any sort of public interaction within
114+
the community.
115+
116+
## Attribution
117+
118+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
119+
version 2.0, available at
120+
[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
121+
122+
Community Impact Guidelines were inspired by
123+
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
124+
125+
For answers to common questions about this code of conduct, see the FAQ at
126+
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available
127+
at [https://www.contributor-covenant.org/translations][translations].
128+
129+
[homepage]: https://www.contributor-covenant.org
130+
[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
131+
[Mozilla CoC]: https://github.com/mozilla/diversity
132+
[FAQ]: https://www.contributor-covenant.org/faq
133+
[translations]: https://www.contributor-covenant.org/translations

CONTRIBUTING.md

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Contributing to REPO
2+
3+
Contributing code to REPO should be done via a Pull Request to this repository.
4+
5+
## Contributor License Agreement (CLA)
6+
7+
All external developers contributing to GEOS-ESM projects must complete a [Contributor License
8+
Agreement](https://github.com/GEOS-ESM/cla).
9+
10+
NOTE: Internal NASA contributors associated with GEOS, including contractors,
11+
are covered by other agreements and do not need to sign a CLA.
12+
13+
## License
14+
15+
By contributing to GEOS-ESM projects, you agree your contributions will be
16+
licensed under the [Apache 2.0 License](LICENSE)

COPYRIGHT

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
NASA Docket No. GSC-15,354-1, and identified as "GEOS-5 GCM Modeling Software”
2+
3+
“Copyright © 2008 United States Government as represented by the Administrator
4+
of the National Aeronautics and Space Administration. All Rights Reserved.”
5+
6+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
7+
this file except in compliance with the License. You may obtain a copy of the
8+
License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software distributed
13+
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
14+
CONDITIONS OF ANY KIND, either express or implied. See the License for the
15+
specific language governing permissions and limitations under the License.

0 commit comments

Comments
 (0)