GSI Fundamentals (1): Setup and Compilation

Similar documents
GSI Fundamentals (1): Setup and Compilation

GSI Fundamentals (1): Setup and Compilation

GSI Software Design. Donald Stark National Center for Atmospheric Research (NCAR) The Developmental Testbed Center (DTC) 24 July, 2010

Gridpoint Statistical Interpolation (GSI)

GSI Setup, Run and Namelist

GSI Setup, Run and Namelist

Gridpoint Statistical Interpolation (GSI) Version 3.0 User s Guide

COMMUNITY VERSION 3.3. User s Guide. June Developmental Testbed Center

User's Guide for the NMM Core of the Weather Research and Forecast (WRF) Modeling System Version 3. Chapter 2: Software Installation

User s Guide Version 3.5

COMMUNITY VERSION 3.4. User s Guide. July Developmental Testbed Center

USERS GUIDE for the Community release of the GFDL Vortex Tracker

Installing Steps. WRF & WPS: Compilation Process. System Requirements. Check System Requirements

Installing WRF- Sfire

File: /home/ram/desktop/pio_bldlog Page 1 of 8

Porting CESM Jim Edwards CESM Software Engineering Group

Installing WRF & WPS. Kelly Keene NCAR/MMM January 2015

Installation of OpenMX

User s Guide Version 1.3

How to compile Fortran program on application server

Installing the Quantum ESPRESSO distribution

WRF Data Assimilation System: Software and Compilation

GSI Fundamentals (2) Run and Namelist

Orbital Integrator System Manual

GSI fundamentals (4): Background Error Covariance and Observation Error

Running CSIM 5.0 at UD

Installing SW4 version 2.0

MIGRATING TO THE SHARED COMPUTING CLUSTER (SCC) SCV Staff Boston University Scientific Computing and Visualization

User s Guide Version 3.7

Advanced School in High Performance and GRID Computing November 2008

SDPLR 1.03-beta User s Guide (short version)

Documentation of the chemistry-transport model. [version 2017r4] July 25, How to install required libraries under GNU/Linux

Introduction to HPC Programming 4. C and FORTRAN compilers; make, configure, cmake. Valentin Pavlov

Our Workshop Environment

GSI Fundamentals (5): Review and Applications

Model Evaluation Tools Version 3.0 (METv3.0) User s Guide 3.0.2

Ensemble Kalman Filter

User s Guide to the Community Atmosphere Model CAM-5.3

Our Workshop Environment

Mathematical Libraries and Application Software on JUQUEEN and JURECA

Compiling applications for the Cray XC

NOAA Technical Memorandum OAR GSD-47. COMMUNITY HWRF USERS GUIDE v3.8a. November 2016 THE DEVELOPMENTAL TESTBED CENTER. Mrinal K. Biswas Laurie Carson

Lab #1 Installing a System Due Friday, September 6, 2002

Introduction to Linux Scripting (Part 2) Brett Milash and Wim Cardoen CHPC User Services

Effective Use of CCV Resources

Our Workshop Environment

EnKF Fundamentals (2b): Applications

An Overview of ROMS Code. Kate Hedstrom, ARSC January 2011

OpenACC. Part I. Ned Nedialkov. McMaster University Canada. October 2016

NWP SAF. SSMIS UPP Averaging Module. Technical Description NWP SAF. SSMIS UPP Averaging Module Technical Description. Version 1.0

Makefiles are a simple way to organize code compilation. Using a makefile it is possible to compile several source files to produce an executable;

EnKF Fundamentals (1): Configuration and Run

GNU make... Martin Ohlerich, Parallel Programming of High Performance Systems

Introductory OpenMP June 2008

Optimization and Scalability

Introduction to GALILEO

Mathematical Libraries and Application Software on JUQUEEN and JURECA

Meteorology 5344, Fall 2017 Computational Fluid Dynamics Dr. M. Xue. Computer Problem #l: Optimization Exercises

User s Guide Version 1.2

Linux environment. Graphical interface X-window + window manager. Text interface terminal + shell

NOAA Technical Memorandum OAR GSD-51. COMMUNITY HWRF USERS GUIDE v3.9a. October 2017 THE DEVELOPMENTAL TESTBED CENTER

