Atmospheric modeling: A technical and practical approach

Slides:



Advertisements
Similar presentations
SPEC ENV2002: Environmental Simulation Benchmarks Wesley Jones
Advertisements

Barcelona Supercomputing Center. The BSC-CNS objectives: R&D in Computer Sciences, Life Sciences and Earth Sciences. Supercomputing support to external.
Weather Research & Forecasting: A General Overview
Introduction to Openmp & openACC
WRF Modeling System V2.0 Overview
1 DISTRIBUTION STATEMENT XXX– Unclassified, Unlimited Distribution Laser Propagation Modeling Making Large Scale Ultrashort Pulse Laser Simulations Possible.
Reference: Message Passing Fundamentals.
Cactus in GrADS (HFA) Ian Foster Dave Angulo, Matei Ripeanu, Michael Russell.
DCABES 2009 China University Of Geosciences 1 The Parallel Models of Coronal Polarization Brightness Calculation Jiang Wenqian.
Parallel/Concurrent Programming on the SGI Altix Conley Read January 25, 2007 UC Riverside, Department of Computer Science.
CLIMATE SCIENTISTS’ BIG CHALLENGE: REPRODUCIBILITY USING BIG DATA Kyo Lee, Chris Mattmann, and RCMES team Jet Propulsion Laboratory (JPL), Caltech.
Shekoofeh Azizi Spring  CUDA is a parallel computing platform and programming model invented by NVIDIA  With CUDA, you can send C, C++ and Fortran.
CMAQ (Community Multiscale Air Quality) pollutant Concentration change horizontal advection vertical advection horizontal dispersion vertical diffusion.
MIGRATING TO THE SHARED COMPUTING CLUSTER (SCC) SCV Staff Boston University Scientific Computing and Visualization.
WRF-VIC: The Flux Coupling Approach L. Ruby Leung Pacific Northwest National Laboratory BioEarth Project Kickoff Meeting April 11-12, 2011 Pullman, WA.
Reference: / Parallel Programming Paradigm Yeni Herdiyeni Dept of Computer Science, IPB.
Installing WPS and WRF Michael Duda1 and Wei Wang1
High Performance Computation --- A Practical Introduction Chunlin Tian NAOC Beijing 2011.
CC02 – Parallel Programming Using OpenMP 1 of 25 PhUSE 2011 Aniruddha Deshmukh Cytel Inc.
Donald Stark National Center for Atmospheric Research (NCAR) The Developmental Testbed Center (DTC) Wednesday 29 June, 2011 GSI Fundamentals (1): Setup.
OpenMP in a Heterogeneous World Ayodunni Aribuki Advisor: Dr. Barbara Chapman HPCTools Group University of Houston.
NSF NCAR | NASA GSFC | DOE LANL ANL | NOAA NCEP GFDL | MIT Adoption and field tests of M.I.T General Circulation Model (MITgcm) with ESMF Chris Hill ESMF.
Introduction to the WRF Modeling System Wei Wang NCAR/MMM.
1 CCOS Seasonal Modeling: The Computing Environment S.Tonse, N.J.Brown & R. Harley Lawrence Berkeley National Laboratory University Of California at Berkeley.
WORK ON CLUSTER HYBRILIT E. Aleksandrov 1, D. Belyakov 1, M. Matveev 1, M. Vala 1,2 1 Joint Institute for nuclear research, LIT, Russia 2 Institute for.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Tools and Utilities for parallel and serial codes in ENEA-GRID environment CRESCO Project: Salvatore Raia SubProject I.2 C.R. ENEA-Portici. 11/12/2007.
Lecture 8. Profiling - for Performance Analysis - Prof. Taeweon Suh Computer Science Education Korea University COM503 Parallel Computer Architecture &
The WRF Model The Weather Research and Forecasting (WRF) Model is a mesoscale numerical weather prediction system designed for both atmospheric research.
Experience with COSMO MPI/OpenMP hybrid parallelization Matthew Cordery, William Sawyer Swiss National Supercomputing Centre Ulrich Schättler Deutscher.
Using the BYU Supercomputers. Resources Basic Usage After your account is activated: – ssh You will be logged in to an interactive.
CMAQ Runtime Performance as Affected by Number of Processors and NFS Writes Patricia A. Bresnahan, a * Ahmed Ibrahim b, Jesse Bash a and David Miller a.
Martin Schulz Center for Applied Scientific Computing Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
Hybrid MPI and OpenMP Parallel Programming
GPU Architecture and Programming
ARGONNE NATIONAL LABORATORY Climate Modeling on the Jazz Linux Cluster at ANL John Taylor Mathematics and Computer Science & Environmental Research Divisions.
Climate-Weather modeling studies Using a Prototype Global Cloud-System Resolving Model Zhi Liang (GFDL/DRC)
Experts in numerical algorithms and High Performance Computing services Challenges of the exponential increase in data Andrew Jones March 2010 SOS14.
Belgrade, 25 September 2014 George S. Markomanolis, Oriol Jorba, Kim Serradell Performance analysis Tools: a case study of NMMB on Marenostrum.
Donald Stark National Center for Atmospheric Research (NCAR) The Developmental Testbed Center (DTC) 15 January, 2014 Building the HWRF Components.
August 2001 Parallelizing ROMS for Distributed Memory Machines using the Scalable Modeling System (SMS) Dan Schaffer NOAA Forecast Systems Laboratory (FSL)
ATmospheric, Meteorological, and Environmental Technologies RAMS Parallel Processing Techniques.
Belgrade, 26 September 2014 George S. Markomanolis, Oriol Jorba, Kim Serradell Overview of on-going work on NMMB HPC performance at BSC.
CCSM Performance, Successes and Challenges Tony Craig NCAR RIST Meeting March 12-14, 2002 Boulder, Colorado, USA.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Belgrade, 24 September 2014 George S. Markomanolis, Oriol Jorba, Kim Serradell Introduction to an HPC environment.
SEE-GRID-SCI WRF – ARW application: Overview The SEE-GRID-SCI initiative is co-funded by the European Commission under the FP7 Research.
WRF Software Development and Performance John Michalakes, NCAR NCAR: W. Skamarock, J. Dudhia, D. Gill, A. Bourgeois, W. Wang, C. Deluca, R. Loft NOAA/NCEP:
GIS for Atmospheric Sciences and Hydrology By David R. Maidment University of Texas at Austin National Center for Atmospheric Research, 6 July 2005.
Issues on the operational cluster 1 Up to 4.4x times variation of the execution time on 169 cores Using -O2 optimization flag Using IBM MPI without efficient.
Welcome to the PRECIS training workshop
ESMF,WRF and ROMS. Purposes Not a tutorial Not a tutorial Educational and conceptual Educational and conceptual Relation to our work Relation to our work.
Weather Research and Forecast implementation on Grid Computing Chaker El Amrani Department of Computer Engineering Faculty of Science and Technology, Tangier.
Single Node Optimization Computational Astrophysics.
SDM Center High-Performance Parallel I/O Libraries (PI) Alok Choudhary, (Co-I) Wei-Keng Liao Northwestern University In Collaboration with the SEA Group.
OPTIMIZATION OF DIESEL INJECTION USING GRID COMPUTING Miguel Caballer Universidad Politécnica de Valencia.
The HDF Group January 8, ESIP Winter Meeting Data Container Study: HDF5 in a POSIX File System or HDF5 C 3 : Compression, Chunking,
Support to scientific research on seasonal-to-decadal climate and air quality modelling Pierre-Antoine Bretonnière Francesco Benincasa IC3-BSC - Spain.
HPC University Requirements Analysis Team Training Analysis Summary Meeting at PSC September Mary Ann Leung, Ph.D.
Hernán García CeCalcULA Universidad de los Andes.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
INTRODUCTION TO XSEDE. INTRODUCTION  Extreme Science and Engineering Discovery Environment (XSEDE)  “most advanced, powerful, and robust collection.
Regional Climate Model Version 4.1 (RegCM4.1) Centre for Oceans, Rivers, Atmosphere and Land Sciences Indian Institute of Technology Kharagpur Kharagpur.
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
SHARED MEMORY PROGRAMMING WITH OpenMP
Porting MM5 and BOLAM codes to the GRID
CRESCO Project: Salvatore Raia
University of Technology
Alta disponibilidad de los servicios del SDS-WAS y BDFC
Presentation transcript:

