SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/prep_surf_atm.F90
Go to the documentation of this file.
00001 !     #################################################################################
00002 SUBROUTINE PREP_SURF_ATM(HPROGRAM,HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00003 !     #################################################################################
00004 !
00005 !!****  *PREP_SURF_ATM* - driver for surface fields preparation
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !
00010 !!**  METHOD
00011 !!    ------
00012 !!
00013 !!    REFERENCE
00014 !!    ---------
00015 !!      
00016 !!
00017 !!    AUTHOR
00018 !!    ------
00019 !!     V. Masson 
00020 !!
00021 !!    MODIFICATIONS
00022 !!    -------------
00023 !!      Original    01/2004
00024 !!      P. Le Moigne 10/2005, Phasage Arome
00025 !!------------------------------------------------------------------
00026 !
00027 
00028 !
00029 USE MODD_SURF_ATM_n,     ONLY : NDIM_SEA, NDIM_TOWN, NDIM_NATURE, NDIM_WATER
00030 !
00031 USE MODI_PREP_NATURE
00032 USE MODI_PREP_SEA
00033 USE MODI_PREP_INLAND_WATER
00034 USE MODI_PREP_TOWN
00035 !
00036 USE MODE_READ_GRIB
00037 !
00038 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00039 USE PARKIND1  ,ONLY : JPRB
00040 !
00041 USE MODI_SURF_VERSION
00042 !
00043 IMPLICIT NONE
00044 !
00045 !*      0.1    declarations of arguments
00046 !
00047  CHARACTER(LEN=6),  INTENT(IN) :: HPROGRAM    ! program calling surf. schemes
00048  CHARACTER(LEN=28), INTENT(IN) :: HATMFILE    ! name of the Atmospheric file
00049  CHARACTER(LEN=6),  INTENT(IN) :: HATMFILETYPE! type of the Atmospheric file
00050  CHARACTER(LEN=28), INTENT(IN) :: HPGDFILE    ! name of the Atmospheric file
00051  CHARACTER(LEN=6),  INTENT(IN) :: HPGDFILETYPE! type of the Atmospheric file
00052 !
00053 !*      0.2    declarations of local variables
00054  CHARACTER(LEN=28)               :: YATMFILE    ! name of the Atmospheric file
00055  CHARACTER(LEN=6)                :: YATMFILETYPE! type of the Atmospheric file
00056  CHARACTER(LEN=28)               :: YPGDFILE    ! name of the Atmospheric file
00057  CHARACTER(LEN=6)                :: YPGDFILETYPE! type of the Atmospheric file
00058 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00059 
00060 !
00061 !-------------------------------------------------------------------------------------
00062 IF (LHOOK) CALL DR_HOOK('PREP_SURF_ATM',0,ZHOOK_HANDLE)
00063  CALL SURF_VERSION
00064 !-------------------------------------------------------------------------------------
00065 !
00066 IF ( LEN_TRIM(HATMFILE)>0 ) THEN
00067   YATMFILE=HATMFILE
00068 ELSE
00069   YATMFILE='                            '
00070 ENDIF
00071 !
00072 IF ( LEN_TRIM(HPGDFILE)>0 ) THEN
00073   YPGDFILE=HPGDFILE
00074 ELSE
00075   YPGDFILE='                            '
00076 ENDIF
00077 !
00078 IF (  LEN_TRIM(HATMFILETYPE)>0 ) THEN
00079   YATMFILETYPE=HATMFILETYPE
00080 ELSE
00081   YATMFILETYPE='      '
00082 ENDIF
00083 !
00084 IF (  LEN_TRIM(HPGDFILETYPE)>0 ) THEN
00085   YPGDFILETYPE=HPGDFILETYPE
00086 ELSE
00087   YPGDFILETYPE='      '
00088 ENDIF
00089 !
00090 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
00091 ! SEA Tile calculations:
00092 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
00093 !
00094 IF(NDIM_SEA>0) CALL PREP_SEA(HPROGRAM,YATMFILE,YATMFILETYPE,YPGDFILE,YPGDFILETYPE)
00095 !
00096 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
00097 ! INLAND WATER Tile calculations:
00098 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
00099 !
00100 IF(NDIM_WATER>0) CALL PREP_INLAND_WATER(HPROGRAM,YATMFILE,YATMFILETYPE,YPGDFILE,YPGDFILETYPE)
00101 !
00102 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
00103 ! NATURAL SURFACE Tile calculations:
00104 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
00105 !
00106 IF(NDIM_NATURE>0) CALL PREP_NATURE(HPROGRAM,YATMFILE,YATMFILETYPE,YPGDFILE,YPGDFILETYPE)
00107 !
00108 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
00109 ! URBAN Tile calculations:
00110 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
00111 !
00112 IF(NDIM_TOWN>0) CALL PREP_TOWN(HPROGRAM,YATMFILE,YATMFILETYPE,YPGDFILE,YPGDFILETYPE)
00113 !
00114  CALL CLEAR_GRIB_INDEX
00115 !
00116 IF (LHOOK) CALL DR_HOOK('PREP_SURF_ATM',1,ZHOOK_HANDLE)
00117 !
00118 !-------------------------------------------------------------------------------------
00119 !
00120 END SUBROUTINE PREP_SURF_ATM