Implementation of a general tracer treatment

Slides:



Advertisements
Similar presentations
P5, M1, D1.
Advertisements

SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
Günther Zängl, DWD1 Improvements for idealized simulations with the COSMO model Günther Zängl Deutscher Wetterdienst, Offenbach, Germany.
(1) ICS 313: Programming Language Theory Chapter 10: Implementing Subprograms.
COMP205 Comparative Programming Languages Part 1: Introduction to programming languages Lecture 3: Managing and reducing complexity, program processing.
1 NGGPS Dynamic Core Requirements Workshop NCEP Future Global Model Requirements and Discussion Mark Iredell, Global Modeling and EMC August 4, 2014.
Guide To UNIX Using Linux Third Edition
Database Management Systems (DBMS)
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Implementation of an Advection Scheme based on Piecewise Parabolic Method (PPM) in the MesoNH The main goal of this study was to estimate if the RGSW model.
Federal Department of Home Affairs FDHA Federal Office of Meteorology and Climatology MeteoSwiss Stability of the COSMO turbulence scheme Oliver Fuhrer.
M. Baldauf (DWD)1 SMC-meeting, Bologna, 05/06. Feb with verification extensions for SMC-teleconf., 16. April 2014 Michael Baldauf (FE13) Proposed.
Status of the Support Activities WG 6: Reference Version and Implementation WG Coordinator: Ulrich Schättler.
Design and Development of MAQM, an Air Quality Model Architecture with Process-Level Modularity Weimin Jiang, Helmut Roth, Qiangliang Li, Steven C. Smyth,
An Object-Oriented Approach to Programming Logic and Design Fourth Edition Chapter 6 Using Methods.
Chapter 4 Preparing Spoken and Written Messages. Objectives 1. Apply techniques for developing effective sentences and unified and coherent paragraphs.
1 CISC181 Introduction to Computer Science Dr. McCoy Lecture 7 Clicker Questions September 22, 2009.
Overview on the Work of WG 6 Reference Version and Implementation WG Coordinator: Ulrich Schättler.
Status of the COSMO-Model Package Ulrich Schättler.
Overview on the Work of WG 6 Reference Version and Implementation WG Coordinator: Ulrich Schättler.
Status of the COSMO-Software and Documentation WG 6: Reference Version and Implementation WG Coordinator: Ulrich Schättler.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
Changes to COSMO Software and Documentation Ulrich Schättler Deutscher Wetterdienst COSMO Annual Meeting 2004.
WG 6 and Support Activities Overview Status Report Reference Version and Implementation WG Coordinator and Project Leader: Ulrich Schättler.
New PT: (RC) 2 – Revised Cloud Radiation Coupling 1 Ulrich Blahak (DWD), Pavel Khain (IMS), Harel Muskatel (IMS), Marco Arpagaus (MeteoSwiss)
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
C OMPUTER P ROGRAMMING 1 Input and Variables. I/O S TATEMENTS : I NPUT & V ARIABLES Input is the term used to describe the transfer of information from.
Update on the 2-moment stratiform cloud microphysics scheme in CAM Hugh Morrison and Andrew Gettelman National Center for Atmospheric Research CCSM Atmospheric.
Deutscher Wetterdienst COSMO-Standards for Source Code Development A Discussion COSMO Working Group 6: Reference Version and Implementation Working Group.
Chapter – 8 Software Tools.
AS Level Computing 8 CHAPTER: Fundamentals of structured programming The basics of good programming Algorithms System Flow Charts Symbol Conventions Steps.
1 January 31, Documenting Software William Cohen NCSU CSC 591W January 31, 2008.
Introduction to DBMS Purpose of Database Systems View of Data
Operational COSMO of MeteoSwiss
Lecture 5 Good modeling Chengcheng Fei 2017 Fall
Module 11: File Structure
Overview on the Work of WG 6
Operating Systems (CS 340 D)
The COSMO Coding Standards Some Highlights
Status of the COSMO-Software and Documentation
COSMO-SCM: The SC-framework has been upgraded to COSMO_5.0 (during the visit of Ines Cerenzia) : Various adaptions to the specific SC-code mainly due to.
CMIP5 Questionnaire Roadmap – beta
Prepared by Rand E Winters, Jr. ASR Senior Auditor October 2014
The Pseudocode Programming Process
“Consolidation of the Surface-to-Atmosphere Transfer-scheme: ConSAT
Operating Systems (CS 340 D)
Experience with Maintaining the GPU Enabled Version of COSMO
Unit# 9: Computer Program Development
Learning to Program in Python
Chapter 2: System Structures
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Arrays We often want to organize objects or primitive data in a way that makes them easy to access and change. An array is simple but powerful way to.
Java Programming Arrays
and news about our activities
Joint GEOS-Chem and NCAR Modeling Workshop:
GRIB2 and ecCodes in the COSMO-Model
COSMO-GM Rome, WG-2 Meeting, Sept. 5, 2011
Introduction to DBMS Purpose of Database Systems View of Data
Two methods to observe tutorial
Please use speaker notes for additional information!
Boolean Expressions to Make Comparisons
Ulrich Schättler Source Code Administrator
Data Structures & Algorithms
Extended submodel interface of echam6
Conservative Dynamical Core (CDC)
The COSMO Coding Standards Some Highlights
Preparing a new Model Version according to Source Code Management
Support Activities and WG 6 Overview Status Report
Presentation transcript:

