solar project code testing
DESCRIPTION
Solar Project Code Testing. Lessons Learned from a NCAR/Academia Project. Agenda. Thanks NCAR Solar Project My Participation Challenges Lesson learned. How it All Started. Seminar at NCAR in Feb 2012 2 weeks in Summer 2012 Became UCAR Affiliate in March 2013 2 months in Summer 2013 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/1.jpg)
Guido Cervone
Associate Professor
Department of Geography and Institute for CyberScience
GeoVISTA Center
The Pennsylvania State University
Affiliate Scientist
Research Application Laboratory
National Center for Atmospheric Research
Solar Project Code TestingLessons Learned from a NCAR/Academia Project
![Page 2: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/2.jpg)
AGENDA
• Thanks
• NCAR Solar Project
• My Participation
• Challenges
• Lesson learned
![Page 3: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/3.jpg)
HOW IT ALL STARTED
• Seminar at NCAR in Feb 2012
• 2 weeks in Summer 2012• Became UCAR Affiliate in
March 2013• 2 months in Summer 2013• ? Months in Summer 2014
Sue Ellen HauptDirector, Weather Systems
and Assessment Program
![Page 4: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/4.jpg)
ANALOG ENSEMBLE (ANEN)
Luca Delle MonacheProject Scientist III, National Security
Applications Program
![Page 5: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/5.jpg)
HOW I GOT INVOLVED
• A: Working on Source Detection
• B: I find out about AnEn
• C: I decide to work on AnEn
![Page 6: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/6.jpg)
SOLAR PROJECT
• Major Research Project at NCAR
• DoE and Xcel
• I implemented the AnEn C++ code for the project
![Page 7: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/7.jpg)
ANEN AT WORK
![Page 8: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/8.jpg)
ANEN INTERNALS
• Parameterized Metric– Predictors Weights– Number of ensemble members
• Spatial component• Special cases
– Missing observation values– Missing forecast values– Variance not defined– Conditional values
![Page 9: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/9.jpg)
METRIC WEIGHTS
![Page 10: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/10.jpg)
METRIC WEIGHTS
![Page 11: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/11.jpg)
METRIC WEIGHTS
![Page 12: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/12.jpg)
LOCATION
NCAR PSU
![Page 13: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/13.jpg)
LOCATION
NCAR PSU
LDM GC
SATB
GW
EDMAA
APBR MC
MB
![Page 14: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/14.jpg)
WHAT LANGUAGE?
print(“Hello World, I speak R!”)
System.out.println("Hello World, I speak JAVA!");
![Page 15: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/15.jpg)
ANEN IMPLEMENTATIONS
Time
R SA
Matlab LDM
R GC
C++ GC
JAVA GC
R-JAVA GC
![Page 16: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/16.jpg)
HOW TO COPE?
![Page 17: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/17.jpg)
ADDITIONAL CHALLENGES
• Distributed team• Evolving team• Commitment• Different skills• Pedagogical component
![Page 18: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/18.jpg)
CRAPL
• Why the CRAPL?• In academic software (my own included),
software engineering principles vaporize as deadlines loom, and code becomes overrun with debugging hooks, perl golf, hard-coded configuration variables, dirty hacks, commentless tracts, a Gordian build system, and of course, no documentation.
• http://matt.might.net/articles/crapl/
![Page 19: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/19.jpg)
IMPLEMENTATIONS
“In the middle of difficulty lies opportunity.”
![Page 20: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/20.jpg)
AGILE DEVELOPMENT
• Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.
![Page 21: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/21.jpg)
DIFFERENT LANGUAGES
• By maintaining different versions / languages– Very hard to synchronize– Replicating all capabilities
• BUT– Multiple error checking– Cases not clearly defined (e.g. no variance)
![Page 22: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/22.jpg)
TOOLS
• RStudio• NetBeans• CVS (Here at NCAR)
– Problems gate.ucar.edu
![Page 23: Solar Project Code Testing](https://reader035.vdocuments.mx/reader035/viewer/2022062314/56814b8d550346895db8730f/html5/thumbnails/23.jpg)
LESSON LEARNED
• It was inefficient but• It worked• Effective debugging• It was fun