GNE: Global NEWS Modeling Environment What it is / what it’s not How it works Components, samples Installation NEWS 2 Implementation Emilio MayorgaMay.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

WITHOUT LANGUAGE [ DEVELOPING GEO-PROCESSING MODELS USING ARCGIS MODELBUILDER 10 ] PROGRAMMING R. RYAN STEVENS / GIS RESEARCH ANALYST / THE POLIS CENTER.
Designing Reusable Frameworks for Test Automation
How to enter the world of Python Programming for ArcGIS Or, a funny thing happened on the way from an ESRI conference By Katherine Paybins WVAGP Membership.
March 24-28, 2003Computing for High-Energy Physics Configuration Database for BaBar On-line Rainer Bartoldus, Gregory Dubois-Felsmann, Yury Kolomensky,
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Why python? Automate processes Batch programming Faster Open source Easy recognition of errors Good for data management What is python? Scripting programming.
Getting Started: Ansoft HFSS 8.0
ESRM 250 & CFR 520: Introduction to GIS © Phil Hurvitz, KEEP THIS TEXT BOX this slide includes some ESRI fonts. when you save this presentation,
Introduction to GIS and ArcGIS How a GIS works Introduction to ArcGIS The ArcGIS Interface.
Batch Process Overview. Batch Processes 2 What Do You Mean By Batch Processing? Allows for Mass Entry of Data All Processing of the Data Happens Without.
1 Programming for Engineers in Python Autumn Lecture 5: Object Oriented Programming.
Interpret Application Specifications
Geography 465 Overview Geoprocessing in ArcGIS. MODELING Geoprocessing as modeling.
Guide To UNIX Using Linux Third Edition
Technical Workshops | Esri International User Conference San Diego, California Customizing ArcPad solutions Marika Vertzonis, Gareth Walters, Stephen Quan.
Guide To UNIX Using Linux Third Edition
Chapter 1 Program Design
QGIS Matthew Rosencrans Tom DiLiberto. Outline What is QGIS? What can we do with it? What data can we work with?
Introduction to Unix (CA263) Introduction to Shell Script Programming By Tariq Ibn Aziz.
Software Construction and Evolution - CSSE 375 Software Documentation 1 Shawn & Steve Right – For programmers, it’s a cultural perspective. He’d feel almost.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
CEDROM-SNi’s DITA- based Project From Analysis to Delivery By France Baril Documentation Architect.
ArcGIS Workflow Manager An Introduction
Training Course 2 User Module Training Course 3 Data Administration Module Session 1 Orientation Session 2 User Interface Session 3 Database Administration.
Esri International User Conference | San Diego, CA Technical Workshops | Python – Getting Started Drew Flater, Ghislain Prince July 12 - July 14, 2011.
M1G Introduction to Programming 2 4. Enhancing a class:Room.
Introduction to InVEST ArcGIS Tool Nasser Olwero GMP, Bangkok April
Topics Introduction Hardware and Software How Computers Store Data
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Introduction to Shell Script Programming
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
Introduction to Spatial Analysis and Spatial Modeling
Python: An Introduction
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 1 Introduction to Computers and Programming.
Computer Programming for Biologists Oct 30 th – Dec 11 th, 2014 Karsten Hokamp  Fill out.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
1 CSC 221: Introduction to Programming Fall 2012 Functions & Modules  standard modules: math, random  Python documentation, help  user-defined functions,
Address Maps and Apps for State and Local Governments
Data Interoperability Basics Bruce Harold & Dale Lutz.
Leveraging ArcGIS Online Elevation and Hydrology Services
Introduction of Geoprocessing Topic 7a 4/10/2007.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.

Introduction to Web AppBuilder for ArcGIS: JavaScript Apps Made Easy
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Sharing Workflows with.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Automating Geodatabase.
Introduction to R Introductions What is R? RStudio Layout Summary Statistics Your First R Graph 17 September 2014 Sherubtse Training.
Introduction of Geoprocessing Lecture 9. Geoprocessing  Geoprocessing is any GIS operation used to manipulate data. A typical geoprocessing operation.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Publishing GIS Services to ArcGIS Server
Python: Building Geoprocessing Tools David Wynne, Ghislain Prince.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
William Perry U.S. Geological Survey Western Ecological Research Center Geography 375 Final Project May 22, 2013.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Linux Administration Working with the BASH Shell.
Esri UC 2014 | Technical Workshop | Address Maps and Apps for State and Local Government Allison Muise Nikki Golding Scott Oppmann.
Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand the structure of a C-language program. ❏ To write your first C.
Space FSW Conference 2016 Matthew Conte Software Engineer
Development Environment
Introduction to InVEST ArcGIS Tool
PH2150 Scientific Computing Skills
PYTHON: AN INTRODUCTION
Excel-to-PowerPoint Document Automation
Course Name: QTP Trainer: Laxmi Duration: 25 Hrs Session: Daily 1 Hr.
Topics Introduction Hardware and Software How Computers Store Data
Leveraging ArcGIS Online Elevation and Hydrology Services
PYTHON: BUILDING GEOPROCESSING TOOLS
Presentation transcript:

