next up previous contents
Next: 4.21 Fortran: Module Interface Up: 4 Module Descriptions Previous: 4.19 Fortran: Module Interface   Contents

Subsections

4.20 Fortran: Module Interface ice_mpi_internal - parameters and common blocks for MPI internal to ice model (Source File: ice_mpi_internal.F)

Parameters and commons blocks for MPI parallelization internal to ice model


REVISION HISTORY:

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

4.20.1 ice_global_real_minmax - computes global min/max and prints


INTERFACE:

       subroutine ice_global_real_minmax(nc,work,string)
DESCRIPTION:

Determines and writes both minimum and maximum over global grid


REVISION HISTORY:

   author: Tony Craig, NCAR
USES:
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind), intent(in) :: nc
       real (kind=dbl_kind), intent(in) :: work(nc)
       character (len=8), intent(in) :: string

4.20.2 real function ice_global_real_minval - computes global min


INTERFACE:

       real function ice_global_real_minval(nc,work)
DESCRIPTION:

Computes minimum over the global grid


REVISION HISTORY:

   author: Tony Craig, NCAR
USES:
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind), intent(in) :: nc
       real (kind=dbl_kind), intent(in) :: work(nc)

4.20.3 real function ice_global_real_maxval - computes global max


INTERFACE:

       real function ice_global_real_maxval(nc,work)
DESCRIPTION:

Computes maximum over the global grid


REVISION HISTORY:

   author: Tony Craig, NCAR
USES:
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind), intent(in) :: nc
       real (kind=dbl_kind), intent(in) :: work(nc)

4.20.4 real function ice_global_real_sum - sums input array over global grid


INTERFACE:

       real function ice_global_real_sum(nc,work)
DESCRIPTION:

Sums given array over the global grid


REVISION HISTORY:

   author: Tony Craig, NCAR
USES:
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind), intent(in) :: nc
       real (kind=dbl_kind), intent(in) :: work(nc)

4.20.5 ice_bcast_logical - broadcasts scalar logical to all processors


INTERFACE:

       subroutine ice_bcast_logical(logval)
DESCRIPTION:

Broadcasts a scalar logical value to all processors


REVISION HISTORY:

   author: Julie Schramm, NCAR
           Added 22 Oct 2001
USES:
INPUT/OUTPUT PARAMETERS:
       implicit none
 
       logical (kind=log_kind), intent(inout) :: logval

4.20.6 ice_bcast_char - broadcasts scalar character to all processors


INTERFACE:

       subroutine ice_bcast_char(charval)
DESCRIPTION:

Broadcasts a scalar character value to all processors


REVISION HISTORY:

   author: Julie Schramm, NCAR
           Added 22 Oct 2001
USES:
INPUT/OUTPUT PARAMETERS:
       implicit none
       character (*), intent(inout) :: charval

4.20.7 ice_bcast_rscalar - broadcasts real scalar all processors


INTERFACE:

       subroutine ice_bcast_rscalar(val)
DESCRIPTION:

Broadcasts a real scalar character value to all processors


REVISION HISTORY:

   author: Julie Schramm, NCAR
           Added 22 Oct 2001
USES:
INPUT/OUTPUT PARAMETERS:
       real (kind=dbl_kind), intent(inout) :: val

4.20.8 ice_bcast_iscalar - broadcasts integer scalar all processors


INTERFACE:

       subroutine ice_bcast_iscalar(ival)
DESCRIPTION:

Broadcasts an integer scalar character value to all processors


REVISION HISTORY:

   author: Tony Craig, NCAR
USES:
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind), intent(inout) :: ival

4.20.9 global_scatter - scatters global to distributed array, adding ghost cells


INTERFACE:

       subroutine global_scatter(workg,work)
DESCRIPTION:

Scatters a global array and adds ghost cells to create a distributed array


REVISION HISTORY:

   author: Tony Craig, NCAR
USES:
       use ice_model_size
       use ice_constants
INPUT/OUTPUT PARAMETERS:
       real (kind=dbl_kind) :: workg(imt_global,jmt_global)
      &,                       work(ilo:ihi,jlo:jhi)

4.20.10 global_gather - gathers distributed array into global array


INTERFACE:

       subroutine global_gather(workg,work)
DESCRIPTION:

Gathers a distributed array and strips off ghost cells to create a local array with global dimensions


REVISION HISTORY:

   author: Tony Craig, NCAR
USES:
       use ice_model_size
       use ice_constants
INPUT/OUTPUT PARAMETERS:
       real (kind=dbl_kind) :: workg(imt_global,jmt_global)
      &,                       work(ilo:ihi,jlo:jhi)

4.20.11 get_sum - computes weighted sum over global grid


INTERFACE:

       subroutine get_sum(flag,work1,work2,work3,gsum)
DESCRIPTION:

Computes a (weighted) sum over the global grid; if flag = 1 then work1 is weighted by work2 before being added to work3


REVISION HISTORY:

   author: Elizabeth C. Hunke, LANL
USES:
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind), intent(in) :: flag
 
       real (kind=dbl_kind), intent(in) ::
      &   work1(ilo:ihi,jlo:jhi)
      &,  work2(ilo:ihi,jlo:jhi)
 
       real (kind=dbl_kind), intent(in) ::
      &   work3(imt_local,jmt_local)
 
       real (kind=dbl_kind), intent(out) ::
      &   gsum

4.20.12 end_run - ends run


INTERFACE:

       subroutine end_run
DESCRIPTION:

Ends run by calling MPI_FINALIZE.


REVISION HISTORY:

   
   author: ?
USES:
INPUT/OUTPUT PARAMETERS:
 #ifdef _MPI
       call MPI_FINALIZE(ierr)
 #endif


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