Our Workshop Environment

Workshop on High Performance Computing (HPC08) School of Physics, IPM February 16-21, 2008 HPC tools: an overview

EE/CSCI 451 Introduction to Parallel and Distributed Computation. Discussion #4 2/3/2017 University of Southern California

5.3 Install grib_api for OpenIFS

Introduction to GALILEO

Introduction to Compilers and Optimization

Motivation PC WS. Difficulty : Instability. Well-Posedness and Ill-posedness in the sense of Hadamard. Motivation ill-posed problems.

Mathematical libraries at the CHPC

MDSBI: Multi-Dimensional Spectral Boundary Integral Code, Version

Combining OpenMP and MPI

Introduction to Linux Scripting (Part 2) Brett Milash and Wim Cardoen CHPC User Services

Common Community Physics Package (CCPP)

Introduction to PICO Parallel & Production Enviroment

Lab #3 Automating Installation & Introduction to Make Due in Lab, September 15, 2004

Introduction to CINECA HPC Environment

Compiling environment

Our Workshop Environment

MPICH Installer s Guide Version Mathematics and Computer Science Division Argonne National Laboratory

Coding Tools. (Lectures on High-performance Computing for Economists VI) Jesús Fernández-Villaverde 1 and Pablo Guerrón 2 March 25, 2018

PGI Installation and Release Notes for OpenPOWER CPUs

Introduction to Linux

User's Guide to the Community Atmosphere Model CAM-5.3

Using the MaRC2 HPC Cluster

How to install and build an application

Mathematical Libraries and Application Software on JUROPA, JUGENE, and JUQUEEN. JSC Training Course

Xeon Phi Native Mode - Sharpen Exercise

Global Model Test Bed Single Column Model (SCM)

BMS: Build Management System

PGI Installation and Release Notes for OpenPOWER CPUs

2011 BUFR Tutorial, 13 November 2011, Boulder, CO. GSI BUFR Interface. Ming Hu** and Ruifang Li* *NCAR/MMM **Developmental Testbed Center

Compiling environment

McIDAS-X Version 2008 Upgrade Procedure May 2008

SWASH IMPLEMENTATION MANUAL. SWASH version 4.01A

IFISS is a set of test problems from [Elman, Silvester, Wathen]. Convectiondiffusion problems cd2 and cd4 are the two of interest here.

Practical: a sample code

Short LAPACK User s Guide

GUT. GUT Installation Guide

Combining OpenMP and MPI. Timothy H. Kaiser,Ph.D..

Xeon Phi Native Mode - Sharpen Exercise

Transcription:

2012 GSI Summer Tutorial, Boulder, CO GSI Fundamentals (1): Setup and Compilation Donald Stark Na-onal Center for Atmospheric Research (NCAR) The Developmental Testbed Center (DTC) Wednesday 21 August, 2012

Outline GSI fundamentals (1): Setup and Compilation Where to get the code Directory structure Unpacking, setup, & build Por-ng build to new plaoorms GSI fundamentals (2): Run and Namelist GSI fundamentals (3): Diagnos-cs GSI fundamentals (4): Applica-ons This talk is tailored based on Chapter 2 of the GSI User s Guide for Community Release V3.1 2

Downloading the Source Code All of the GSI source code can be obtained from: hup://www.dtcenter.org/com- GSI/users/downloads/index.php 3

Downloading Source code 4

Unpack Downloads Two tar files comgsi_v3.1.tar.gz CRTM_Coefficients- 2.0.5.tar.gz Unpack source code & CRTM coefficients gunzip *.tar.gz tar xvf comgsi_v3.1.tar tar xvf CRTM_Coefficients- 2.0.5.tar 5

Supported Platforms Platform IBM Linux Mac Darwin F compiler xlf Intel (ifort) Intel (ifort) PGI (pgf90) PGI (pgf90) PGI (pgf90) C compiler xlc Intel (icc) Gnu (gcc) PGI (pgcc) Gnu (gcc) PGI (pgcc) 6

System Requirements FORTRAN 90+ compiler C compiler Perl Gnu Make NetCDF V3.6+, & V4+ Linear algebra library (ESSL or LAPACK/BLAS) MPI V1.2+ & OpenMP 7

