GEOS–Chem Model Clinic / Q & A GEOS–Chem Model Clinic / Q & A Bob Yantosca Software Engineer Atmospheric Chemistry Modeling Group Harvard University Philippe.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

AmeriCorps is introducing a new online payment system for the processing of AmeriCorps forms
Directorate of Learning Resources Accessing electronic journals from off-campus This causes lots of headaches, but dont despair, heres how to do it! If.
Configuration management
Configuration management
Configuration Management
Module R2 CS450. Next Week R1 is due next Friday ▫Bring manuals in a binder - make sure to have a cover page with group number, module, and date. You.
Strategies for solving scientific problems using computers.
Version Control System (Sub)Version Control (SVN).
SOFTWARE MAINTENANCE 24 March 2013 William W. McMillan.
Programming Types of Testing.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
API Design CPSC 315 – Programming Studio Fall 2008 Follows Kernighan and Pike, The Practice of Programming and Joshua Bloch’s Library-Centric Software.
GEOS-Chem Support Team Activities Bob Yantosca Senior Software Engineer Harvard School of Engineering and Applied Sciences Cambridge, MA, USA IGC7, 04.
Lecture Roger Sutton CO331 Visual programming 15: Debugging 1.
Bob Yantosca Philippe Le Sager Claire Carouge Atmospheric Chemistry Modeling Group School of Engineering & Applied Sciences Harvard University
SECOND GEOS-CHEM USERS’ MEETING April 4-6, 2005 Thanks to NASA/ACMAP and HUCE for providing travel support! Meeting objectives: To share model experiences.
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
CODING Research Data Management. Research Data Management Coding When writing software or analytical code it is important that others and your future.
Programming. Software is made by programmers Computers need all kinds of software, from operating systems to applications People learn how to tell the.
Chapter 6: Hostile Code Guide to Computer Network Security.
System Implementation
School of Psychology Online Ethics Guide No. 1 Submitting an application for ethical review. JRC/13/10/2014.
Tutorial Introduction Fidelity NTSConnect is an innovative Web-based software solution designed for use by customers of Fidelity National Title Insurance.
Preparation and processing of in-session documents.
LGC Website and Customer On-line Tools LGC RESOURCE 2014.
CSE 486/586 CSE 486/586 Distributed Systems PA Best Practices Steve Ko Computer Sciences and Engineering University at Buffalo.
Guidelines for the CMM coding project 5 October 2006 (or, “How to make your life easier in the long run”)
June 14, 2001Exception Handling in Java1 Richard S. Huntrods June 14, 2001 University of Calgary.
CSA Release 2 CYBER Training. Training Purpose Review the new functionality in CYBER that will assist in the submission and review of Treatment Plans.
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.
Developing Workflows with SharePoint Designer David Coe Application Development Consultant Microsoft Corporation.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
General Programming Introduction to Computing Science and Programming I.
Preparing papers for International Journals Sarah Aerni Special Projects Librarian University of Pittsburgh 20 April 2005.
Debugging !!!  ► Believe it or not, errors happen ► The most frustrating part of programming ► Hunting down an error can be harder and more time consuming.
Program Development Life Cycle (PDLC)
Seungchan Lee Intelligent Electronic Systems Human and Systems Engineering Department of Electrical and Computer Engineering Software Release and Support.
1. To start the process, Warehouse Stationery (WSL) will invite you to use The Warehouse Group Supplier Electronic Portal and will send you the link to.
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
CS 350, slide set 5 M. Overstreet Old Dominion University Spring 2005.
Software Development Process.  You should already know that any computer system is made up of hardware and software.  The term hardware is fairly easy.
Forms and Server Side Includes. What are Forms? Forms are used to get user input We’ve all used them before. For example, ever had to sign up for courses.
DEBUGGING. BUG A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
Submitting Course Outlines for C-ID Designation Training for Articulation Officers Summer 2012.
Capabilities of Software. Object Linking & Embedding (OLE) OLE allows information to be shared between different programs For example, a spreadsheet created.
Chapter 0 Getting Started. Objectives Understand the basic structure of a C++ program including: – Comments – Preprocessor instructions – Main function.
Prepared by: Steve Teo Contributors: Tong Huu Khiem.
Mtivity Client Support System Quick start guide. Mtivity Client Support System We are very pleased to announce the launch of a new Client Support System.
This document gives one example of how one might be able to “fix” a meteorological file, if one finds that there may be problems with the file. There are.
Earth System Modeling Framework Python Interface (ESMP) October 2011 Ryan O’Kuinghttons Robert Oehmke Cecelia DeLuca.
NCEP ESMF GFS Global Spectral Forecast Model Weiyu Yang, Mike Young and Joe Sela ESMF Community Meeting MIT, Cambridge, MA July 21, 2005.
Intermediate 2 Computing Unit 2 - Software Development.
Navigation and Ancillary Information Facility NIF SPICE Toolkit Common Problems November 2014.
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring.
Reliance PPAP Application. Reliance - PPAP The PPAP application is designed to generate and track the entire Purchase Part Approval Process. Reliance.
1 © 2004 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Cisco Technical Support Seminar Using the Cisco Technical Support Website.
Component D: Activity D.3: Surveys Department EU Twinning Project.
AAF tips and tricks Arsen Hayrapetyan Yerevan Physics Institute, Armenia.
Development Environment
Chapter 2: System Structures
(Harvard) Melissa Sulprizio (Harvard) Lizzie Lundgren (Harvard)
Adding Assignments and Learning Units to Your TSS Course
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
Presentation transcript:

GEOS–Chem Model Clinic / Q & A GEOS–Chem Model Clinic / Q & A Bob Yantosca Software Engineer Atmospheric Chemistry Modeling Group Harvard University Philippe Le Sager Research Associate Atmospheric Chemistry Modeling Group Harvard University

GEOS–Chem Support Staff  Bob Yantosca (Software Engineer) and Philippe Le Sager (Research Associate) are responsible for developing and maintaining the GEOS–Chem source code for the user community. They are available during regular business hours (M-F, 9AM–5PM ET). PhoneFAX Bob Philippe Le  The general rule of thumb is that if you have a question about the GEOS–Chem code itself, or if your question deals with a programming or coding matter, then you should ask Bob and Philippe.  On the other hand, if you have a question about a scientific matter, a data source, etc., then you should direct your question to the person(s) who have worked on that particular topic.  For a list of GEOS–Chem user groups the research topics they are working on, please visit the GEOS–Chem People & Projects page:

Documentation and Information GEOS–Chem information will be disseminated via the mailing list  Please make sure that you have subscribed! GEOS–Chem documentation and other resources are online!  GEOS–Chem users’ manual  GEOS–Chem programming style guide  Information about running GEOS–Chem on various platforms  Information about how to parallelize code with OpenMP commands  List of available met fields that can be used for GEOS–Chem simulations  List of GEOS–Chem related publications  Links to Fortran and IDL tutorial sites  Links to presentations from previous GEOS–Chem user meetings  TESTRUN — a script package for submitting GEOS–Chem runs via queues  GAMAP — our IDL visualization package for viewing GEOS–Chem output!

GEOS–Chem User Expectations We encourage all users to:  “Discuss amongst yourselves” – especially those of you who are working with the same type of GEOS–Chem simulations  Use the GEOS–Chem list to contact other GEOS–Chem users  Keep us updated as to the status of any GEOS–Chem related publications or other developments  Update to the latest GEOS–Chem version at the start of a new project We expect all GEOS–Chem users to:  Have a working knowledge of Fortran, IDL, and Unix scripts  Be familiar with some basic debugging practices  Be familiar with the compiler commands for your given platform(s)  BE RESOURCEFUL! Try to exhaust all possible debugging options before asking Philiippe & Bob for assistance.

GEOS–Chem Development Cycle How GEOS–Chem Code Development works  First download a recent standard code version (public or internal)  Add your modifications into the code  Test your code thoroughly and make sure that it works  Contact Bob & Philippe and request that your changes be included in the standard code  Bob & Philippe will add your changes to the standard code and benchmark it  Daniel approves the benchmark results and declares the version APPROVED  GOTO 1

GEOS–Chem Versions Public Releases  Each GEOS–Chem public release is benchmarked with both a 1-month benchmark and a 1-year benchmark before it is released to the user community.  Daniel Jacob is currently responsible for examining the results of all GEOS– Chem benchmark simulations.  The GEOS–Chem users’ guide is updated for each new public release. Internal Releases  Not all GEOS–Chem revisions are released to the user community at large. Some revisions are necessary for testing purposes.  Also, if many changes to the code are required, it is often expedient to stretch these changes over several revisions, so that each individual revision can be fully tested and benchmarked.  Each internal release is tested with a 1-month benchmark simulation.  You are free to use Internal Releases, but they come “as-is”!

Considerations for GEOS–Chem Developers GEOS–Chem is a GRASSROOTS model  The research needs of our users drive GEOS–Chem development  We don’t have every possible type of simulation or diagnostic in the code “Offline” chemistry simulations  Philippe & Bob are responsible for maintaining the fullchem simulation  However, GEOS–Chem users are responsible for maintaning offline sims  Hg, CO, CO2, Ox, Rn/Pb/Be, offline dust & aerosols, CH3I, CH4, etc.  We do not have the resources to benchmark these simulations. We can, however, add your revisions into the std code and then ask for your help in evaluating if the model is producing correct results.  Be aware that some offline simulations may need updating with the latest new emissions or other such data files.  Also be aware that if the model does not have a particular diagnostic, you might have to add that in yourself.

