module gaussian_topog_mod

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

use gaussian_topog_mod [, only:  gaussian_topog_init,
                                 get_gaussian_topog ]
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

    <B>call gaussian_topog_init </B> ( lon, lat, zsurf )
    
    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

    zsurf = <B> get_gaussian_topog </B> ( lon, lat, height [, olond, olatd, wlond, wlatd, rlond, rlatd ] )
    
    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 <TT>gaussian_topog_init</TT> 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.


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.