The CISM Code Infrastructure Bob Weigel The CISM Knowledge Transfer Short Course AFWA Omaha, November 2-3, 2005 Outline • Sun to Earth Numerical Modeling – Model Overview – Pairwise Couplings • Coronal and Heliosphere Model Coupling • Magnetosphere and Thermosphere-Ionosphere Coupling • Magnetosphere and Inner Magnetosphere Model Coupling • The CISM Forecast Model • Visualization Products CISM Heliospheric Models (CORHEL 1.0) Solar Corona Model Magnetohydrodynamics Around a Sphere (MAS) Linker et al., 1999; Mikic et al., 1999; Riley et al., 2001 Solar Wind Model (ENLIL - Sumerian wind deity) Odstrcil and Pizzo, 1999; Odstrcil et al., 2002 CISM Geospace Models (LTR 1.0) Magnetosphere Model Lyon-Fedder-Mobarry (LFM) Fedder and Lyon, 1995; Lyon et al., 1998; 2004 Rice Convection Model (RCM) Wolf and Spiro, 1987; Toffoletto et al., 2004 Thermosphere/Ionosphere Model Thermosphere-Ionosphere Nested Grid (TING) Roble et al., 1988; Wang et al., 1999 Numerical Model Chain (CISM 1.0) Solar Corona Model (MAS) B, V, , p Solar Wind Model (ENLIL) B, V, , T Magnetosphere Model (LFM) J||, , T MagnetosphereIonosphere Coupler , , F B, , p , P, H P, H Thermosphere/Ionosphere Model (TING) , p Inner Magnetosphere Model (RCM) CISM Numerical Code Coupling Framework • Need to develop programming paradigm which allows for efficient coupling of models and is flexible enough to allow adding new physics and models – – – – – efficient transmission of information among codes interpolation of data between grids translation of physical variables between codes control mechanisms to synchronize execution and interaction between codes minimal modifications to existing code base • Intercomm – University of Maryland – A. Sussman – Solution to the MxN problem in coupling parallel codes – Will address the control issues • Overture - LLNL – B. Henshaw & D. Quinlan – C++ framework for solving differential equations on overset grids – Used to handle interpolation between model grids Framework Example • • • • Overture grid functions identify regions of overlap between models as well an interpolatant Intercomm creates data descriptor to determine how to move data in regions of overlap between coupler and models A & B Applied Intercomm library to test case based upon splitting 2 fluid MHD simulation Overture application being developed to replace coupling infrastructure in CMIT The Forecast Model Concept (From Baker et al., 2004)) CISM_DX a community-developed set of data, models, and data and model explorers CISM_DX • Needed to create a visualization and data analysis tool which could be used by validation team as well as model developers – Used Open DX and Octave as a basis • Import modules currently implemented – MAS, ENLIL, LFM, TING, and WSA – RCM and TIEGCM are under development • Also includes and extensive collection of observations and tools for calculating metrics and skill scores • KT thrust is developing ‘push button’ installation process – includes examples and documentation – Available for download from http://lasp.colorado.edu/cism/CISM_DX • User group with mailing list and ‘network’ archive CISM_DX Lead Developers Michael Wiltberger – NCAR/HAO Michael Gehmeyr - CU/LASP and NOAA/SEC Bob Weigel - CU/LASP CISM_DX Contributors Fabio Acero Scot Elkington Tim Guild Elly Huang John Lyon Bob McPherron Asher Pembroke Marius Schamschula Dimitris Vassiliadis Logo by Susanna Lamey What • A collection of analysis and visualization tools by scientists, that use, or can be compiled with, Open Source Software on multiple operating systems. The tools are integrated. •CISM-DX is a software package that contains –Extensions to Octave and OpenDX for import and analysis of numerical and measurement data –Extensive suite of networks and programs for both novice and expert users –Extensive set of time series data in a common format What We take a large body of data and programs, in many formats and languages, and write high-level interfaces, tutorials, and expert-use demos for their use. Integrated? • It is not a web page with a list packages in source code format. These exist. It is not a web page for obtaining a restricted set of information. • It is not a set of libraries that is called by a Java or other frontend (examples: VisBARD, IDV, SSC 3D Orbit Viewer, AFGeospace). Although it could be. • It is a set of source codes, pre-compiled for several operating systems, usage examples, educational tutorials, and programs that integrate the codes written in different languages. What calls the library (or the “front-end”) depends on the community - the library is separated from the GUI – the libraries are integrated so that the GUI can easily change! Code distributed with CISM_DX • 50 .m files compatible with Octave/Matlab • 30 C/Fortran codes wrapped with OpenDX or Octave • 50 .net files for visualization in OpenDX • 1000 years (~1 GB compressed) of time series data @ 1-minute resolution • 2 .pro files for IDL • 10 .pl files for data file manipulation with Perl Datasets distributed with CISM_DX • Numerous data sets from across the community where collected moved on uniformly spaced time grids and stored in HDF files – Provides the user with essential data quickly so they can move onto doing science with having to learn new data formats • Dataset includes – Satellite Observations • ACE,WIND,GEOTAIL,GOES – Ground Magnetometer • WDC, FMI – Indices • AE, Dst, Ap, F10.7, aa, am Why • Space physics needs a tool for visualizing and analyzing numerical and empirical models as well as observational data – Must support all levels of users from novice to expert – Must be inexpensive – Should draw upon the previous work and knowledge of the space physics community Why continued • It has been successful in CISM – In allowing scientists to have access to Sun-Earth analysis programs without having to learn specialized data formats and data sets – In getting students working with expert tools – In speeding up model transition into operations • The number of data formats and programming languages scale with time. Integration can often be more important than optimization (of data formats, download speed, etc.) Without a framework, this bottom-up approach is the best alternative (and some may say better). The CISM_DX contribution framework Our approach: Give researchers and students a useful tool and a mechanism and framework for improving upon it. The CISM_DX contribution framework 1. 2. 3. 4. 5. User develops tool using software in the CISM_DX package. Submits a contribution package Package is review and suggestions for improvement are made Final package is posted to CISM_DX web site and announced on email list. Developers meet to decide what and how parts of contribution can be integrated in a future CISM_DX release. • Ideally all contributions would be in Octave, OpenDX, C, Fortran 77, Perl, … anything that has cross-platform support and can be executed, compiled, or wrapped with Open Source Software. • However, there are many useful IDL and Matlab-specific codes that we would consider adding (especially graphics tools). They may not be as well-integrated as the other programs, but will still find use. Web page: http://lasp.colorado.edu/cism/CISM_DX Source code and pre-compiled binaries available for version 0.43. Version 0.5 expected in the end of June. OSX and Windows XP versions in August.