Tour of the Directory Structure Inside the top level of the comgsi_v3.1/ directory are four scripts and five directories. arch/ clean compile configure fix/ makefile run/ src/ u-l/ 8

Build Infrastructure Uses DTC Build system /arch directory contains rules & scripts for build. /arch/config.pl perl script for parsing system info & combining together configure.gsi file. /arch/preamble: uniform requirements for the code, such as word size, etc. /arch/configure.defaults default plaoorm seings /arch/postamble: standard make rules & dependencies./clean script to clean the build../configure script to create configura-on file configure.gsi; contains infoma-on on compiler, MPI, & paths../compile script to compile executable../makefile top level makefile for build. 9

The rest fix/ directory containing fixed files Background error covariance and observa-on errors CRTM coefficients moved to a separate directory due to size Observa-on data control files BUFR tables for BUFR/PrepBUFR files run/ run_gsi.ksh sample GSI run script run_gsi_angupdate.ksh sample satellite angle bias correc-on run script gsi.exe executable aker compiling src/ source directory libs/ supplemental library source code main/ main GSI source code u:l/ addi-onal GSI community tools 10

Supplemental Libraries (libs/) bacio/ NCEP BACIO library bufr/ NCEP BUFR library crtm_jcsda_2.0/ JCSDA Community Radia-ve Transfer Model gfsio/ UnformaUed Fortran record for GFS I/O gsdcloud/ GSD Cloud Analysis misc/ Misc addi-onal libraries nemsio/ Support for NEMS I/O sfcio/ NCEP GFS surface file I/O module sigio/ NCEP GFS atmospheric file I/O module sp/ NCEP spectral- grid transforms (global applica-on only) w3/ NCEP W3 library (date/-me manipula-on, GRIB) 11

12 Building GSI

Building GSI Build sequence./clean a Set library paths setenv WRF_DIR Location_of_WRF_directory setenv LAPACK (typically only needed for Linux w/intel)../configure Customize file configure.gsi if necessary./compile >& compile.log & Successful compila-on comgsi_v3.1/run/gsi.exe No Error informaion in compile.log 13

Clean Compilation To remove all object files and executables, type: clean To remove all built files, including the configure file, type: clean a A clean all needed if: Compila-on failed Want to change configura-on file 14

Diagnosing Build Issues How the build system works What to do when the build fails 15

GSI Build System Configuration stage./configure./configure.gsi./configure Generate local compile options Saves values in configure.gsi Compiling stage./makefile./src/ makefile src/main/ makefile_dtc src/libs/ makefile src/libs/lib1/ makefile src/libs/lib2/ makefile ü Run ü Run./compile Runs top level./makefile Which in turn runs./src/makefile, Which runs./src/main/makefile 16

How the build works Running./configure creates file configure.gsi by: Running the Perl script /arch/config.pl Script Config.pl queries the system & selects the appropriate entry from /arch/ configure.defaults Results are saved to configure.gsi. 17

Fixing Build Issues Most build problems are due to non- standard ins-lla-on of one of the following: compiler, MPI, or support libraries. Edit paths in the file configure.gsi to correctly reflect your system. When build succeeds, modify file arch/ configure.defaults to include new seings. Report issues to gsi_help@ucar.edu so they can be addressed in next release. 18

Fixing Build Issues (continued) The name or loca-on of your LAPACK library may differ from what the build assumes. See MYLIBsys You may also want to use different Fortran compiler flags: See FFLAGS_* You may also want to use different C compiler flags: See CFLAGS You may have a slightly different name for your compilers: See SFC, SF90, and SCC to specify your Fortran, Fortran90+, and C compilers. See the User s Guide for details 19

