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

Module amip_interp_mod

Contact:  Bruce Wyman
Reviewers: 
Change History: WebCVS Log


OVERVIEW

Provides observed SST and ice mask data sets that have been interpolated onto your model's grid.

Three possible data sets are available:

1) AMIP 1 from Jan 1979 to Jan 1989 (2 deg x 2 deg)
2) Reynolds OI from Nov 1981 to Jan 1999 (1 deg x 1 deg)
3) Reynolds EOF from Jan 1950 to Dec 1998 (2 deg x 2 deg)

All original data are observed monthly means. This module interpolates linearly in time between pairs of monthly means. Horizontal interpolation is done using the horiz_interp module.

When a requested date falls outside the range of dates available a namelist option allows for use of the climatological monthly mean values which are computed from all of the data in a particular data set.


OTHER MODULES USED

 time_interp_mod
time_manager_mod
horiz_interp_mod
fms_mod
fms_io_mod
constants_mod
platform_mod

PUBLIC INTERFACE

amip_interp_init:
Function that initializes data needed for the horizontal interpolation between the sst grid and model grid. The returned variable of type amip_interp_type is needed when calling get_amip_sst and get_amip_ice.
amip_interp_end:
Call this routine for all amip_interp_type variables created by amip_interp_init.
get_sst_grid_size:
Returns the size (i.e., number of longitude and latitude points) of the observed data grid.
get_sst_grid_boundary:
Returns the grid box boundaries of the observed data grid.


PUBLIC DATA

Name Type Value Units Description
amip_interp_type type (horiz_interp_type) --- --- All variables in this data type are PRIVATE. It contains information needed by the interpolation module (exchange_mod) and buffers data.


PUBLIC ROUTINES

  1. amip_interp_init

    Interp = amip_interp_init ( blon, blat, mask, use_climo, use_annual, interp_method )
    DESCRIPTION
    Function that initializes data needed for the horizontal interpolation between the sst grid and model grid. The returned variable of type amip_interp_type is needed when calling get_amip_sst and get_amip_ice.


    INPUT
    blon    Longitude in radians of the model's grid box edges.
       [real, dimension(:)]
       [real, dimension(:)]
    blat    Latitude in radians of the model's grid box edges.
       [real, dimension(:)]
       [real, dimension(:)]
    mask    A mask for the model grid.
       [logical, dimension(:,:)]
       [logical, dimension(:,:)]
    use_climo    Flag the specifies that monthly mean climatological values will be used.
       [logical]
       [logical]
    use_annual    Flag the specifies that the annual mean climatological will be used. If both use_annual = use_climo = true, then use_annual = true will be used.
       [logical]
       [logical]
    interp_method    specify the horiz_interp scheme. = "conservative" means conservative scheme, = "bilinear" means bilinear interpolation.
       [character(len=*), optional]
       [character(len=*), optional]

    OUTPUT
    Interp    A defined data type variable needed when calling get_amip_sst and get_amip_ice.
       [amip_interp_type]
       [amip_interp_type]

    NOTE
    This function may be called to initialize multiple variables of type amip_interp_type. However, there currently is no call to release the storage used by this variable.

    The size of input augment mask must be a function of the size of input augments blon and blat. The first and second dimensions of mask must equal (size(blon)-1, size(blon)-1).


  2. amip_interp_end

    call amip_interp_end (Interp)
    DESCRIPTION
    Call this routine for all amip_interp_type variables created by amip_interp_init.


    INPUT/OUTPUT
    Interp    A defined data type variable initialized by amip_interp_init and used when calling get_amip_sst and get_amip_ice.
       [amip_interp_type]

  3. get_sst_grid_size

    call get_sst_grid_size (nlon, nlat)
    DESCRIPTION
    Returns the size (i.e., number of longitude and latitude points) of the observed data grid.


    OUTPUT
    nlon    The number of longitude points (first dimension) in the observed data grid. For AMIP 1 nlon = 180, and the Reynolds nlon = 360.
       [integer]
    nlat    The number of latitude points (second dimension) in the observed data grid. For AMIP 1 nlon = 91, and the Reynolds nlon = 180.
       [integer]

  4. get_sst_grid_boundary

    call get_sst_grid_boundary (blon, blat, mask)
    DESCRIPTION
    Returns the grid box boundaries of the observed data grid.


    OUTPUT
    blon    The grid box edges (in radians) for longitude points of the observed data grid. The size of this argument must be nlon+1.
       [real, dimension(:)]
    blat    The grid box edges (in radians) for latitude points of the observed data grid. The size of this argument must be nlat+1.
       [real, dimension(:)]


