<div id=text-logo>This_text_is_a_transpar ent placeholder to make click logo</div>
Community
Join
Groups
Publications
Jobs
Events
Forum
Models
Model Repository
Contribute a Model
Version Control
Reproducible science
Education
ESPIn
Roadshows
Webinars
Labs
Ivy
Movies
Learning Modules
Lectures
Textbooks
Science on a Sphere
Images
Contribute
Products
CSDMS Workbench
OpenEarthscape
Data Products
CSDMS @ GitHub
Services
Proposal Support
Visiting Scientists
Sponsorships
Supercomputing
JupyterHub
Software Engineering
Help Desk
Office Hours
Web API
About
What is CSDMS?
Between the Bytes
Awards
Governance
Diversity & Inclusion
Code of Conduct
Partners
Related Programs
Metrics
Citing CSDMS
Contact Us
Log in
Request account
Edit Presenters: Presenters-0697
From CSDMS
Jump to:
navigation
,
search
You do not have permission to edit this page, for the following reason:
You need to
LOG IN!
The action you have requested is limited to users in the group:
Users
.
Presenters abstracts and presentations
Event & Personal info
Event title
*
CSDMS 2018 annual meeting - Geoprocesses, geohazards
CTSP: Coupling of Tectonic and Surface Processes
CSDMS 2017 annual meeting: Modeling Coupled Earth and Human Systems - The Dynamic Duo
Linking Earth System Dynamics and Social System Modeling
Joint CSDMS-SEN annual meeting 2016: Capturing Climate Change
CSDMS 2015 annual Meeting - Models meet data, data meet models
CSDMS 2014 annual meeting - Uncertainty and Sensitivity in Surface Dynamics Modeling
CSDMS 2.0: Moving Forward
CSDMS 2011 annual meeting - Impact of time and process scales
AGU Chapman Conference on Source to Sink Systems Around the World and Through Time
CSDMS 2010 annual meeting - Modeling for Environmental Change
2009 Joint workshop for CSDMS Education & Knowledge Transfer WG, Cyberinformatics WG, and Hydrology FRG
2009 Chesapeake FRG - Yorktown
2009 Joint workshop for CSDMS Terrestrial and Coastal WG
2009 Joint workshop for CSDMS Marine Working Group and Carbonate FRG
Modeling of turbidity currents and related gravity currents
2009 Chesapeake FRG meeting - Annapolis
2009 Cyberinformatics and Numerics WG Meeting
2009 Joined meeting for CSDMS Coastal and Marine WG
CSDMS 2009Terrestrial WG meeting
CSDMS 2009 Carbonate FRG meeting
CSDMS 2009 Hydrology FRG meeting
CSDMS 2008 Education and Knowledge Transfer (EKT) WG Meeting
Third SEDIBUD Workshop
Community Sedimentary Model for Carbonate Systems
CSDMS 2008 Cyberinformatics and Numerics WG Meeting
Dynamics and Vulnerability of River Delta Systems
Mechanisms of Sediment Retention in Estuaries
CSDMS Implementation Plan Workshop
2003 NSF Workshop
CSDMS Planning Workshop
CSDMS 2018 Webinars
Flood Risk Workshop 2018
CSDMS3.0 - Bridging Boundaries
CSDMS 2019 Webinars
CSDMS 2020: Linking Ecosphere and Geosphere
CSDMS 2019 interagency meeting
CSDMS 2020 Webinars
CSDMS 2021: Changing Landscapes and Seascapes: Modeling for Discovery, Decision Making, and Communication
CSDMS 2021 Webinars
CSDMS 2022: Environmental Extremes and Earthscape Evolution
CSDMS 2022 Webinars
CSDMS 2023: Patterns and Processes Across Scales
CSDMS 2023 Webinars
CSDMS 2024 Webinars
CSDMS 2024: Coastlines, Critical Zones and Cascading Hazards: Modeling Dynamic Interfaces from Deep Time to Human Time
CSDMS 2025: Exploring Earth's Surface with Models, Data & AI
CSDMS 2025 Webinars
CSDMS 2026: Modeling Landscapes in Motion
Event year
*
2025
Presentation type
*
Clinic
Invited oral presentation
Webinar
Date webinar:
Time should be entered in 24-hour format.
Registration link:
First name:
*
Greg
Last name:
*
Tucker
Organization:
*
CSDMS IF
Country:
*
Afghanistan
Albania
Algeria
Andorra
Angola
Antigua and Barbuda
Argentina
Armenia
Australia
Austria
Azerbaijan
Bahamas, The
Bahrain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
Bhutan
Bolivia
Bosnia and Herzegovina
Botswana
Brazil
Brunei
Bulgaria
Burkina Faso
Burma
Burundi
Cambodia
Cameroon
Canada
Cape Verde
Central African Republic
Chad
Chile
China
Colombia
Comoros
Cong, Republic of the
Congo, Democratic Republic of the
Costa Rica
Côte d'Ivoire
Croatia
Cuba
Cyprus
Czech Republic
Denmark
Djibouti
Dominica
Dominican Republic
Ecuador
Egypt
El Salvador
Equatorial Guinea
Eritrea
Estonia
Ethiopia
Federated
Fiji
Finland
France
Gabon
Gambia, The
Georgia
Germany
Ghana
Greece
Grenada
Guatemala
Guinea-Bissau
Guinea
Guyana
Haiti
Holy See
Honduras
Hungary
Iceland
India
Indonesia
Iran
Iraq
Ireland
Israel
Italy
Jamaica
Japan
Jordan
Kazakhstan
Kenya
Kiribati
Korea, North
Korea, South
Kosovo
Kuwait
Kyrgyzstan
Laos
Latvia
Lebanon
Lesotho
Liberia
Libya
Liechtenstein
Lithuania
Luxembourg
Macedonia
Madagascar
Malawi
Malaysia
Maldives
Mali
Malta
Marshall Islands
Mauritania
Mauritius
Mexico
Micronesia, Federated States of
Moldova
Monaco
Mongolia
Montenegro
Morocco
Mozambique
Namibia
Nauru
Nepal
Netherlands
New Zealand
Nicaragua
Niger
Nigeria
Norway
Oman
Pakistan
Palau
Panama
Papua New Guinea
Paraguay
Peru
Philippines
Poland
Portugal
Qatar
Romania
Russia
Rwanda
Saint Kitts and Nevis
Saint Lucia
Saint Vincent and the Grenadines
Samoa
San Marino
Sao Tome and Principe
Saudi Arabia
Senegal
Serbia
Seychelles
Sierra Leone
Singapore
Slovakia
Slovenia
Solomon Islands
Somalia
South Africa
South Sudan
Spain
Sri Lanka
Sudan
Suriname
Swaziland
Sweden
Switzerland
Syria
Tajikistan
Tanzania
Thailand
Timor-Leste
Togo
Tonga
Trinidad and Tobago
Tunisia
Turkey
Turkmenistan
Tuvalu
Uganda
Ukraine
United Arab Emirates
United Kingdom
United States
Uruguay
Uzbekistan
Vanuatu
Venezuela
Vietnam
Yemen
Zambia
Zimbabwe
European union
Other country...
State:
*
NO STATE
Alabama
Alaska
Arizona
Arkansas
California
Colorado
Connecticut
D.C.
Delaware
Florida
Georgia
Hawaii
Idaho
Illinois
Indiana
Iowa
Kansas
Kentucky
Louisiana
Maine
Maryland
Massachusetts
Michigan
Minnesota
Mississippi
Missouri
Montana
Nebraska
Nevada
New Hampshire
New Jersey
New Mexico
New York
North Carolina
North Dakota
Ohio
Oklahoma
Oregon
Pennsylvania
Rhode Island
South Carolina
South Dakota
Tennessee
Texas
Utah
Vermont
Virginia
Washington
West Virginia
Wisconsin
Wyoming
Email address:
*
gtucker@colorado.edu
Title presentation:
*
From issue to pull request: how to contribute to CSDMS' open-source community code repositories
Co-Authors
First name:
*
Last name:
*
Institute / Organization:
*
Country:
*
Afghanistan
Albania
Algeria
Andorra
Angola
Antigua and Barbuda
Argentina
Armenia
Australia
Austria
Azerbaijan
Bahamas, The
Bahrain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
Bhutan
Bolivia
Bosnia and Herzegovina
Botswana
Brazil
Brunei
Bulgaria
Burkina Faso
Burma
Burundi
Cambodia
Cameroon
Canada
Cape Verde
Central African Republic
Chad
Chile
China
Colombia
Comoros
Cong, Republic of the
Congo, Democratic Republic of the
Costa Rica
Côte d'Ivoire
Croatia
Cuba
Cyprus
Czech Republic
Denmark
Djibouti
Dominica
Dominican Republic
Ecuador
Egypt
El Salvador
Equatorial Guinea
Eritrea
Estonia
Ethiopia
Federated
Fiji
Finland
France
Gabon
Gambia, The
Georgia
Germany
Ghana
Greece
Grenada
Guatemala
Guinea-Bissau
Guinea
Guyana
Haiti
Holy See
Honduras
Hungary
Iceland
India
Indonesia
Iran
Iraq
Ireland
Israel
Italy
Jamaica
Japan
Jordan
Kazakhstan
Kenya
Kiribati
Korea, North
Korea, South
Kosovo
Kuwait
Kyrgyzstan
Laos
Latvia
Lebanon
Lesotho
Liberia
Libya
Liechtenstein
Lithuania
Luxembourg
Macedonia
Madagascar
Malawi
Malaysia
Maldives
Mali
Malta
Marshall Islands
Mauritania
Mauritius
Mexico
Micronesia, Federated States of
Moldova
Monaco
Mongolia
Montenegro
Morocco
Mozambique
Namibia
Nauru
Nepal
Netherlands
New Zealand
Nicaragua
Niger
Nigeria
Norway
Oman
Pakistan
Palau
Panama
Papua New Guinea
Paraguay
Peru
Philippines
Poland
Portugal
Qatar
Romania
Russia
Rwanda
Saint Kitts and Nevis
Saint Lucia
Saint Vincent and the Grenadines
Samoa
San Marino
Sao Tome and Principe
Saudi Arabia
Senegal
Serbia
Seychelles
Sierra Leone
Singapore
Slovakia
Slovenia
Solomon Islands
Somalia
South Africa
South Sudan
Spain
Sri Lanka
Sudan
Suriname
Swaziland
Sweden
Switzerland
Syria
Tajikistan
Tanzania
Thailand
Timor-Leste
Togo
Tonga
Trinidad and Tobago
Tunisia
Turkey
Turkmenistan
Tuvalu
Uganda
Ukraine
United Arab Emirates
United Kingdom
United States
Uruguay
Uzbekistan
Vanuatu
Venezuela
Vietnam
Yemen
Zambia
Zimbabwe
State:
NO STATE
Alabama
Alaska
Arizona
Arkansas
California
Colorado
Connecticut
District of Columbia
Delaware
Florida
Georgia
Hawaii
Idaho
Illinois
Indiana
Iowa
Kansas
Kentucky
Louisiana
Maine
Maryland
Massachusetts
Michigan
Minnesota
Mississippi
Missouri
Montana
Nebraska
Nevada
New Hampshire
New Jersey
New Mexico
New York
North Carolina
North Dakota
Ohio
Oklahoma
Oregon
Pennsylvania
Rhode Island
South Carolina
South Dakota
Tennessee
Texas
Utah
Vermont
Virginia
Washington
West Virginia
Wisconsin
Wyoming
Email address:
*
Add co-author
Abstract
Abstract:
*
In this webinar, we will demonstrate how to make a contribution to a community open-source repository. Using a live demo, we will walk through the process, starting from making edits to your local copy of the source code, through to submitting them as a “pull request” and going through the review process. We will illustrate how to walk through the various steps: posting an issue, making a local code branch (and/or fork), running unit tests, pushing changes to the remote repository, creating a pull request, understanding results of Continuous Integration tests, and managing a code review. '''Checklist from issue to pull request:''' <hr> '''Make an issue (if there isn't already one)'''<br> It's good practice to start any change with an Issue on the Landlab GitHub repository's Issues tab. * Sign on to GitHub * Navigate to the Landlab repository * Select the Issues tab, then the New Issue button In the first example, I'm going to address Issue #2258 "Correct parameterization of DepthDependentLinearDiffuser" '''Make a fork of the Landlab repository'''<br> * Sign on to GitHub * Navigate to https://github.com/landlab/landlab * Click the '''Fork''' button to create a fork of the repository in your own GitHub space '''Clone your fork to your local machine'''<br> * Navigate to your forked version of the repository. For example, my GitHub username is gregtucker, so I navigate to https://github.com/gregtucker/landlab. This is my fork. * Use the '''Code => Clone''' button to copy the clone address * In a Terminal (i.e., UNIX shell) on your local machine, navigate to the folder that will contain the local version of your Landlab fork. Example for me: cd ~/Documents/Talks/2025/Webinar-contributing-to-csdms * Type git clone and then paste in the address you copied from GitHub. Example for me: git clone git@github.com:gregtucker/landlab.git '''Create a branch for your edits or additions'''<br> Example: git checkout -b gt/update-ddepdiff-init '''Make edits / additions on your local copy'''<br> '''Run linters'''<br> If you have changed or added code files and/or Jupyter notebooks, run the linting tools: * black * flake8 and the equivalents for Jupyter notebooks if relevant. '''Make a "news frag" file'''<br> To keep track of additions and changes, Landlab uses "news fragments": tiny little files that contain a record of each change. To add a news fragment for your additions/changes, navigate to the landlab/news folder. Create a file whose name is the Issue number that you are addressing, plus a file extension that has one of the following: * bugfix for a bug fix * doc for a documentation improvement * feature for a new feature (such as a new component) * removal for removal or deprecation of a public-facing feature * misc for everything else In this example, it's somewhere between a bug fix (it's not technically a bug, but could be misleading), a documentation improvement (it's no longer misleading!), and a removal (because we're getting rid of the old name of a parameter). Since it's not totally clear, I'll just call this misc. My example is responding to Issue #2258, so my news frag file will be: 2258.misc Inside the file I'll put a one-line description, something like: Correct the header doc and soil-velocity parameter name in DepthDependentLinearDiffuser. '''Run the tests locally'''<br> (See: https://landlab.csdms.io/install/developer_install.html#install) From the main Landlab folder: * Lint: nox -s lint (runs the linters to make sure code is clean and consistent) * News frag: nox -s towncrier (checks to make sure there's a valid news frag) * Code: nox -s test (this one takes a few minutes) * Jupyter notebooks: nox -s test-notebooks (also takes a bit of time) * Docs: nox -s build-docs (if you've changed any documentation, including inline) Once all your tests are passing locally, you are ready to push to your remote fork. '''Push to your remote fork'''<br> Once you've made and committed your changes with git, and the tests are all passing locally, push your changes to your remote fork. Example: git push origin gt/update-ddepdiff-init '''Activate a Pull Request'''<br> Returning to your browser, check your fork's GitHub page. You should see a yellow banner with a message that reads something like "gt/update-ddepdiff-init had recent pushes 3 seconds ago", and a green button labeled "Compare & pull request". Press this button to activate a pull request for your changes. This takes you to the main Landlab repository page on GitHub. Here you can: * Give your Pull Request a title * Describe your Pull Request * Change it to a DRAFT Pull Request (using the arrow on the green Create Pull Request button) Once you've done those steps, click the green '''Draft pull request''' button. This will activate a series of automated tests. '''What Makes a Good Pull Request'''<br> * '''Small and focused''': Address one issue or feature per pull request. Avoid bundling multiple unrelated changes. * '''Clear purpose''': The pull request should explain why a change is needed, not just what was changed. * '''Draft first''': Open your pull request in '''draft mode''' so others can follow progress and provide early feedback. * '''Readable history''': Prefer a clean commit history. Consider squashing or rebasing before final review. * '''Well-tested and documented''': All code changes should be accompanied by appropriate tests and updated documentation. '''Requesting a review'''<br> Once your tests have all passed, it's time to get your Pull Request reviewed. In theory, a CSDMS staff member should be alerted to the newly submitted Pull Request, but best practice is to be proactive: request a review! A good way to do this add a Comment (see bottom of your Pull Request page), in which you request a review(s). If you're not sure who should review it, just write something like: "Could someone at CSDMS review this please?" If you know of particular people that you would love to get a review from, go ahead and tag them by their GitHub username. For example, if I might ask for reviews from CSDMS team members Eric, Mark, and/or Tian, so my comment could be: "Could @mcflugen, @mdpiper, and/or @gantian127 review this for me please?" You can also request reviews from other community members - we highly encourage this! '''How many reviews?'''<br> Your code should be reviewed by at least one person on the development team for the repository in question. Ideally, it's nice to have two or even three, but we don't require this. '''The review dance'''<br> Just like a journal review, there's often some back-and-forth, with suggestions for (often minor) improvements. Fortunately, "Reviewer 2" won't show up, however - these are friendly reviews! '''The final step'''<br> Once you and the reviewer(s) are happy with your PR, a member of the development team (usually also a reviewer) will click the magic button that merges your PR into the main development version. Time to celebration: your contribution is now official!
Keywords
Keywords:
*
Add keywords
Presentation material
*
Select key audience groups of interest:
*
Terrestrial Working Group
Coastal Working Group
Marine Working Group
Education and Knowledge Transfer (EKT) Working Group
Cyberinformatics and Numerics Working Group
Hydrology Focus Research Group
Chesapeake Focus Research Group
Critical Zone Focus Research Group
Human Dimensions Focus Research Group
Geodynamics Focus Research Group
Ecosystem Dynamics Focus Research Group
Coastal Vulnerability Initiative
Continental Margin Initiative
Artificial Intelligence & Machine Learning Initiative
Modeling Platform Interoperability Initiative
River Network Modeling Initiative
Submit presentation, preferable as PDF:
Upload file
Upload supporting material as zip:
Upload file
Upload additional supporting material as zip:
Upload file
*
Required fields
Save presentation
Cancel
What links here
Related changes
Page information
Cargo data