SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_pgd_flaken.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE READ_PGD_FLAKE_n(HPROGRAM)
00003 !     #########################################
00004 !
00005 !!****  *READ_PGD_FLAKE_n* - read FLAKE physiographic fields
00006 !!                        
00007 !!
00008 !!    PURPOSE
00009 !!    -------
00010 !!
00011 !!**  METHOD
00012 !!    ------
00013 !!
00014 !!    EXTERNAL
00015 !!    --------
00016 !!
00017 !!
00018 !!    IMPLICIT ARGUMENTS
00019 !!    ------------------
00020 !!
00021 !!    REFERENCE
00022 !!    ---------
00023 !!
00024 !!
00025 !!    AUTHOR
00026 !!    ------
00027 !!      V. Masson   *Meteo France*      
00028 !!
00029 !!    MODIFICATIONS
00030 !!    -------------
00031 !!      Original    01/2003 
00032 !-------------------------------------------------------------------------------
00033 !
00034 !*       0.    DECLARATIONS
00035 !              ------------
00036 !
00037 USE MODD_TYPE_DATE_SURF
00038 !
00039 USE MODD_DATA_COVER_PAR, ONLY : JPCOVER
00040 USE MODD_FLAKE_n,      ONLY : XCOVER        , XZS           , &
00041                               TTIME         , LCOVER        , &
00042                               XWATER_DEPTH  , XWATER_FETCH  , &
00043                               XT_BS         , XDEPTH_BS     , &
00044                               XEXTCOEF_WATER
00045 
00046 
00047 USE MODD_FLAKE_GRID_n, ONLY : XLAT, XLON, XMESH_SIZE, CGRID, XGRID_PAR, NDIM
00048 !
00049 USE MODI_READ_SURF
00050 USE MODI_READ_GRID
00051 USE MODI_READ_LCOVER
00052 !
00053 !
00054 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00055 USE PARKIND1  ,ONLY : JPRB
00056 !
00057 USE MODI_GET_TYPE_DIM_n
00058 !
00059 IMPLICIT NONE
00060 !
00061 !*       0.1   Declarations of arguments
00062 !              -------------------------
00063 !
00064  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! calling program
00065 !
00066 !*       0.2   Declarations of local variables
00067 !              -------------------------------
00068 !
00069 INTEGER           :: IRESP          ! Error code after redding
00070 ! 
00071  CHARACTER(LEN=12) :: YRECFM         ! Name of the article to be read
00072 !
00073 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00074 !-------------------------------------------------------------------------------
00075 !
00076 !* 1D physical dimension
00077 !
00078 IF (LHOOK) CALL DR_HOOK('READ_PGD_FLAKE_N',0,ZHOOK_HANDLE)
00079 YRECFM='SIZE_WATER'
00080  CALL GET_TYPE_DIM_n('WATER ',NDIM)
00081 !
00082 !
00083 !
00084 !*       2.     Physiographic data fields:
00085 !               -------------------------
00086 !
00087 !* cover classes
00088 !
00089 ALLOCATE(LCOVER(JPCOVER))
00090  CALL READ_LCOVER(HPROGRAM,LCOVER)
00091 !
00092 ALLOCATE(XCOVER(NDIM,JPCOVER))
00093  CALL READ_SURF(HPROGRAM,'COVER',XCOVER(:,:),LCOVER,IRESP)
00094 !
00095 !* orography
00096 !
00097 ALLOCATE(XZS(NDIM))
00098 YRECFM='ZS'
00099  CALL READ_SURF(HPROGRAM,YRECFM,XZS(:),IRESP)
00100 !
00101 !* latitude, longitude 
00102 !
00103 ALLOCATE(XLAT      (NDIM))
00104 ALLOCATE(XLON      (NDIM))
00105 ALLOCATE(XMESH_SIZE(NDIM))
00106  CALL READ_GRID(HPROGRAM,CGRID,XGRID_PAR,XLAT,XLON,XMESH_SIZE,IRESP)
00107 !
00108 !* FLake parameters
00109 !
00110 ALLOCATE(XWATER_DEPTH   (NDIM))
00111 YRECFM='WATER_DEPTH'
00112  CALL READ_SURF(HPROGRAM,YRECFM,XWATER_DEPTH(:),IRESP)
00113 !
00114 ALLOCATE(XWATER_FETCH   (NDIM))
00115 YRECFM='WATER_FETCH'
00116  CALL READ_SURF(HPROGRAM,YRECFM,XWATER_FETCH(:),IRESP)
00117 !
00118 ALLOCATE(XT_BS          (NDIM))
00119 YRECFM='T_BS'
00120  CALL READ_SURF(HPROGRAM,YRECFM,XT_BS(:),IRESP)
00121 !
00122 ALLOCATE(XDEPTH_BS      (NDIM))
00123 YRECFM='DEPTH_BS'
00124  CALL READ_SURF(HPROGRAM,YRECFM,XDEPTH_BS(:),IRESP)
00125 !
00126 ALLOCATE(XEXTCOEF_WATER (NDIM))
00127 YRECFM='EXTCOEF_WAT'
00128  CALL READ_SURF(HPROGRAM,YRECFM,XEXTCOEF_WATER(:),IRESP)
00129 !
00130 IF (LHOOK) CALL DR_HOOK('READ_PGD_FLAKE_N',1,ZHOOK_HANDLE)
00131 !-------------------------------------------------------------------------------
00132 !
00133 END SUBROUTINE READ_PGD_FLAKE_n