Implementation of a general tracer treatment Anne Roches, C2SM Oliver Fuhrer, MeteoSwiss COSMO GM 2011, Roma September 2011

Goal Provide a consistent and flexible tracer treatment In order to Make the introduction of a new tracer straightforward Remove code redundancies Improve readability and maintainability Facilitate new developments Ensure coherence Suppress -> remove, avoid Make the code easier to understand and manage -> improve readibility and maintainability 2

Applications “Conventional” tracer users: Microphysics Radionuclides Aerosols Chemical compounds Pollens Volcanic ashes Water isotopes Artificial tracers (indicator variables) Pollens -> Pollen ashes -> ash - Radionuclides 3

What if… ? I want to introduce a new tracer variable for the microphysics? For example, the number concentration of rain drops for the 2-moment scheme? remove “e.g.” Let’s say the number concentraion… -> For example, the number concentration… I would keep left-aligning the text (as on the previous slides!) I would remove indent of second and following line of a paragraph… 4

Currently Introducing a new tracer (prognostic variable) is… … a lot of work 5

1st step data_fields.f90 src_allocation.f90 src_setup_vartab.f90 qnr exists in the model, is = 0, and can be written in the output 6

2nd step organize_data.f90 src_relaxation.f90 qnr has IC and BC and a “correct treatment” of the initial and lateral boundaries 7

3rd step src_advection_rk.f90 lmorg.f90 qnr has an is advected and with appropriate boundary conditions 8

4th step qnr undergoes artificial smoothing and turbulent mixing hori_diffusion.f90 src_slow_tendencies_rk.f90 qnr undergoes artificial smoothing and turbulent mixing 9

Currently … and you still have “nothing” (e.g. microphysics) Declare it in data_fields.f90 Allocate/deallocate it in src_allocation.f90 Add it to the table in src_setup_vartab.f90 Add it to the restart, IC and BC in organize_data.f90 Do the bound. relax. and Rayleigh damp. in src_relaxation.f90 Advect it in src_advection_rk.f90 Update the time step in lmorg.f90 Perform turbulent mixing in src_slow_tendencies_rk.f90 Perform horizontal diffusion in hori_diffusion.f90 Perform numerous boundary exchanges and clippings … and you still have “nothing” (e.g. microphysics) 10

Further steps qnr used and modified in the microphysics src_gscp.f90 11

Functionalities provided Initialization Memory management I/O IC and BC treatment Advection Turbulent mixing Horizontal diffusion Arbitrary meta-data 12

In the future Introducing a new tracer (prognostic variable) looks like… … an easy task 13

1st step organize_physics.f90 14

Further steps qnr used and modified in the microphysics src_gscp.f90 15

Implementation 3 new modules: Modified modules: data_tracers.f90 src_tracers.f90 src_metadata.f90 Modified modules: For advection (src_advection_rk.f90, src_leapfrog.f90, src_runge_kutta.f90) For artificial diffusion (hori_diffusion.f90) For turbulent mixing (src_slow_tendencies_rk.f90, slow_tendencies_rk.f90) Main program (lmorg.f90) For the restart, IC and BC treatment (organize_data.f90) For BC treatment (src_relaxation.f90) 16

The tracer API User subroutines: trcr_new : definition of a new tracer Provide its name, Grib n°/table, units, and optionally decide which operations it should undergo Get optionally its index for the data, the boundaries and tendencies trcr_get : access to a tracer Provide the name/index of the tracer and optionally a time level Get optionally its name, its data at the specified time level, its boundary data or tendencies, info about operations trcr_get_ntrcr : access to the total number of tracers trcr_errorstr : return of an error message for each tracer 17

The tracer API Infrastructure subroutines: trcr_init : initialization of a tracer structure trcr_alloc : allocation of the memory for all tracers (data, boundaries, tendencies) trcr_setup_vartab : I/O (mimic src_setup_vartab) trcr_print : print of the list of tracers and associated metadata in sd out trcr_cleanup : deallocation of the memory 1 x 18

Status First ß-version implemented and already used Attempt to handle microphysics (qc, qv, qi, qr, qs, qg) using the tracer mechanism for RK core Incoherence in their treatment Different processes (e.g. surface processes) Need of additional switches (=metadata) Development of a metadata mechanism Respect of the coding standards and contact with SCA 19

Outlook Finalize ß-version: Resolve incoherence problems Integrate the metadata mechanism Prove correctness: fully (?) replace the microphysics Performance analysis and improvements Documentation Undergo the procedure described in the COSMO standards: Submit the idea to the SMC Pass the tests (technical) and verification (scientific) Nominate a responsible person Submit the code and documents to the SMC and SCA Implementation of additional processes 20

Acknowledgments: Pirmin Kaufmann, MeteoSwiss Ulrich Schättler, DWD Ulrich Blahak, DWD 21

Thank you! 22