SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/prep_output_grid.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE PREP_OUTPUT_GRID(KLUOUT,HGRID,PGRID_PAR,PLAT,PLON)
00003 !     #######################################
00004 !!
00005 !!    PURPOSE
00006 !!    -------
00007 !!    Computes variables used for interpolation
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     01/2004
00032 !----------------------------------------------------------------------------
00033 !
00034 !*    0.     DECLARATION
00035 !            -----------
00036 !
00037 USE MODI_GET_GRID_COORD
00038 !
00039 USE MODD_PREP, ONLY : XLAT_OUT, XLON_OUT, XX_OUT, XY_OUT, LINTERP
00040 !
00041 !
00042 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00043 USE PARKIND1  ,ONLY : JPRB
00044 !
00045 IMPLICIT NONE
00046 !
00047 !*    0.1    Declaration of dummy arguments
00048 !            ------------------------------
00049 !
00050 INTEGER,           INTENT(IN)  :: KLUOUT     ! output listing logical unit
00051  CHARACTER(LEN=10), INTENT(IN)  :: HGRID      ! grid type
00052 REAL, DIMENSION(:), POINTER    :: PGRID_PAR  ! parameters defining this grid
00053 REAL, DIMENSION(:),INTENT(IN)  :: PLAT       ! latitudes
00054 REAL, DIMENSION(:),INTENT(IN)  :: PLON       ! longitudes
00055 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00056 !
00057 !
00058 !*    0.2    Declaration of local variables
00059 !            ------------------------------
00060 !
00061 !
00062 !------------------------------------------------------------------------------
00063 !
00064 IF (LHOOK) CALL DR_HOOK('PREP_OUTPUT_GRID',0,ZHOOK_HANDLE)
00065 IF (.NOT.ALLOCATED(XLAT_OUT)) ALLOCATE(XLAT_OUT(SIZE(PLAT)))
00066 IF (.NOT.ALLOCATED(XLON_OUT)) ALLOCATE(XLON_OUT(SIZE(PLAT)))
00067 IF (.NOT.ALLOCATED(XX_OUT)) ALLOCATE(XX_OUT  (SIZE(PLAT)))
00068 IF (.NOT.ALLOCATED(XY_OUT)) ALLOCATE(XY_OUT  (SIZE(PLAT)))
00069 !
00070 IF (.NOT.ALLOCATED(LINTERP)) ALLOCATE(LINTERP (SIZE(PLAT)))
00071 
00072 XLAT_OUT = PLAT
00073 XLON_OUT = PLON
00074 LINTERP  = .TRUE.
00075 !
00076  CALL GET_GRID_COORD(KLUOUT,XX_OUT,XY_OUT,SIZE(PLAT),HGRID,PGRID_PAR)
00077 IF (LHOOK) CALL DR_HOOK('PREP_OUTPUT_GRID',1,ZHOOK_HANDLE)
00078 !-------------------------------------------------------------------------------
00079 !
00080 END SUBROUTINE PREP_OUTPUT_GRID