welcome to the swre - meetupfiles.meetup.com/3089512/swre_23feb12_meetup.pdf · agenda • 7:00 to...
TRANSCRIPT
WELCOME TO THE SWRESoftware for Renewable Energy - Bay Area
23Feb12 Meetup: Intro to SWRE
1
AGENDA• 7:00 to 7:20 - snack-up and socialize
• 7:20 to 8:00 - “presentation”
• 8:00 to 8:30 - follow-up discussion
• 8:30 to 9:00 - grab another drink and continue getting to know your brethren
2
GROUND RULES
• Eat and drink throughout
• Interrupt me at any time
• Share your experiences and opinions and details of your favorite projects (past and present)
• Stay around and chat after the presentation
3
WHO ARE WE?• Software (SW) professionals/amateurs/hobbyists
• Renewable Energy (RE) industry observers/professionals/fanboys
• people who passionately care about the impact of RE on our lives, the planet, the other 7 billion people we live with
• people who want to use their skills and experience in an industry that really matters
• no offense... but do we really need another mobile ad-driven geo-aware nano coupon-clipping synergy farmville social gaming app or do we need to do our part to make RE make financial sense for everyone in the world?
4
OUR GOALS!• Make RE a sexy industry for SW professionals (or even just the Energy
Industry, in general)
• Why doesn’t one of the worlds largest, most profitable1, most dynamic, most complicated industries get more love?
• We are a group of people who passionately care about our SW projects and also RE’s place in the future
• Yet, I feel like we meet and cross-pollinate less than SW professionals in other industries
• There are web 2.0 hack-a-thons nearly every week here in the Bay area. When was the last time you heard about an energy 2.0 hack-a-thon?
51: http://money.cnn.com/magazines/fortune/global500/2010/performers/companies/profits/
!OUR GOALS• “Religious” debates (too many other meetup groups devolve
into these dogmatic arguments):
• Python vs. Perl; Windows vs. Linux; Django vs. RoR; compiled vs. interpreted; simple scripts vs. full-on OOP; Emacs vs. vi; git vs. SVN
• Further, we don’t want to crown one RE sub industry (solar, wind, hydro, bio fuels, etc.) as king... all need to grow and all need more skilled SW experts to do so
6
WHO AM I?• I’m Dave
• I studied CompEng and CS
• I started a company called Elevated Systems which currently does some SW consulting
• I’ve spent about 6 years playing with RE
• almost all in or around the solar industry... I will always be skewed towards solar
• I’ve spent about 3 years playing with Intelligent Transportation Systems (ITS)
• vehicle-to-vehicle and vehicle-to-infrastructure safety applications
• I have biases:
• SW: C++, Python, Django, PyQt, jQuery, Linux, Mac
• RE: Solar, SmartGrid, EVs
7
WHO ARE YOU?
8
•Name
• Company (optional)
•What thrills you the most about SW? RE?
•What’s a recent project you’ve worked on that you’re excited about?
WHERE DOES SW LIVE IN RE?• Everywhere:
• controls, factory automation, data management and visualization, system modeling, financial modeling...
• But I’ve got 2 specific examples based on personal experiences:
• system modeling AND data collection/management/visualization
•What are yours?
9
EX: SYSTEM MODELING
• Problem Statement: Simulate the power production of a solar field.
• mathematically model a solar cell
• represent all of the attributes: open-circuit voltage (Voc), short-circuit current (Isc), max power (Pmp), series resistance (Rs)
• build that up into a panel
• number of cells, optical losses, wiring resistive losses, etc.
• put panels and combiners and inverters together into a field
• more losses to model... so much wire
• simulate the performance of that field throughout the course of the year
• tweak some variables and repeat (maybe even optimize?!)
10
EX: SYSTEM MODELING - BASIC
class SiSolarCell(object):
Isc_amps = 0.05
Voc_volts = 0.6
R_series_ohms = 0.001
11
class Panel(object):
cell_array = [SiSolarCell()]*40
optical_loss_percent = 0.95
resistive_loss_percent = 0.95 class Field(object):
panel_array = [Panel()]*100
resistive_loss_percent = 0.95
inverter_max_voltage_volts = 300
EX: SYSTEM MODELING - NOW W/ OOP
class SiSolarCell(object):
Isc_amps = 0.05
Voc_volts = 0.6
R_series_ohms = 0.001
12
class SuntechPanel(Panel):
cell_array = [SuntechSolarCell()]*40
class Field(object):
panel_array = [SuntechPanel(), TrinaPanel]*100
resistive_loss_percent = 0.95
inverter_max_voltage_volts = 300
class SuntechSolarCell(SiSolarCell):
Isc_amps = 0.07
class TrinaSolarCell(SiSolarCell):
R_series_ohms = 0.0005
class TrinaPanel(Panel):
cell_array = [TrinaSolarCell()]*45
EX: SYSTEM MODELING - RECAP
• What’s next?
• simulate production performance in various weather conditions, mounting strategies, etc.
• add in financial costs
• set some hard constraints and some variables (number of panels, number of inverters, etc.) and optimize
13
• Which tools to use?
• Python (bias alert!!), Matlab, Excel (with VB)
• anything with some basic OOP capabilities, GUI construction, and graphing/reporting packages
• Who cares? (aka: where to work)
• System Integration companies
• Engineering Procurement and Construction (EPC) firms
• Residential Full Service Providers (like SolarCity)
EX: DATA MANAGEMENT
• Problem Statement: Collect and analyze the actual power production of a solar field.
• collect data from various sources, sensors (ex: irradiance sensors, inverters, tracking sensors)
• transport that data off-site to some data archive
• visualize data in some central portal for field owner/operator/stakeholders
• provide some remote control mechanisms... bring some parts of the field online/offline (maybe through trackers or inverters)
• alert stakeholders of problems at the field
• analyze data to spot performance trends over time (weather, soiling, cell degradation)
14
EX: DATA MANAGEMENT - COLLECT
• Start with an embedded PC in the field or just an embedded micro controller (PIC, Atmel/Arduino)
• Interface with sensors using some common industrial protocols (RS232, RS485, MODBUS, CAN, analog voltages)
• irradiance sensors and weather stations
• inverters
• Write an program to periodically collect all data
• Automatically respond to certain field conditions
• ex: high-wind stow
• Skills needed: embedded systems programming, communications protocols knowledge, maybe even some circuit design
15
EX: DATA MANAGEMENT - TRANSPORT
• Start with a connection to the internet
• maybe we need cellular or satellite service (M2M)
• Package up collected data (XML, JSON, etc.)
• Setup an encrypted channel to DB (SSH, VPN, SSL, etc.)
• Push to DB server
• use raw SQL transactions, RPCs, or maybe a modern REST interface
• Skills needed: networking knowledge, data compression and security knowledge, DB knowledge
16
EX: DATA MANAGEMENT - ANALYZE
• Build a GUI application or web application to access the DB and visualize collected data
• Take the next step to help the user see trends in their data more clearly using data mining and analysis techniques
• Skills needed: GUI programming, basic data analysis, web application development (front-end and back-end: HTML, CSS, JS, PHP, RoR, Django, .NET, Java, web operations, etc.)
17
EX: DATA MANAGEMENT - RECAP
• What’s next?
• make the data accessible on a mobile application
• use data trends to drive engineering decisions (long term soiling has much greater production impacts on module X than Z)
• Who cares? (aka: where to work)
• field owners and financial stakeholders
• field installers
• RE data aggregators (FatSpaniel/PowerOne, Draker Labs, ArgusOn, etc.)
18
NEXT MEETUP IDEAS• Not so technical:
• crash course in policies that matter to SWRE members
• Federal laws and mandates, CA laws (ex: AB32)
• meta discussions about RE industry
• what’s the state-of-the-art for various technologies?
• does renewable == clean?
• RE growth is driven by finance... why should we care?
• More technical:
• fault tolerance and reliability in SW for RE
• how to build a DB schema for RE data
• Your ideas will probably be better...
19
QUESTIONS
20