next up previous contents
Next: 4.13 Fortran: Module Interface Up: 4 Module Descriptions Previous: 4.11 Fortran: Module Interface   Contents

Subsections

4.12 Fortran: Module Interface ice_grid - spatial grids, masks and boundary conditions (Source File: ice_grid.F)

Spatial grids, masks, and boundary conditions


REVISION HISTORY:

   authors: Elizabeth C. Hunke, LANL
            Tony Craig, NCAR
INTERFACE:
       module ice_grid
USES:
       use ice_kinds_mod
       use ice_constants
       use ice_domain

4.12.1 init_grid - horizontal grid initialization


INTERFACE:

       subroutine init_grid(oceanmixed_ice)
DESCRIPTION:

Horizontal grid initialization:

HTN,E = cell widths on N,E sides of T cell;
ULAT,LONG = true latitude,longitude of U points;
DX,YT,U = x,y spacing centered at T,U points.


REVISION HISTORY:

   author: Elizabeth C. Hunke, LANL
USES:
       use ice_mpi_internal
       use shr_sys_mod, only : shr_sys_abort
INPUT/OUTPUT PARAMETERS:


4.12.2 popgrid - reads and sets pop displaced pole grid and land mask


INTERFACE:

       subroutine popgrid(oceanmixed_ice)
DESCRIPTION:

POP displaced pole grid and land mask. Grid record number,
field and units are:
(1) ULAT (radians)
(2) ULON (radians)
(3) HTN (cm)
(4) HTE (cm)
(5) HUS (cm)
(6) HUW (cm)
(7) ANGLE (radians).

Land mask record number and field is (1) KMT.


REVISION HISTORY:

   author: Elizabeth C. Hunke, LANL
USES:
       use ice_read_write
INPUT/OUTPUT PARAMETERS:


4.12.3 columngrid - column grid and mask


INTERFACE:

       subroutine columngrid
DESCRIPTION:

Column grid and mask


REVISION HISTORY:

   author: C. M. Bitz UW, (based on rectgrid by Hunke)
USES:
       use ice_model_size
       use ice_mpi_internal
       use shr_sys_mod, only : shr_sys_abort
INPUT/OUTPUT PARAMETERS:


4.12.4 rectgrid - regular rectangular grid and mask


INTERFACE:

       subroutine rectgrid
DESCRIPTION:

Regular rectangular grid and mask


REVISION HISTORY:

   author: Elizabeth C. Hunke, LANL
USES:
       use ice_model_size
       use ice_mpi_internal
INPUT/OUTPUT PARAMETERS:


4.12.5 makemask - makes logical land masks (T,U) and hemispheric masks


INTERFACE:

       subroutine makemask
DESCRIPTION:

Sets the boundary values for the T cell land mask (hm) and makes the logical land masks for T and U cells (tmask, umask). Also creates hemisphere masks (mask-n northern, mask-s southern)


REVISION HISTORY:

   author: Elizabeth C. Hunke, LANL
USES:
INPUT/OUTPUT PARAMETERS:


4.12.6 Tlatlon - initializes latitude and longitudes on T grid


INTERFACE:

       subroutine Tlatlon
DESCRIPTION:

Initializes latitude and longitude on T grid


REVISION HISTORY:

   author: Elizabeth C. Hunke, LANL; code originally based on POP grid 
   generation routine
USES:
       use ice_model_size
       use ice_mpi_internal
        use ice_read_write ! if reading ULAT, ULON directly from file
INPUT/OUTPUT PARAMETERS:


4.12.7 t2ugrid - transfer from T-cell centers to U-cell centers


INTERFACE:

       subroutine t2ugrid(work)
DESCRIPTION:

Transfer from T-cell centers to U-cell centers. Writes work into another array that has ghost cells


REVISION HISTORY:

   author: Elizabeth C. Hunke, LANL
USES:
INPUT/OUTPUT PARAMETERS:
       real (kind=dbl_kind) :: work (ilo:ihi,jlo:jhi)

4.12.8 to_ugrid - shift from T-cell to U-cell midpoints


INTERFACE:

       subroutine to_ugrid(work1,work2)
DESCRIPTION:

Shifts quantities from the T-cell midpoint (work1) to the U-cell midpoint (work2)


REVISION HISTORY:

   author: Elizabeth C. Hunke, LANL