configure.gsi #### Architecture specific settings #### # Settings for Linux x86_64, PGI compilers (pgf90 & gcc) (dmpar,optimize)# LDFLAGS = -Wl,-noinhibit-exec COREDIR = /d1/stark/gsi/src/pgi/release_v3.1 INC_DIR = $(COREDIR)/include BYTE_ORDER = LITTLE_ENDIAN SFC = pgf90 SF90 = pgf90 -Mfree SCC = gcc INC_FLAGS = -module $(INC_DIR) -I $(INC_DIR) -I /usr/local/netcdf3-pgi/include FFLAGS_i4r4 = -i4 -r4 FFLAGS_i4r8 = -i4 -r8 FFLAGS_i8r8 = -i8 -r8 FFLAGS_DEFAULT = -Kieee -pc 64 -Ktrap=fp FFLAGS_DEBUG FFLAGS_OPT FFLAGS = -O0 -q -C = -O3 = -fast $(FFLAGS_DEFAULT) -DLANGUAGE_FORTRAN -DsysLinux $(INC_FLAGS) $(LDFLAGS) -DLINUX -DPGI # Library build flags FFLAGS_BACIO = -O3 $(FFLAGS_DEFAULT) ARFLAGS_BACIO = FFLAGS_BUFR = -O3 $(FFLAGS_DEFAULT) $(FFLAGS_i4r8) CFLAGS_BUFR = -O3 -DUNDERSCORE FFLAGS_CLOUD = -O3 $(FFLAGS_DEFAULT) FFLAGS_CRTM = -fast $(FFLAGS_DEFAULT) LFLAGS_CRTM = FFLAGS_GFSIO = -O3 $(FFLAGS_DEFAULT) $(FFLAGS_i4r4) ARFLAGS_GFSIO = 20

configure.gsi #### Architecture specific settings #### # Settings for Linux x86_64, PGI compilers (pgf90 & gcc) (dmpar,optimize)# LDFLAGS = -Wl,-noinhibit-exec COREDIR = /d1/stark/gsi/src/pgi/release_v3.1 INC_DIR = $(COREDIR)/include BYTE_ORDER = LITTLE_ENDIAN SFC = pgf90 SF90 = pgf90 -Mfree SCC = gcc INC_FLAGS = -module $(INC_DIR) -I $(INC_DIR) -I /usr/local/netcdf3-pgi/include FFLAGS_i4r4 = -i4 -r4 FFLAGS_i4r8 = -i4 -r8 FFLAGS_i8r8 = -i8 -r8 FFLAGS_DEFAULT = -Kieee -pc 64 -Ktrap=fp FFLAGS_DEBUG FFLAGS_OPT FFLAGS = -O0 -q -C = -O3 = -fast $(FFLAGS_DEFAULT) -DLANGUAGE_FORTRAN -DsysLinux $(INC_FLAGS) $(LDFLAGS) -DLINUX -DPGI # Library build flags FFLAGS_BACIO = -O3 $(FFLAGS_DEFAULT) ARFLAGS_BACIO = FFLAGS_BUFR = -O3 $(FFLAGS_DEFAULT) $(FFLAGS_i4r8) CFLAGS_BUFR = -O3 -DUNDERSCORE FFLAGS_CLOUD = -O3 $(FFLAGS_DEFAULT) FFLAGS_CRTM = -fast $(FFLAGS_DEFAULT) LFLAGS_CRTM = FFLAGS_GFSIO = -O3 $(FFLAGS_DEFAULT) $(FFLAGS_i4r4) ARFLAGS_GFSIO = 21

Paths & FFLAGS configure.gsi COREDIR = /d1/stark/gsi/src/pgi/release_v3.1 INC_DIR = $(COREDIR)/include BYTE_ORDER = LITTLE_ENDIAN SFC = pgf90 SF90 = pgf90 -Mfree SCC = gcc INC_FLAGS = -module $(INC_DIR) -I $(INC_DIR) -I / usr/local/netcdf3-pgi/include 22

Paths & FFLAGS configure.gsi COREDIR = /d1/stark/gsi/src/pgi/release_v3.1 INC_DIR = $(COREDIR)/include BYTE_ORDER = LITTLE_ENDIAN SFC = pgf90 SF90 = pgf90 -Mfree SCC = gcc INC_FLAGS = -module $(INC_DIR) -I $(INC_DIR) -I / usr/local/netcdf3-pgi/include 23

Paths & FFLAGS configure.gsi COREDIR = /d1/stark/gsi/src/pgi/release_v3.1 INC_DIR = $(COREDIR)/include BYTE_ORDER = LITTLE_ENDIAN SFC = pgf90 SF90 = pgf90 -Mfree SCC = gcc INC_FLAGS = -module $(INC_DIR) -I $(INC_DIR) -I / usr/local/netcdf3-pgi/include 24