GNE: Global NEWS Modeling Environment What it is / what it’s not How it works Components, samples Installation NEWS 2 Implementation Emilio MayorgaMay GNE Training Session 1 Content last edited August 28, 2008

Generic GNE vs. MA Scenarios Specifics Covering all details of Millennium Assessment (MA) Scenarios implementation is not an objective of these training sessions But hands-on sessions and demonstrations will be based on MA 2000 (c00) scenario Will use MA implementation to provide concrete examples

GNE Training Goals Introduce & describe GNE –Design goals, main features, code files Describe a standard GNE model run –Major components, files (code, configuration, and input/output data), organization and conventions Describe input pre-processing and output post- processing Enable “model users” to set up and execute model scenario experiments –Modify input data sources used (especially for MA scenarios) –No Python coding needed Refer to GNE User Manual for more complete details. Sessions provide more interactive training and demonstration, while manual includes extensive details about syntax, usage, installation, etc.

Training Sessions Session 1. Introduction and Broad Overview This Presentation Session 2. Running NEWS models with pre-existing, basin-aggregated input tables Interactive Session, in 2 parts (2 sub-sessions) –Part 1. Model run organization, configuration files, conventions –Part 2. Model execution; changing a model run (“experiments”) Session 3. GIS pre-processing and model input/output post-processing Interactive Session

Session 1 Content, Goals Overall GNE design goals, highlights Why Python? Three GNE User Types –Training focus on “Model Users” (no Python coding needed) GNE vs. end-to-end Global NEWS Run –What is covered by GNE vs. what is not Major Components –Code, configuration files, input/output files, file organization and conventions GNE Model Run folder & files GNE Model Run GIS Pre-Processing (GNE vs. other) Post-Processing (GNE vs. other) Python Installation and Base GNE Setup

Overall GNE design goals, highlights 1.Dissolved models merged into a unified framework, rather than isolated sub-models; particulate models remain separate. 2.Focus on basin-scale calculations. 3.For users not needing to modify model equations, most interactions are handled via structured text configuration files. Together with model equations in code, these files also serve as documentation of input files used and how output was created. 4.Complete model run can be maintained in a folder structure that includes all input data, model code, constants used, configuration files, and output tables. 5.Python/NumPy. Fairly easy to learn. Model equation code implemented in an intuitive, simple array syntax. More complex GNE code handling input/output and overall model coordination hidden away and most users never have to see it. 6.Model run time (including GIS pre-processing) is short or trivial.

Why Python? Free, open source, high-level but general programming language with large user base in all fields of computing. Free = available to everyone. Runs on all major operating systems. Rapidly growing acceptance in science applications, including modeling & GIS. Very clean, simplified syntax that makes it easy to learn, read existing code, and become productive quickly. NumPy “add-on” used to code the model equations; intuitive, simple array syntax similar to Matlab. Large library of default and optional add-ons contributed by users, for all sorts of applications. Preferred language chosen by ESRI for data processing automation in ArcGIS (ArcGIS “GeoProcessing”).

Three GNE User Types 1.Model Users. Setup or change a model run using a set of text configuration files; organize input and output files in a regular, structured fashion. Python skills not required. This training is focused on Model Users! 2.Model Developers. Focus on translating model equations into Python GNE code using simple code tools for variable management provided by the GNE framework. Largely isolated from the “behind-the-scenes”, low-level GNE functionality that handles file read-write and basic error checking. Should be fairly comfortable programming with Python & NumPy. 3.GNE Developers. Modify any aspect of GNE functionality, including model equations. Should be very comfortable programming with Python & NumPy.

GNE vs. end-to-end Global NEWS Run MNP Diffuse sources MNP Point sources UNH Hydrology “Raw”, Heterogeneous GIS Source files Diffuse sources Pre-processed, homogenized GIS Input files Point sources Hydrology Manual steps, Ad-hoc automation Direct Global NEWS inputs Basin-scale Inputs tables Global NEWS outputs Model Outputs GNE Complicated variables other than basin means/sums. Eg, dam retention, FQrem, lithology class Global NEWS model(s) GNE GIS pre-processing Summaries, Analysis, Maps Mass fluxes Other post- processing GNE post- processing

Major Components Overall folder organization –Model run code, configuration, input/output files, etc. Python Code –GNE “core” (file read/write, etc.) –Master controller (globalnews.py). –Science code (Global NEWS model): dissolved.py & particulate.py –Loads post-processor (postprocess.py) –Other, optional supporting files (batch runs, etc.) Configuration files (text/ASCII) –Base folder paths (gensetup.cfg) –Dissolved calibration constants (constants.cfg) –GIS basin inputs pre-processing (gis2tbls.cfg) –Global NEWS model run (vars.cfg) –Loads post-processor (also vars.cfg)