USES:
INPUT/OUTPUT PARAMETERS:
       real (kind=dbl_kind) :: work1(imt_local,jmt_local)
      &,                       work2(ilo:ihi,jlo:jhi)

4.12.9 u2tgrid - transfer from U-cell centers to T-cell centers


INTERFACE:

       subroutine u2tgrid(work)
DESCRIPTION:

Transfer from U-cell centers to T-cell centers. Writes work into another array that has ghost cells


REVISION HISTORY:

   author: Elizabeth C. Hunke, LANL
USES:
INPUT/OUTPUT PARAMETERS:
       real (kind=dbl_kind) :: work (ilo:ihi,jlo:jhi)

4.12.10 to_tgrid - shifts array from U-cell to T-cell midpoints


INTERFACE:

       subroutine to_tgrid(work1,work2)
DESCRIPTION:

Shifts quantities from the U-cell midpoint (work1) to the T-cell midpoint (work2)


REVISION HISTORY:

   author: Elizabeth C. Hunke, LANL
USES:
INPUT/OUTPUT PARAMETERS:
       real (kind=dbl_kind) :: work1(imt_local,jmt_local)
      &,                       work2(ilo:ihi,jlo:jhi)

4.12.11 bound - fills ghost cells with boundary information


INTERFACE:

       subroutine bound(work1)
DESCRIPTION:

Fills ghost cells with boundary information


REVISION HISTORY:

   author: Tony Craig, NCAR
USES:
INPUT/OUTPUT PARAMETERS:
       real (kind=dbl_kind) :: work1(1)

4.12.12 bound_sw - fills south and west ghost cells


INTERFACE:

       subroutine bound_sw(work1)
DESCRIPTION:

Fills south and west ghost cells with boundary information


REVISION HISTORY:

   author: Tony Craig, NCAR
INPUT/OUTPUT PARAMETERS:
       real (kind=dbl_kind) :: work1(1)

4.12.13 bound_narr_ne - fills north and east ghost cells


INTERFACE:

       subroutine bound_narr_ne(narrays,work1)
DESCRIPTION:

Fills north and east ghost cells with boundary information.
NOTE: work1 array has form (number-arrays,i-index,j-index)
for evp dynamics performance


REVISION HISTORY:

   authors: Tony Craig, NCAR
            Elizabeth Hunke, LANL
USES:
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind) :: narrays
       real (kind=dbl_kind) :: work1(1)

4.12.14 bound_narr - fills north and east ghost cells with boundary info


INTERFACE:

       subroutine bound_narr(narrays,work1)
DESCRIPTION:

Fills north and east ghost cells with boundary information; narr arrays at once (for performance)


REVISION HISTORY:

   authors: Tony Craig, NCAR
            Elizabeth Hunke, LANL
USES:
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind) :: narrays
       real (kind=dbl_kind) :: work1(1)

4.12.15 bound_ijn - Periodic/Neumann boundary conditions


INTERFACE:

       subroutine bound_ijn(nd,work1,north,south,east,west)
DESCRIPTION:

Periodic/Neumann conditions for global domain boundaries.
Assumptions: a *single* row of ghost cells (num-ghost-cells=1);
work1 array has form (i-index,j-index,number-arrays)


REVISION HISTORY:

   authors: Tony Craig, NCAR
            Elizabeth Hunke, LANL
USES:
       use ice_timers
       use ice_mpi_internal
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind) :: nd
       real (kind=dbl_kind) :: work1(imt_local,jmt_local,nd)
       logical north,south,east,west

4.12.16 bound_nij - Periodic/Neumann boundary conditions


INTERFACE:

       subroutine bound_nij(nd,work1,north,south,east,west)
DESCRIPTION:

Periodic/Neumann conditions for global domain boundaries.
Assumptions: a *single* row of ghost cells (num-ghost-cells=1);
work1 array has form (number-arrays,i-index,j-index)


REVISION HISTORY:

   author: Tony Craig, NCAR
USES:
       use ice_timers
       use ice_mpi_internal
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind) :: nd
       real (kind=dbl_kind) :: work1(nd,imt_local,jmt_local)
       logical north,south,east,west


next up previous contents
Next: 4.13 Fortran: Module Interface Up: 4 Module Descriptions Previous: 4.11 Fortran: Module Interface   Contents
csm@ucar.edu