Paths & FFLAGS configure.gsi COREDIR = /d1/stark/gsi/src/pgi/release_v3.1 INC_DIR = $(COREDIR)/include BYTE_ORDER = LITTLE_ENDIAN SFC = pgf90 SF90 = pgf90 -Mfree SCC = gcc INC_FLAGS = -module $(INC_DIR) -I $(INC_DIR) -I / usr/local/netcdf3-pgi/include 25

Paths & FFLAGS configure.gsi FFLAGS_DEFAULT = -Kieee -pc 64 -Ktrap=fp FFLAGS_DEBUG = -O0 -q -C FFLAGS_OPT = -O3 FFLAGS = -fast $(FFLAGS_DEFAULT) -DLANGUAGE_FORTRAN -DsysLinux $(INC_FLAGS) $(LDFLAGS) -DLINUX DPGI 26

configure.gsi #### Architecture specific settings #### # Settings for Linux x86_64, PGI compilers (pgf90 & gcc) (dmpar,optimize)# LDFLAGS = -Wl,-noinhibit-exec COREDIR = /d1/stark/gsi/src/pgi/release_v3.1 INC_DIR = $(COREDIR)/include BYTE_ORDER = LITTLE_ENDIAN SFC = pgf90 SF90 = pgf90 -Mfree SCC = gcc INC_FLAGS = -module $(INC_DIR) -I $(INC_DIR) -I /usr/local/netcdf3-pgi/include FFLAGS_i4r4 = -i4 -r4 FFLAGS_i4r8 = -i4 -r8 FFLAGS_i8r8 = -i8 -r8 FFLAGS_DEFAULT = -Kieee -pc 64 -Ktrap=fp FFLAGS_DEBUG FFLAGS_OPT FFLAGS = -O0 -q -C = -O3 = -fast $(FFLAGS_DEFAULT) -DLANGUAGE_FORTRAN -DsysLinux $(INC_FLAGS) $(LDFLAGS) -DLINUX -DPGI # Library build flags FFLAGS_BACIO = -O3 $(FFLAGS_DEFAULT) ARFLAGS_BACIO = FFLAGS_BUFR = -O3 $(FFLAGS_DEFAULT) $(FFLAGS_i4r8) CFLAGS_BUFR = -O3 -DUNDERSCORE FFLAGS_CLOUD = -O3 $(FFLAGS_DEFAULT) FFLAGS_CRTM = -fast $(FFLAGS_DEFAULT) LFLAGS_CRTM = FFLAGS_GFSIO = -O3 $(FFLAGS_DEFAULT) $(FFLAGS_i4r4) ARFLAGS_GFSIO = 27

Library Build FFLAGS configure.gsi # Library build flags FFLAGS_BACIO = -O3 $(FFLAGS_DEFAULT) ARFLAGS_BACIO = FFLAGS_BUFR = -O3 $(FFLAGS_DEFAULT) $(FFLAGS_i4r8) CFLAGS_BUFR = -O3 -DUNDERSCORE FFLAGS_CLOUD = -O3 $(FFLAGS_DEFAULT) FFLAGS_CRTM = -fast $(FFLAGS_DEFAULT) LFLAGS_CRTM = FFLAGS_GFSIO = -O3 $(FFLAGS_DEFAULT) $(FFLAGS_i4r4) 28

configure.gsi CPP = cpp CPP_FLAGS = -C -P -D$(BYTE_ORDER) -D_REAL8_ DWRF -DLINUX -DPGI CPP_F90FLAGS = -traditional-cpp -lang-fortran DM_FC DM_F90 DM_CC = mpif90 -f90=pgf90 = mpif90 -Mfree -f90=pgf90 = gcc CFLAGS = -O0 -DLINUX -DUNDERSCORE CFLAGS2 = -DLINUX -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long 29

Library Paths configure.gsi Main issues are: library paths are wrong library names are wrong MYLIBsys = -llapack -lblas NETCDF_PATH = -rpath,/usr/local/netcdf3pgi/lib 30

Support For more detailed informa-on on installa-on, please see: GSI User s Guide, Chapter 2 www.dtcenter.org/com- GSI/users/docs/index.php For further assistance contact: gsi_help@ucar.edu 31