SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/OFFLIN/mode_split_grid_parameter_ol.F90
Go to the documentation of this file.
00001 !##################
00002 MODULE MODE_SPLIT_GRID_PARAMETER_OL
00003 !##################
00004 !
00005 CONTAINS
00006 !
00007 !     #############################################################
00008       SUBROUTINE SPLIT_GRID_PARAMETERX1_OL(HPROGRAM,HGRID,HREC,KDIM,KSIZE,&
00009                                            PFIELD,PFIELD_SPLIT            )
00010 !     #############################################################
00011 !
00012 !!****  * - routine to split a real array on the splitted grid 
00013 !
00014 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00015 USE PARKIND1  ,ONLY : JPRB
00016 !
00017 USE MODI_ABOR1_SFX
00018 !
00019 !
00020 IMPLICIT NONE
00021 !
00022 !*      0.1   Declarations of arguments
00023 !
00024  CHARACTER(LEN=6),       INTENT(IN) :: HPROGRAM    ! calling program
00025  CHARACTER(LEN=10),      INTENT(IN) :: HGRID       ! grid type
00026  CHARACTER(LEN=6),       INTENT(IN) :: HREC        ! name of the parameter
00027 INTEGER,                INTENT(IN) :: KDIM        ! size of PFIELD
00028 INTEGER,                INTENT(IN) :: KSIZE       ! size of PFIELD_SPLIT
00029 REAL, DIMENSION(KDIM ), INTENT(IN) :: PFIELD      ! real field for complete grid
00030 REAL, DIMENSION(KSIZE), INTENT(OUT):: PFIELD_SPLIT! real field for splitted grid
00031 !
00032 !*      0.2   Declarations of local variables
00033 !
00034 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00035 !
00036 !-------------------------------------------------------------------------------
00037 IF (LHOOK) CALL DR_HOOK('MODE_SPLIT_GRID_PARAMETER_OL:SPLIT_GRID_PARAMETERX1_OL',0,ZHOOK_HANDLE)
00038 !
00039 IF (KDIM==KSIZE) THEN
00040   PFIELD_SPLIT = PFIELD
00041 ELSE
00042   CALL ABOR1_SFX('ERROR in SPLIT_GRID_OL for grid, '//HGRID//', case need to be coded')
00043 END IF
00044 !
00045 !
00046 IF (LHOOK) CALL DR_HOOK('MODE_SPLIT_GRID_PARAMETER_OL:SPLIT_GRID_PARAMETERX1_OL',1,ZHOOK_HANDLE)
00047 !
00048 !-------------------------------------------------------------------------------
00049 END SUBROUTINE SPLIT_GRID_PARAMETERX1_OL
00050 !
00051 !
00052 !     #############################################################
00053       SUBROUTINE SPLIT_GRID_PARAMETERN0_OL(HPROGRAM,HGRID,HREC,KFIELD,KFIELD_SPLIT)
00054 !     #############################################################
00055 !
00056 !!****  * - routine to define an integer related to splitted grid
00057 !
00058 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00059 USE PARKIND1  ,ONLY : JPRB
00060 !
00061 !
00062 IMPLICIT NONE
00063 !
00064 !*      0.1   Declarations of arguments
00065 !
00066  CHARACTER(LEN=6),  INTENT(IN) :: HPROGRAM     ! calling program
00067  CHARACTER(LEN=10), INTENT(IN) :: HGRID        ! grid type
00068  CHARACTER(LEN=6),  INTENT(IN) :: HREC         ! name of the parameter
00069 INTEGER,           INTENT(IN) :: KFIELD       ! integer scalar for complete grid
00070 INTEGER,           INTENT(OUT):: KFIELD_SPLIT ! integer scalar for splitted grid
00071 !*      0.2   Declarations of local variables
00072 !
00073 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00074 !
00075 !-------------------------------------------------------------------------------
00076 IF (LHOOK) CALL DR_HOOK('MODE_SPLIT_GRID_PARAMETER_OL:SPLIT_GRID_PARAMETERN0_OL',0,ZHOOK_HANDLE)
00077 !
00078 !-------------------------------------------------------------------------------
00079 !* define the integer value for the splitted grid
00080 !
00081 KFIELD_SPLIT = KFIELD
00082 !
00083 IF (LHOOK) CALL DR_HOOK('MODE_SPLIT_GRID_PARAMETER_OL:SPLIT_GRID_PARAMETERN0_OL',1,ZHOOK_HANDLE)
00084 !
00085 !-------------------------------------------------------------------------------
00086 END SUBROUTINE SPLIT_GRID_PARAMETERN0_OL
00087 !
00088 END MODULE MODE_SPLIT_GRID_PARAMETER_OL