GNE Model Run Folder & Files Files in base folder Base folder and sub-folders Optional files (also in base folder, or in OTHERFILES) Also, documentation files.

GNE Model Run Folder & Files: Python code Files in base folder Base folder and sub-folders GNE Core code Science (model) code Master controller Optional GIS pre-processing add-on Loads post-processor

GNE Model Run Folder & Files: Configuration files Files in base folder GIS pre-processing Model run and loads post-processing Dissolved calibration constants Base folder paths

GNE Model Run Folder & Files: Input and output files Base folder and sub-folders Basin-scale model output and post-processed tables Pre-processed basin-scale input tables Homogenized raster GIS inputs Basins, cell areas, and other basic input data (raster GIS and basin-scale tables)

MNP Diffuse sources MNP Point sources UNH Hydrology “Raw”, Heterogeneous GIS Source files Diffuse sources Pre-processed, homogenized GIS Input files Point sources Hydrology Manual steps, Ad-hoc automation Direct Global NEWS inputs Basin-scale Inputs tables Global NEWS outputs Model Outputs GNE Complicated variables other than basin means/sums. Eg, dam retention, FQrem, lithology class Global NEWS model(s) GNE GIS pre-processing Summaries, Analysis, Maps Mass fluxes Other post- processing GNE post- processing GNE Model Run

Sample GNE Model Run Configuration File vars.cfg

Sample GNE Model Code From dissolved.py calculate FEriv

MNP Diffuse sources MNP Point sources UNH Hydrology “Raw”, Heterogeneous GIS Source files Diffuse sources Pre-processed, homogenized GIS Input files Point sources Hydrology Manual steps, Ad-hoc automation Direct Global NEWS inputs Basin-scale Inputs tables Global NEWS outputs Model Outputs GNE Complicated variables other than basin means/sums. Eg, dam retention, FQrem, lithology class Global NEWS model(s) GNE GIS pre-processing Summaries, Analysis, Maps Mass fluxes Other post- processing GNE post- processing GNE GIS Pre-Processing

MNP Diffuse sources MNP Point sources UNH Hydrology “Raw”, Heterogeneous GIS Source files Diffuse sources Pre-processed, homogenized GIS Input files Point sources Hydrology Manual steps, Ad-hoc automation Direct Global NEWS inputs Basin-scale Inputs tables Global NEWS outputs Model Outputs GNE Complicated variables other than basin means/sums. Eg, dam retention, FQrem, lithology class Global NEWS model(s) GNE GIS pre-processing Summaries, Analysis, Maps Mass fluxes Other post- processing GNE post- processing Other GIS Pre-Processing Mostly automated for MA scenarios, but in “ad-hoc” schemes, different software, etc.

MNP Diffuse sources MNP Point sources UNH Hydrology “Raw”, Heterogeneous GIS Source files Diffuse sources Pre-processed, homogenized GIS Input files Point sources Hydrology Manual steps, Ad-hoc automation Direct Global NEWS inputs Basin-scale Inputs tables Global NEWS outputs Model Outputs GNE Complicated variables other than basin means/sums. Eg, dam retention, FQrem, lithology class Global NEWS model(s) GNE GIS pre-processing Summaries, Analysis, Maps Mass fluxes Other post- processing GNE post- processing GNE “Loads” Post-Processing Calculates basin input and output variables as loads

MNP Diffuse sources MNP Point sources UNH Hydrology “Raw”, Heterogeneous GIS Source files Diffuse sources Pre-processed, homogenized GIS Input files Point sources Hydrology Manual steps, Ad-hoc automation Direct Global NEWS inputs Basin-scale Inputs tables Global NEWS outputs Model Outputs GNE Complicated variables other than basin means/sums. Eg, dam retention, FQrem, lithology class Global NEWS model(s) GNE GIS pre-processing Summaries, Analysis, Maps Mass fluxes Other post- processing GNE post- processing Other Post-Processing

Python Installation and Base GNE Setup Software Installation and Configuration –Is ArcGIS Installed? Potential conflicts with ArcGIS’ Python –Python (if ArcGIS not installed, or very old) –NumPy add-on –ArcGIS needed for GNE GIS pre-processing –(Other add-ons and custom scripts for additional post-processing: maps, regional summaries, etc.) GNE –Copy GNE files (code, inputs, configuration files, folder structure). Unpack training zip file –Avoid blank spaces or characters other than underscores and alphanumeric characters anywhere in the folder path! –Testing See User Manual for complete installation details, links to online Python/NumPy resources

Next, in Session 2 … Session 1. Introduction and Broad Overview This Presentation Session 2. Running NEWS models with pre-existing, basin-aggregated input tables Interactive Session, in 2 parts (2 sub-sessions) –Part 1. Model run organization, configuration files, conventions –Part 2. Model execution; changing a model run (“experiments”) We will change and execute a few model runs Session 3. GIS pre-processing and model input/output post-processing Interactive Session