14

Click here to load reader

LANDIS-II contribution CS 561 final presentation

Embed Size (px)

Citation preview

Page 1: LANDIS-II contribution  CS 561 final presentation

Landis-iiMy first foray into open source

Page 2: LANDIS-II contribution  CS 561 final presentation

Stacy WattsPortland State University

CS 561 - Open Source Software

Development

Final Presentation

Page 3: LANDIS-II contribution  CS 561 final presentation

Project Information

Project page: http://www.landis-ii.org/

Developer group:

https://groups.google.com/forum/#!foru

m/landis-ii-developers

User group:

https://groups.google.com/forum/#!foru

m/landis-ii-users

Code repository and bug tracker:

http://code.google.com/p/landis-

extensions/

Page 4: LANDIS-II contribution  CS 561 final presentation

About LANDIS-II

Simulates forest succession,

disturbance, climate change, and

dispersal across large landscapes.

Tracks many types of forest data:

species types, Carbon, Nitrogen, etc.

Long running project with over 15

extensions (plugins)

Internationally used in forest research

More extensive details on project

website

Page 5: LANDIS-II contribution  CS 561 final presentation

Technology

Primarily written in C# for Windows

cmd

Large SVN repository with many tags

and branches

Input are plain text files in a particular

format and raster maps

Output is migrating from csv and plain

text to XML

Bug tracker not incredibly active

Page 6: LANDIS-II contribution  CS 561 final presentation

Century Succession

Page 7: LANDIS-II contribution  CS 561 final presentation

Century Succession

Page 8: LANDIS-II contribution  CS 561 final presentation

Legal

Apache 2.0 License

You do click a license to accept fair use

of the product on installation of the core

or any extension.

License file is at the top of the Google

code repository, before you can

checkout the code base.

Page 9: LANDIS-II contribution  CS 561 final presentation

Documentation

Site describes as well documented, but

is a tough project to just pick up

First new developer guide was created

end of July 2014

Details what a dev needs to do to get

started with the project

Needs additional work for less

experienced developers to get started

Page 10: LANDIS-II contribution  CS 561 final presentation

My Contribution

Small compared to the entire project

spanning over 10 years.

Proof of concept for text input file to

XML conversion.

Eventual eye to making the system

cloud-hosted

Would require possible web interface

Outputs already being translated to XML

Meets their needs

Page 11: LANDIS-II contribution  CS 561 final presentation

School Timeline

Eight week summer term (too short)

Week 1 identifying potential sub project

Week 2-3 working with a primary

contributor on scope and design

Weeks 4-7 learning the code base,

style, conventions and actually starting

to write code

Week 8 Presentation

Page 12: LANDIS-II contribution  CS 561 final presentation

Gotchas

SVN repo: very large, unwieldy to just

dive in

Project references didn’t work off the

bat, required finneagling, questions,

poring over existing group posts for

similar issues

Unfamiliar code base took longer to

ramp up

Page 13: LANDIS-II contribution  CS 561 final presentation

Thank You!

Robert Scheller

For taking time to work out an idea with

me that might fit into the summer.

Lesley Bross

For your own advance guard summer of

code work. The developer guide even its

first form was invaluable.

Jamey Sharp

Guidance on the navigation of a large

new project.

Page 14: LANDIS-II contribution  CS 561 final presentation

Questions?