Considerations for GEOS–Chem Developers Be aware that GEOS–Chem contains some “historical baggage”  In the past, we have ingested code in an “as-is” fashion from many sources  GEOS–Chem uses a number of 3 rd -party code packages:  SMVGEAR, TPCORE, ISORROPIA, MARES, FAST-J, etc.  In many cases the original code structure was preserved, resulting in:  COMMON blocks  confusing nomenclature  confusing subroutine calling sequences  inadequate documentation When writing new code …  Avoid putting “spaghetti layers” atop of historical baggage  Use newer Fortran 90 language features  Add LOTS and LOTS of documentation !!

Considerations for GEOS–Chem Developers Restructuring of GEOS-Chem for ESMF compliance  GEOS–Chem will soon be rewritten for compatibility with the Earth System Model Framework (ESMF) – to allow interchangeability w/ NASA codes  Certain coding structures will be phased out for ESMF compliance  Variables will have to be passed as arguments for ESMF compliance  Transition from OpenMP (shared memory) to MPI (distributed memory) parallelization will require the separation of file I/O from the places where we do computations  Nomenclature will need to be updated to standard conventions (e.g. CF)  File format may be switched from binary to netCDF / HDF / HDF–EOS  And various other technical things not mentioned here …  If you can avoid using COMMON blocks and to try to structure your code to accept inputs via arguments, then that will help us out!

GEOS–Chem Debugging Tips 1.Take a good look at the log file  Many errors will be recognizeable by the text “GEOS–Chem ERROR!” in the log file. Sometimes the cause of error will be readily apparent (i.e. file not found, etc.)  Other types of errors (e.g. system errors, network errors, arithmetic exceptions, etc.), can be a little harder to diagnose.  Turn on extra debug output with ND70 diagnostic. 2.Did you modify the standard code?  If so, then focus on your most recent changes  You should always keep a clean (unmodified) version for comparison 3.Can you isolate the error to a particular operation?  Does the error occur in transport, chemistry, drydep, wetdep, … ?

GEOS–Chem Debugging Tips 4.Does the error happen consistently?  If the error happens at the same model date & time, it could indicate bad input data  If it happened only once, it could be caused by a network problem or other such transient condition 5.Check for math errors  Is there a division by zero, logarithm of negative number, etc?  On Sun compiler, setting –fast optimization automatically will check for various kinds of math errors 6.Check for array-out-of-bounds errors  Recompile with –C (or –CB on Altix) option to check for array-out-of- bounds errors  Out-of-bounds errors can produce segmentation faults

GEOS–Chem Debugging Tips 7.When in doubt, print it out!  Print the values of variables in the area where you suspect the error lies  Use MINVAL, MAXVAL, SUM to print out min, max, sum of arrays  Also use call flush(6) to flush the output buffer after writing  Maybe you will see something wrong in the output 8.When all else fails, USE THE BRUTE FORCE METHOD!  Comment out code until you find where the failure occurs  This is the method of last resort, but it will always work! 9.DON’T PANIC !!

Reporting GEOS–Chem bugs and errors  If you should encounter a bug or a problem running GEOS-Chem, then please contact both Bob and Philippe with a description of the problem. Please include the following information: 1.GEOS-Chem Version # (e.g. v7–03–06, v7–04–01) 2.Met field type (e.g. GEOS-3, GEOS-4, GCAP) 3.Horizontal Resolution (e.g. 4x5, 2x25, 1x1) 4.Type of Simulation (e.g. full-chemistry, Hg, Tagged CO ) 5.Platform (e.g. Altix, SGI-Origin, Linux box) 6.Compiler (e.g. IFORT, Sun, SGI Mips, PGI... ) 7.Number of Processors 8.Diagnostics Requested (e.g. ND28, ND43, ND45, etc.) 9.Description of problem 10.Error Message  also, if possible, please attach a copy of the log file from the simulation.

Providing Emissions, etc. data For inclusion into GEOS–Chem We ask that you provide us with the following:  The “raw” data files (e.g. on 0.5 x 0.5 or 1 x 1 grids)  References to journal articles or other documentation for the “raw” data  Any IDL or other code used to process the “raw” data files  The processed data files (at 2 x 2.5 or 4 x 5) for use with GEOS–Chem  A short description of the steps involved in going from the “raw” data to the “processed” data Rationale:  The reason we ask for all of this is because we need to have all of the machinery preserved so that we can reprocess the data at a later time. (For example, upon release of a new “raw” data version)  In the past, people have created data sets and then have moved on to other jobs or positions. Then we couldn’t contact them when we had to later on try to figure out what they actually did. We want to avoid this in the future!

Question and Answer Session Philippe and Bob will take your questions on:  GEOS–Chem  GAMAP  TESTRUN  Unix Scripts  Simulation specifics  Or anything model-related !!