Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


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 the other all elevation class data (ordered from lowest to highest elevation).   For fields which will not be passed as elevation class data, the attribute vector field will hold the grid-cell mean value. This leads to two science questions:

Will any atmosphere fields be passed to surface components using the grid-cell mean value? No (feedback from 2016-04-26 call).

Will any land fields be passed to the atmosphere using the grid-cell mean value? No (feedback from 2016-04-26 call).

 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?

 

...