Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

The Design Document page provides a description of the algorithms, implementation and planned testing including unit, verification, validation and performance testing. Please read  Step 1.3 Performance Expectations that explains feature documentation requirements from the performance group point of view.

Design Document

 Click here for instructions to fill up the table below ......

The first table in Design Document gives overview of this document, from this info the Design Documents Overview page is automatically created.

In the table below, 4.Equ means Equations and Algorithms, 5.Ver means Verification, 6.Perf - Performance, 7. Val - Validation

  • Equations: Document the equations that are being solved and describe algorithms
  • Verification Plans: Define tests that will be run to show that implementation is correct and robust. Involve unit tests to cover range of inputs as well as benchmarks.
  • Performance expectations: Explain the expected performance impact from this development
  • Validation Plans: Document what process-based, stand-alone component, and coupled model runs will be performed, and with what metrics will be used to assess validity

Use the symbols below (copy and paste) to indicate if the section is in progress or done or not started.

In the table below, 4.Equ means Equations and Algorithms, 5.Ver means Verification, 6.Perf - Performance, 7. Val - Validation,   (tick) - completed, (warning) - in progress, (error) - not done

 

Overview table for the owner and an approver of this feature

1.Description

Elevation Class Decomposition
2.Owner
3.Created
4.Equ(tick)
5.Ver(error)
6.Perf(error)
7.Val(error)
8.Approver
9.Approved Date
V1.0Declined
 Click here for Table of Contents ...

Table of Contents

Title: Elevation Class Decomposition

Requirements and Design

ACME Atmosphere Group

Date: 9-10-15

Summary


This effort introduces elevation classes to the atmosphere and land physics modules in the ACME model. All of the atmospheric and land physics is applied to each of a modest set of elevation classes within each model grid cell. The number of elevation classes and their fractional area and mean elevation in each grid cell is read into the land and atmosphere models. The surface elevation is used to diagnose the vertical displacement of air parcels flowing through the grid cell, and conservation of energy and moisture is used to diagnose an orographic tendency for temperature and the tracers. Initially the land and atmosphere are assumed to use the same grid, which greatly simplifies coupling. The atmosphere and land history is written for each elevation class; this history can then be distributed according to a high-resolution surface elevation dataset, producing high resolution distributions of the simulated climate.

Implementation requires breaking the assumption that that atmospheric physics and dynamics are calculated on the same grid.

Requirements

Requirement 1: Apply all model physics to multiple subcolumns (elevation classes) within each grid cell

Date last modified: 2015-09-10
Contributors: Steve Ghan (Unlicensed) Steve Goldhaber (Unlicensed) Teklu Tesfa Ruby Leung 

Requirement 2: Subgrid surface elevation influences atmospheric physics

Date last modified: 2015-09-10
Contributors: Steve Ghan (Unlicensed) Steve Goldhaber (Unlicensed) Teklu Tesfa Ruby Leung

Requirement 3: Land and atmosphere communicate through all elevation classes in coupler

Date last modified: 2015-09-10
Contributors: Steve Ghan (Unlicensed) Steve Goldhaber (Unlicensed) Teklu Tesfa Ruby Leung

Requirement 4: Write all model history for all elevation classes.

Date last modified: 2015-09-10
Contributors: Steve Ghan (Unlicensed) Steve Goldhaber (Unlicensed) Teklu Tesfa Ruby Leung


Each requirement is to be listed under a ”section” heading, as there will be a one-to-one correspondence between requirements, design, proposed implementation and testing. Requirements should not discuss technical software issues, but rather focus on model capability. To the extent possible, requirements should be relatively independent of each other, thus allowing a clean design solution, implementation and testing plan.

 

Algorithmic Formulations

Design solution 1: Use Goldhaber's atmospheric physics-dynamics coupling generalization to allow multiple physics column for each dynamics column. Expand physics columns to span elevation classes, with all classes in a cell on the same PE.

Date last modified: 2015-09-10
Contributors: Steve Ghan (Unlicensed) Steve Goldhaber (Unlicensed) Teklu Tesfa Ruby Leung

Design solution 2: 

An orographic forcing tendency is diagnosed from the difference between the grid cell mean surface elevation z and the surface elevation zj of the elevation class j. First, the surface pressure pj of the elevation class is diagnosed from the hydrostatic relation. This will be used to determine the air mass mj of layers in each elevation class, as well as the pressures used for thermodynamics.