Atmospheric modeling: A technical and practical approach Kim Serradell kim.serradell@bsc.es Barcelona Supercomputing Center-Centro Nacional de Supercomputación Earth Sciences Department. Barcelona. Aules d’Empresa 2013 – Facultat d’Informática de Barcelona – January 25th 2013

Outline Presentation Introduction Models in BSC Parallelizing Atmospheric Models Two practical cases: NMMB: Nonhydrostatic Multiscale Model on the B grid WRF: Weather Research Forecast

Presentation Made my education in FIB. Finished on 2005. Then working in different places. And four years ago, I went to the BSC and started to work on Earth Sciences Dpt.

IT tasks in Earth Sciences Assuring daily execution on the model Crash recovery Monitoring the Model Assuring transfers Timing the execution Results have to be on time Data Storage Huge size of data Storing and cleaning Helping researchers in modeling/running/optimization And many more...

Models in ES-BSC Meteorological Modeling WRF: Weather Research Forecasting Fortran Code MPI, OpenMP and CUDA Emissions HERMES: High-Elective Resolution Modelling Emissions System V2 C++ Code MPI Air Quality Forecasting CMAQ: Community Multiscale Air Quality

Models in ES-BSC Mineral Dust Modeling BSC-DREAM8b: Dust REgional Atmospheric Model Fortran Code Not parallel NMMB/BSC-CTM Meteorology-Chemistry coupled model Meteo. Driver: Nonhydrostatic Multiscale Model on the B grid (NMMB) MPI Climate Change EC-EARTH Fortran, C MPI, OpenMP

