PUBLIC INTERFACE ~ PUBLIC DATA ~ PUBLIC ROUTINES ~ NAMELIST ~ DIAGNOSTIC FIELDS ~ ERROR MESSAGES ~ REFERENCES ~ NOTES

## Module gaussian_topog_mod

Contact: Bruce Wyman
Reviewers:
Change History: WebCVS Log

#### OVERVIEW

Routines for creating Gaussian-shaped land surface topography for latitude-longitude grids.

Interfaces generate simple Gaussian-shaped mountains from parameters specified by either argument list or namelist input. The mountain shapes are controlled by the height, half-width, and ridge-width parameters.

#### OTHER MODULES USED

          fms_mod
    constants_mod

#### PUBLIC INTERFACE

gaussian_topog_init:
  Returns a surface height field that consists of the sum of one or more Gaussian-shaped mountains.
get_gaussian_topog:
  Returns a simple surface height field that consists of a single Gaussian-shaped mountain.

#### PUBLIC DATA

None.

#### PUBLIC ROUTINES

1. #### gaussian_topog_init

       gaussian_topog_init

   DESCRIPTION
     Returns a land surface topography that consists of a "set" of simple Gaussian-shaped mountains. The height, position, width, and elongation of the mountains can be controlled by variables in namelist &gaussian_topog_nml.
   INPUT

     `lon` | The mean grid box longitude in radians. [real, dimension(:)]
     `lat` | The mean grid box latitude in radians. [real, dimension(:)]

   OUTPUT

     `zsurf` | The surface height (in meters). The size of this field must be size(lon) by size(lat). [real, dimension(:,:)]

2. #### get_gaussian_topog

       get_gaussian_topog

   DESCRIPTION
     Returns a single Gaussian-shaped mountain. The height, position, width, and elongation of the mountain is controlled by optional arguments.
   INPUT

     `lon` | The mean grid box longitude in radians. [real, dimension(:)]
     `lat` | The mean grid box latitude in radians. [real, dimension(:)]
     `height` | Maximum surface height in meters. [real, dimension(scalar)]
     `olond, olatd` | Position/origin of mountain in degrees longitude and latitude. This is the location of the maximum height. [real, dimension(scalar)]
     `wlond, wlatd` | Gaussian half-width of mountain in degrees longitude and latitude. [real, dimension(scalar)]
     `rlond, rlatd` | Ridge half-width of mountain in degrees longitude and latitude. This is the elongation of the maximum height. [real, dimension(scalar)]

   OUTPUT

     `zsurf` | The surface height (in meters). The size of the returned field is size(lon) by size(lat). [real, dimension(:,:)]

   NOTE
     Mountains do not wrap around the poles.

#### NAMELIST

&gaussian_topog_nml

`height`

Height in meters of the Gaussian mountains.
[real, dimension(mxmtns), units: meter, default: 0.]

`olon, olat`

The longitude and latitude of mountain origins (in degrees).
[real, dimension(mxmtns), units: degree, default: 0.]

`wlon, wlat`

The longitude and latitude half-width of mountain tails (in degrees).
[real, dimension(mxmtns), units: degree, default: 0.]

`rlon, rlat`

The longitude and latitude half-width of mountain ridges (in degrees). For a "standard" Gaussian mountain set rlon=rlat=0.
[real, dimension(mxmtns), units: degree, default: 0.]

`NOTE`

The variables in this namelist are only used when routine `gaussian_topog_init` is called. The namelist variables are dimensioned (by 10), so that multiple mountains can be generated.
Internal parameter mxmtns = 10. By default no mountains are generated.
[]

#### DATA SETS

None.

#### ERROR MESSAGES

FATAL in get_gaussian_topog
  shape(zsurf) is not equal to (/size(lon),size(lat)/)
  Check the input grid size and output field size. The input grid is defined at the midpoint of grid boxes.

#### REFERENCES

None.

#### COMPILER SPECIFICS

None.

#### PRECOMPILER OPTIONS

None.

#### LOADER OPTIONS

None.

#### TEST PROGRAM

None.

#### KNOWN BUGS

None.

#### NOTES

NAMELIST FOR GENERATING GAUSSIAN MOUNTAINS
* multiple mountains can be generated * the final mountains are the sum of all
height = height in meters olon, olat = longitude,latitude origin (degrees) rlon, rlat = longitude,latitude half-width of ridge (degrees) wlon, wlat = longitude,latitude half-width of tail (degrees)
Note: For the standard gaussian mountain set rlon = rlat = 0 .

           height -->   ___________________________
                       /                           \
                      /              |              \
        gaussian     /               |               \
          sides --> /                |                \
                   /               olon                \
             _____/                olat                 \______

                  |    |             |
                  |<-->|<----------->|
                  |wlon|    rlon     |
                   wlat     rlat

See the topography module documentation for a test program.

#### FUTURE PLANS

None.

top