NAMELIST

&amip_interp_nml

data_set
Name/type of SST data that will be used.
Possible values (case-insensitive) are:
1) amip1
2) reynolds_eof
3) reynolds_oi
See the data set section for more on these data.
[character(len=24), default: data_set = 'amip1']
date_out_of_range
Controls the use of climatological monthly mean data when the requested date falls outside the range of the data set.
Possible values are:
   fail      - program will fail if requested date is prior
               to or after the data set period.
   initclimo - program uses climatological requested data is
               prior to data set period and will fail if
               requested date is after data set period.
   climo     - program uses climatological data anytime.

[character(len=16), default: date_out_of_range = 'fail']
tice_crit
Freezing point of sea water in degC or degK.
[real, default: tice_crit = -1.80]
verbose
Controls printed output, 0 <= verbose <= 3
[integer, default: verbose = 0]
use_zonal
Flag to selected zonal sst or data set.
[logical, default: .false.]
teq
sst at the equator.
[real, default: teq=305.]
tdif
Equator to pole sst difference.
[real, default: tdif=50.]
tann
Amplitude of annual cycle.
[real, default: tann=20.]
tlag
Offset for time of year (for annual cycle).
[real, default: tlag=0.875]
amip_date
Single calendar date in integer "(year,month,day)" format that is used only if set with year>0, month>0, day>0. If used, model calendar date is replaced by this date, but model time of day is still used to determine ice/sst. Used for repeating-single-day (rsd) experiments.
[integer(3), default: /-1,-1,-1/]
sst_pert
Temperature perturbation in degrees Kelvin added onto the SST. The perturbation is globally-uniform (even near sea-ice). It is only used when abs(sst_pert) > 1.e-4. SST perturbation runs may be useful in accessing model sensitivities.
[real, default: sst_pert=0.]


DATA SETS

AMIP 1
from Jan 1979 to Jan 1989 (2 deg x 2 deg).
Reynolds OI
from Nov 1981 to Jan 1999 (1 deg x 1 deg) The analysis uses in situ and satellite SST's plus SST's simulated by sea-ice cover.
Reynolds EOF
from Jan 1950 to Dec 1998 (2 deg x 2 deg) NCEP Reynolds Historical Reconstructed Sea Surface Temperature The analysis uses both in-situ SSTs and satellite derived SSTs from the NOAA Advanced Very High Resolution Radiometer. In-situ data is used from 1950 to 1981, while both AVHRR derived satellite SSTs and in-situ data are used from 1981 to the end of 1998.

Note: The data set used by this module have been reformatted as 32-bit IEEE. The data values are packed into 16-bit integers.

The data sets are read from the following files:

amip1 INPUT/amip1_sst.data reynolds_io INPUT/reyoi_sst.data reynolds_eof INPUT/reynolds_sst.data


ERROR MESSAGES

FATAL in amip_interp_init
the value of the namelist parameter DATA_SET being used is not allowed
Check the value of namelist variable DATA_SET.
FATAL in amip_interp_init
requested input data set does not exist
The data set requested is valid but the data does not exist in the INPUT subdirectory. You may have requested amip2 data which has not been officially set up. See the section on DATA SETS to properly set the data up.
FATAL in amip_interp_init
use_climo mismatch
The namelist variable date_out_of_range = 'fail' and the amip_interp_init argument use_climo = true. This combination is not allowed.
FATAL in amip_interp_init
use_annual(climo) mismatch
The namelist variable date_out_of_range = 'fail' and the amip_interp_init argument use_annual = true. This combination is not allowed.
FATAL in get_sst_grid_size
have not called amip_interp_init
Must call amip_interp_init before get_sst_grid_size.
FATAL in get_sst_grid_boundary
have not called amip_interp_init
Must call amip_interp_init before get_sst_grid_boundary.
FATAL in get_sst_grid_boundary
invalid argument dimensions
The size of the output argument arrays do not agree with the size of the observed data. See the documentation for interfaces get_sst_grid_size and get_sst_grid_boundary.


REFERENCES

None.


COMPILER SPECIFICS

None.


PRECOMPILER OPTIONS

None.


LOADER OPTIONS

None.


TEST PROGRAM

None.


KNOWN BUGS

None.


NOTES

None.


FUTURE PLANS

Add AMIP 2 data set.

Other data sets (or extend current data sets).



top