Cooperative FVS ! Functional Requirements for a Shared Library Version of FVS, or Calling FVS from R! Nicholas L. Crookston Rocky Mountain Research Station.

Slides:



Advertisements
Similar presentations
Chapter 8: Operating Systems and Utility Programs
Advertisements

Prof. B. I. Khodanpur HOD – Dept. of CSE R. V. College of Engineering. ID: Subject: Computer Fundamentals (For EDUSAT) Common.
Mr Manesh T Dept. of CSE College of Arts and Science Chapter 3 Types of Softwares Code: 1400 Tech.
Module 4.2 File management 1. Contents Introduction The file manager Files – the basic unit of storage The need to organise Glossary 2.
MIS 5241 SOFTWARE. MIS 5242 Agenda The Stored Program Concept Software as Control Software as Simulation.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
A New Soar Debugger in Java Douglas Pearson ThreePenny Software
Chapter 2: IS Building Blocks Objectives
Victor Serbo, SLAC30 September 2004, Interlaken, Switzerland JASSimApp plugin for JAS3: Interactive Geant4 GUI Serbo, Victor (SLAC) - presenter Donszelmann,
COMPUTER SOFTWARE Chapter 3. Software & Hardware? Computer Instructions or data, anything that can be stored electronically is Software. Hardware is one.
Operating System.
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
F13 Forensic tool analysis Dr. John P. Abraham Professor UTPA.
Linux Operations and Administration
Computer Systems Week 10: File Organisation Alma Whitfield.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Stimulsoft Reports.Net 20 Problems which Stimulsoft Reports.Net solves
DELTA TAU Data Systems, Inc. 1 UMAC TurboTurbo PMAC PCIGeo Drive Single Source Machine Control motion logic data Power PMAC Project Management November.
Using Visual Basic 6.0 to Create Web-Based Database Applications
An Introduction to Visual Basic
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
SUS Commander Sean Merritt. Background Department of Natural Resources uses a Software Update Server to update the user’s PCs. The log files are cryptic.
FVS Data Base Extension The Database Extension to the Forest Vegetation Simulator Nicholas L. Crookston Dennis Gammel March 11, 2003.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
1-1 System Development Process System development process – a set of activities, methods, best practices, deliverables, and automated tools that stakeholders.
File Processing Concepts – Field – combination of 1 or more characters that is the smallest unit of data to be accessed – Record – group of related fields.
V. Serbo, SLAC ACAT03, 1-5 December 2003 Interactive GUI for Geant4 by Victor Serbo, SLAC.
Jess: A Rule-Based Programming Environment Reporter: Yu Lun Kuo Date: April 10, 2006 Expert System.
Computer Operating Systems Unit 1 – BTA 3O Chytra.
Construction Planning and Prerequisite
Power Profiling using Sim-Panalyzer Andria Dyess and Trey Brakefield CPE631 Spring 2005.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 2 Information System Building Blocks.
2-1 A Federation of Information Systems. 2-2 Information System Applications.
Introduction What is detector simulation? A detector simulation program must provide the possibility of describing accurately an experimental setup (both.
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
Application Software System Software.
Form Processing Week Four. Form Processing Concepts The principal tool used to process Web forms stored on UNIX servers is a CGI (Common Gateway Interface)
HPD -- A High Performance Debugger Implementation A Parallel Tools Consortium project
Oracle Forms Oracle Forms Builder provides various tools, which have powerful Graphical User Interfaces (GUI's) to design such forms. All objects, properties,
USING THE FOREST VEGETATION SIMULATOR TO MODEL STAND DYNAMICS UNDER THE ASSUMPTION OF CHANGING CLIMATE Climate-FVS Version 0.1 Developed by : Nicholas.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
Types of Software Chapter 2.
A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and Applications software. Systems.
Software Interfaces. Learning Objectives Describe the characteristics of different types of user interfaces. Discuss the types of user interfaces which.
Reference Implementation of the High Performance Debugging (HPD) Standard Kevin London ( ) Shirley Browne ( ) Robert.
CMake: Experience in ALICE P. Hristov 19/06/12. History I Recursive makefiles (F.Carminati): – Problems in dependencies – Slow "Recursive Makefiles.
Compute and Storage For the Farm at Jlab
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
Python Programming Unit -1.
Development Environment
The Components of Information Systems
Chapter 5: Using System Software
Java on the LEGO Mindstorms EV3
In-situ Visualization using VisIt
Lecture on Oracle Forms
CO6025 Advanced Programming
Contents Todays Topic: Introduction to Computer Software We will learn
Computer Technology Notes #3
CMPE 152: Compiler Design ANTLR 4 and C++
Prepared by Kimberly Sayre and Jinbo Bi
The Components of Information Systems
Compiler Construction
Computer Science I CSC 135.
Event loops.
Information System Building Blocks
Event loops.
CMPE 135: Object-Oriented Analysis and Design March 14 Class Meeting
Event loops.
Presentation transcript:

Cooperative FVS ! Functional Requirements for a Shared Library Version of FVS, or Calling FVS from R! Nicholas L. Crookston Rocky Mountain Research Station December 9, 2011 Growth Model Users Group World Forestry Center Portland, Oregon

Cooperative FVS ! Contents: Goals: my vision for opening FVS to more model builders and more uses. Strategy: my current direction and progress. Your feedback: what do you think?

Cooperative FVS ! Goals: Provide a for interaction between FVS and other models at each time step of a simulation. Make it easy for other models to: –modify growth and mortality rates, –define harvests, –predict establishment (add trees), and –create custom reports.

Cooperative FVS ! Goals: Provide for interaction at each time step for collections of stands. –Run FVS for a time step for thousands of stands, stop the program, and restart from the stopping point perhaps at a later date. –Support parallel computing for this class of problem.

Cooperative FVS ! Goals: Replace the obsolete commercial library that supports the FVS database connectivity with code that runs on 64 bit Windows, Linux, and Mac OSX. Achieve these new capabilities without making major changes to the current code. Keep the current capabilities, that is, don’t break what we have (including Suppose).

Cooperative FVS ! Goals: Provide a way forward where we can incrementally “build and replace” existing tools. A motive is to eventually replace the keyword commands and the Event Monitor with R scripts.

Cooperative FVS ! Strategy: Build FVS as a shared library (.dll in Windows,.so otherwise). Create an Application Program Interface (API) that provides for interaction between FVS and other programs. Demonstrate the use of the API in R Use the same source for the shared library as used in the full program.

Cooperative FVS ! Strategy: Provide for using these new capabilities from the traditional program when appropriate. Other systems besides R can use the library, but make sure it works with R. For the database problem, replace the library with a custom built C language layer that translates the Fortran callable functions to the ODBC library functions.

Cooperative FVS ! Progress: The database problem is solved. It runs on Linux using unixODBC and Windows. FVS is built as a shared library using gfortran and gcc (using the Rtools tools set). Most of the goals have been addressed.

Cooperative FVS ! Progress: I have demonstrated that this code works as a shared library from R and provides the same output when run as a stand alone program from a command line. This is done on Linux (64 bit) and Windows.

Cooperative FVS ! Progress: The API is taking shape. Functions to get and set tree attributes have been tested in R. A function to “add trees” has been written but not tested. A function to set the “proportion to Cut” for each tree is being built. A function to add “FVS activities” on the fly is planned.

Cooperative FVS ! Progress: The ability to store the FVS memory, stop the program, restart the program and continue from where computation left off has been built and tested from both R and the command line. A strategy for using all this with Suppose as the GUI has been thought through.

Cooperative FVS ! Closing remarks: I’m concentrating on the highest priorities, mostly centered on interoperation with other models. Absent, for example, is a way to enter inventory data from scratch directly from R and to set the run options (I still rely on the keyword file and FVS’s initialization code). Suppose is still relevant.

Cooperative FVS ! Open discussion: What is important to you? Questions/comments? Write to me at: