SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/split_grid.F90
Go to the documentation of this file.
00001 !     ###########################################################
00002       SUBROUTINE SPLIT_GRID(HPROGRAM)
00003 !     ###########################################################
00004 !!
00005 !!    PURPOSE
00006 !!    -------
00007 !!   This program splits a PGD grid on several processors (according to host program)
00008 !!
00009 !!    METHOD
00010 !!    ------
00011 !!   
00012 !!    EXTERNAL
00013 !!    --------
00014 !!
00015 !!
00016 !!    IMPLICIT ARGUMENTS
00017 !!    ------------------
00018 !!
00019 !!
00020 !!    REFERENCE
00021 !!    ---------
00022 !!
00023 !!    AUTHOR
00024 !!    ------
00025 !!
00026 !!    V. Masson                   Meteo-France
00027 !!
00028 !!    MODIFICATION
00029 !!    ------------
00030 !!
00031 !!    Original     08/11
00032 !----------------------------------------------------------------------------
00033 !
00034 !*    0.     DECLARATION
00035 !            -----------
00036 !
00037 USE MODD_SURF_ATM_GRID_n, ONLY : CGRID, XGRID_PAR, NGRID_PAR
00038 USE MODD_SURF_ATM_n,      ONLY : NDIM_FULL, NSIZE_FULL
00039 !
00040 USE MODI_SPLIT_GRID_CONF_PROJ
00041 USE MODI_SPLIT_GRID_CARTESIAN
00042 USE MODI_GET_SIZE_FULL_n
00043 !
00044 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00045 USE PARKIND1  ,ONLY : JPRB
00046 !
00047 !
00048 IMPLICIT NONE
00049 !
00050 !*    0.1    Declaration of dummy arguments
00051 !            ------------------------------
00052 !
00053  CHARACTER(LEN=6),     INTENT(IN)  :: HPROGRAM ! program calling
00054 !
00055 !
00056 !*    0.2    Declaration of local variables
00057 !            ------------------------------
00058 !
00059 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00060  CHARACTER(LEN=100) :: YCOMMENT
00061 INTEGER :: IRESP ! error return code
00062 !------------------------------------------------------------------------------
00063 IF (LHOOK) CALL DR_HOOK('SPLIT_GRID',0,ZHOOK_HANDLE)
00064 !
00065 SELECT CASE(CGRID)
00066 
00067   CASE('CONF PROJ ')
00068     CALL SPLIT_GRID_CONF_PROJ(HPROGRAM,NDIM_FULL,NSIZE_FULL,NGRID_PAR,XGRID_PAR)
00069   CASE('CARTESIAN ')
00070     CALL SPLIT_GRID_CARTESIAN(HPROGRAM,NDIM_FULL,NSIZE_FULL,NGRID_PAR,XGRID_PAR)
00071   CASE DEFAULT
00072     CALL GET_SIZE_FULL_n(HPROGRAM,NDIM_FULL,NSIZE_FULL)
00073 
00074 END SELECT
00075 !
00076 
00077 IF (LHOOK) CALL DR_HOOK('SPLIT_GRID',1,ZHOOK_HANDLE)
00078 !_______________________________________________________________________________
00079 !
00080 END SUBROUTINE SPLIT_GRID