SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/prep_grid_extern.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE PREP_GRID_EXTERN(HFILETYPE,KLUOUT,HGRIDTYPE,HINTERP_TYPE,KNI)
00003 !     ##########################################################################
00004 !
00005 !!****  *PREP_GRID_EXTERN* - reads EXTERNALIZED Surface grid.
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!
00010 !!**  METHOD
00011 !!    ------
00012 !!
00013 !!    EXTERNAL
00014 !!    --------
00015 !!
00016 !!    IMPLICIT ARGUMENTS
00017 !!    ------------------
00018 !!
00019 !!
00020 !!    REFERENCE
00021 !!    ---------
00022 !!
00023 !!
00024 !!    AUTHOR
00025 !!    ------
00026 !!
00027 !!      V. Masson
00028 !!
00029 !!    MODIFICATIONS
00030 !!    -------------
00031 !!      Original   06/2003
00032 !-------------------------------------------------------------------------------
00033 !
00034 !*      0. DECLARATIONS
00035 !          ------------
00036 !
00037 USE MODI_READ_SURF
00038 USE MODI_PREP_GRID_CONF_PROJ
00039 USE MODI_PREP_GRID_CARTESIAN
00040 USE MODI_PREP_GRID_GAUSS
00041 USE MODI_PREP_GRID_LONLAT_REG
00042 !
00043 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00044 USE PARKIND1  ,ONLY : JPRB
00045 !
00046 USE MODI_ABOR1_SFX
00047 !
00048 IMPLICIT NONE
00049 !
00050 !* 0.1. Declaration of arguments
00051 !       ------------------------
00052 !
00053  CHARACTER(LEN=6),  INTENT(IN)    :: HFILETYPE    ! file type
00054 INTEGER,           INTENT(IN)    :: KLUOUT       ! logical unit of output listing
00055  CHARACTER(LEN=10),  INTENT(OUT)  :: HGRIDTYPE    ! Grid type
00056  CHARACTER(LEN=6),  INTENT(OUT)   :: HINTERP_TYPE ! Grid type
00057 INTEGER,           INTENT(OUT)   :: KNI          ! number of points
00058 !
00059 !* 0.2 Declaration of local variables
00060 !      ------------------------------
00061 !
00062 INTEGER :: IRESP
00063 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00064 !
00065 !-----------------------------------------------------------------------
00066 !
00067 !*   1 Type of grid
00068 !      ------------
00069 !
00070 IF (LHOOK) CALL DR_HOOK('PREP_GRID_EXTERN',0,ZHOOK_HANDLE)
00071  CALL READ_SURF(HFILETYPE,'GRID_TYPE',HGRIDTYPE,IRESP)
00072 !
00073 !-----------------------------------------------------------------------
00074 !
00075 !*   2 Reading of grid
00076 !      ---------------
00077 !
00078 IF (HGRIDTYPE=='CONF PROJ ') THEN
00079   CALL PREP_GRID_CONF_PROJ(HFILETYPE,HINTERP_TYPE,KNI)
00080 ELSE IF (HGRIDTYPE=='CARTESIAN ') THEN
00081   CALL PREP_GRID_CARTESIAN(HFILETYPE,HINTERP_TYPE,KNI)
00082 ELSE IF (HGRIDTYPE=='GAUSS     ') THEN
00083   CALL PREP_GRID_GAUSS(HFILETYPE,HINTERP_TYPE,KNI)
00084 ELSE IF (HGRIDTYPE=='LONLAT REG') THEN
00085   HGRIDTYPE = 'LATLON    '
00086   CALL PREP_GRID_LONLAT_REG(HFILETYPE,HINTERP_TYPE,KNI)
00087 ELSE
00088   WRITE(KLUOUT,*) 'GRIDTYPE "',HGRIDTYPE,'" NOT ACCEPTED AS INPUT FILE FOR FIELD PREPARATION'
00089   CALL ABOR1_SFX('GRIDTYPE NOT ACCEPTED AS INPUT FILE FOR FIELD PREPARATION, '//HGRIDTYPE)
00090 END IF
00091 IF (LHOOK) CALL DR_HOOK('PREP_GRID_EXTERN',1,ZHOOK_HANDLE)
00092 !
00093 !-----------------------------------------------------------------------
00094 !
00095 END SUBROUTINE PREP_GRID_EXTERN