SURFEX v7.3
General documentation of Surfex
|
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