INITIAL DATA MODEL RESULTS What does “Simulate” means from an IT point of view ? INITIAL DATA Observations Data from other models Empty MODEL A collection of codes RESULTS Binary data Maps Plots Text files

Types of Simulations Climate Simulations Global scale Large periods Huge amount of data created Execution time is not a critical constraint Example: EC-EARTH model for 1900 to 2100, year simulation Operational Simulations Global/Regional Scale Small periods Data created is smaller but postprocess products are more important Execution time and reliabilty are very critical Example: Daily weather forecast

Parallelizing Atmospheric Models We need to be able to run this models in Multi-core architectures. What’s the way to do it ¿? Model domain is decomposed in patches Patch: portion of the model domain allocated to a distributed/shared memory node. Patch MPI/OpenMP Communication with neighbours

Parallelizing Atmospheric Models

Computational Demands Which domains are we simulating ¿? Barcelona Catalunya Spain World Which resolution ¿? 1 km2 4 km2 12 km2 50 km2 How many variables we want to compute ¿? T2 U10, V10 QRAIN, QVAPOR Increasing this parameters, increases the system constraints Computation Needs (CPU’s, Memory Bandwith…) Data Storage Define this parameters in function of your hardware and time to serve forecast.

Workflow

3D Outputs

Practical Examples NMMB Case: Optimizing an atmospheric model. WRF Case: Setting and running an atmospheric model.

Traces lowres config, 64 CPU’s, one timestep. NMMB: Nonhydrostatic Multiscale Model on the B grid We run this model and we try to optimize it. Many different approaches to do it. We are interested on communications pattern. We will use a tracing software to represent what is doing the model. Paraver Tool: http://www.bsc.es/computer-sciences/performance-tools/paraver Traces lowres config, 64 CPU’s, one timestep.

NMMB With this software, we can answer questions as: How/When are the routines executed ¿?

NMMB Is taking more time in calculate or communicate ¿?