Then, the height rise (or descent) of air parcels traversing a grid cell is diagnosed h=min(hmax,z-zmean) where hmax=U/N , U is the grid cell mean wind speed at the model level, and N is the grid cell mean Brunt-Vaisalla frequency.  Once the vertical displacement is known, the orographic profile X’ can be diagnosed, X'(z)=Xmean(z-h)

Note that, since T is not conserved by vertical displacement, potential temperature is used for the translation, which is then converted back to temperature. Furthermore, to ensure conservation of energy and tracer mass, the orographic profile is normalized by the aera-weighted atmosphere mass. This profile is not applied directly to T and q, because that produces an excessively strong orographic profile. Instead, it is used to determine an orographic tendency: O=(X'-X)/tau where tau is an orography time scale. The tendency is applied to the conservation equations for T and q

Date last modified: 2015-09-10
Contributors: Steve Ghan (Unlicensed) Steve Goldhaber (Unlicensed) Teklu Tesfa Ruby Leung

Design solution 3:  Read land-atmosphere mapping indices from preprocessor

Date last modified: 2015-09-10
Contributors: Steve Ghan (Unlicensed) Steve Goldhaber (Unlicensed) Teklu Tesfa Ruby Leung

 

Design solution 4: Use Goldhaber's atmospheric physics-dynamics coupling generalization

Date last modified: 2015-09-10
Contributors: Steve Ghan (Unlicensed) Steve Goldhaber (Unlicensed) Teklu Tesfa Ruby Leung

 

For each requirement, there is a design solution that is intended to meet that requirement. Design solutions can include detailed technical discussions of PDEs, algorithms, solvers and similar, as well as technical discussion of performance issues. In general, this section should steer away from a detailed discussion of low-level software issues such as variable declarations, interfaces and sequencing.

 

Design and Implementation

Atmosphere Implementation: Components of implementation of elevation classes in the atmosphere component

Date last modified: 2016-04-21
Contributors: Steve Goldhaber (Unlicensed) Steve Ghan (Unlicensed)

Elevation Class Initialization

Elevation classes will be initialized with an additional input file. This file specifies all the information needed to create elevation classes although it does not contain subgrid-scale initial data (i.e., the model is still initialized with standard grid-scale data). The specification for the file is:

Dimensions:

  • MaxNoClass: The maximum number of elevation classes in any atmosphere physics column
  • grid_size: The number of atmosphere physics columns

Variables:

  • GridID(grid_size): The ID corresponding to the column ID in standard atmosphere input files
  • NumOfSubgrid(grid_size): Number of elevation classes in each atmosphere physics column
  • SubgridAreaFrac(MaxNoClass, grid_size): The fraction of the atmosphere column taken up by each elevation class
  • AveSubgridElv(MaxNoClass, grid_size): The average elevation of each elevation class
Elevation Class <==> Physics coupling
Atmosphere coupling to other components (Robert Jacob, Steve Goldhaber (Unlicensed))

Because there is no SCRIP grid for elevation classes, coupling between the atmosphere and surface components will be via the standard SE grid (e.g., ne30np4). To pass elevation class information, elevation class state and flux data will be added to the CAM attribute vector. For each field which will be passed as elevation class data, the current scalar field (e.g., Sa_dens which is the air density at the lowest model state) will represent the elevation class closest to sea level and a new vector field will be added to the attribute vector to pass all elevation class data (ordered from lowest to highest elevation). For instance, in the case of Sa_dens, there will be attribute vector entries, Sa_dens_01, Sa_dens_02, ... Sa_dens_xx where xx is max_elevation_classes.

Land Implementation: Components of implementation of elevation classes in the land component

Date last modified: 
Contributors: (add your name to this list if it does not appear)

Coupler Implementation: Components of implementation of elevation classes in the coupler

Date last modified: 
Contributors: Robert Jacob 

 

Planned Verification and Unit Testing 

Verification and Unit Testing: short-desciption-of-testing-here

Date last modified:  
Contributors: (add your name to this list if it does not appear)

 

How will XXX be tested? i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?

Planned Validation Testing 

Validation Testing: short-desciption-of-testing-here

Date last modified:
Contributors: (add your name to this list if it does not appear)

 

How will XXX be tested? What observational or other dataset will be used?  i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?

Planned Performance Testing 

Performance Testing: short-desciption-of-testing-here

Date last modified:
Contributors: (add your name to this list if it does not appear)

 

How will XXX be tested? i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?

 


  • No labels