NMMB CPU#1 is sending to ¿? CPU#1 is receiving from ¿?

NMMB: Optimizations N WAITS, 1 WAITALL ISEND / RUN / WAIT, ISEND / RUN / WAIT, ISEND / RUN / WAIT… “Staircase effect”, less performance (ISEND / RUN, ISEND / RUN, ISEND / RUN…) WAITALL… “Staircase effect” dissapears, much balanced.

WRF: Introduction Weather Research Forecast is the latest numerical program model to be adopted by NOAA's National Weather Service. It is also being adopted by meteorological services worldwide. WRF to be in the public domain for use by any person. Current version: 3.4.1 Software requirements Fortran 90 or 95 and C compiler perl 5.04 or later If MPI and OpenMP compilation is desired, MPI or OpenMP libraries are required WRF I/O API supports netCDF, pnetCDF, PHD5, GriB 1 and GriB 2 csh and Bourne shell, make, M4, sed, awk, and the uname command Nice Online tutorial: http://www.mmm.ucar.edu/wrf/OnLineTutorial/index.htm

WRF: Architectures If you have a computer at home, you can run WRF and make your own forecast !!! WRF can run on a large number of architectures. For example, the choices for a Linux computer looks like this: dmpar: distributed memory parallelism (MPI) smpar: shared memory parallelism (OpenMP) 1. Linux i486 i586 i686, gfortran compiler with gcc (serial) 2. Linux i486 i586 i686, gfortran compiler with gcc (smpar) 3. Linux i486 i586 i686, gfortran compiler with gcc (dmpar) 4. Linux i486 i586 i686, gfortran compiler with gcc (dm+sm) 5. Linux i486 i586 i686, g95 compiler with gcc (serial) 6. Linux i486 i586 i686, g95 compiler with gcc (dmpar) 7. Linux i486 i586 i686, PGI compiler with gcc (serial) 8. Linux i486 i586 i686, PGI compiler with gcc (smpar) 9. Linux i486 i586 i686, PGI compiler with gcc (dmpar) 10. Linux i486 i586 i686, PGI compiler with gcc (dm+sm) 11. Linux x86_64 i486 i586 i686, ifort compiler with icc (non-SGI installations) (serial) 12. Linux x86_64 i486 i586 i686, ifort compiler with icc (non-SGI installations) (smpar) 13. Linux x86_64 i486 i586 i686, ifort compiler with icc (non-SGI installations) (dmpar) 14. Linux x86_64 i486 i586 i686, ifort compiler with icc (non-SGI installations) (dm+sm) 15. Linux i486 i586 i686 x86_64, PathScale compiler with pathcc (serial) 16. Linux i486 i586 i686 x86_64, PathScale compiler with pathcc (dmpar)

COMPILERS OPTIMIZATIONS OPTIONS Then, you can compile it. WRF: Compilation To run it in a platform, you need to compile it with the right compiler, options and flags. # Settings for x86_64 Linux, gfortran compiler with gcc (smpar) # DMPARALLEL = 1 OMPCPP = -D_OPENMP OMP = -fopenmp OMPCC = -fopenmp SFC = gfortran SCC = gcc CCOMP = gcc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = $(SFC) CC = $(SCC) -DFSEEKO64_OK LD = $(FC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = # -fdefault-real-8 # uncomment manually ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR CFLAGS_LOCAL = -w -O3 -c -DLANDREAD_STUB LDFLAGS_LOCAL = CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) FORMAT_FIXED = -ffixed-form FORMAT_FREE = -ffree-form -ffree-line-length-none FCSUFFIX = BYTESWAPIO = -fconvert=big-endian -frecord-marker=4 FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = TRADFLAG = -traditional CPP = /lib/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 -G RANLIB = ranlib CC_TOOLS = $(SCC) COMPILERS OPTIMIZATIONS OPTIONS Then, you can compile it.

WRF: Running the model 128 CPU’s Iberian Peninsula Mare Nostrum

WRF: Viewing Results

GRÀCIES !