SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_nam_pgd_dummy.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE READ_NAM_PGD_DUMMY(HPROGRAM, KDUMMY_NBR, HDUMMY_NAME, HDUMMY_AREA, &
00003                                       HDUMMY_ATYPE, HDUMMY_FILE, HDUMMY_FILETYPE      )  
00004 !     ##############################################################
00005 !
00006 !!**** *READ_NAM_PGD_DUMMY* reads namelist NAM_DUMMY_PGD
00007 !!
00008 !!    PURPOSE
00009 !!    -------
00010 !!
00011 !!    METHOD
00012 !!    ------
00013 !!   
00014 !
00015 !!    EXTERNAL
00016 !!    --------
00017 !!
00018 !!    IMPLICIT ARGUMENTS
00019 !!    ------------------
00020 !!
00021 !!    REFERENCE
00022 !!    ---------
00023 !!
00024 !!    AUTHOR
00025 !!    ------
00026 !!
00027 !!    V. Masson        Meteo-France
00028 !!
00029 !!    MODIFICATION
00030 !!    ------------
00031 !!
00032 !!    Original    01/2005
00033 !!
00034 !----------------------------------------------------------------------------
00035 !
00036 !*    0.     DECLARATION
00037 !            -----------
00038 !
00039 USE MODI_GET_LUOUT
00040 USE MODI_OPEN_NAMELIST
00041 USE MODI_CLOSE_NAMELIST
00042 !
00043 USE MODE_POS_SURF
00044 !
00045 !
00046 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00047 USE PARKIND1  ,ONLY : JPRB
00048 !
00049 IMPLICIT NONE
00050 !
00051 !*    0.1    Declaration of arguments
00052 !            ------------------------
00053 !
00054  CHARACTER(LEN=6),                   INTENT(IN)   :: HPROGRAM     ! Type of program
00055 INTEGER,                            INTENT(OUT)  :: KDUMMY_NBR
00056 !                          ! number of dummy pgd fields chosen by user
00057  CHARACTER(LEN=20), DIMENSION(1000), INTENT(OUT)  :: HDUMMY_NAME
00058 !                          ! name of the dummy pgd fields (for information)
00059  CHARACTER(LEN=3),  DIMENSION(1000), INTENT(OUT)  :: HDUMMY_AREA
00060 !                          ! areas where dummy pgd fields are defined
00061 !                          ! 'ALL' : everywhere
00062 !                          ! 'SEA' : where sea exists
00063 !                          ! 'LAN' : where land exists
00064 !                          ! 'WAT' : where inland water exists
00065 !                          ! 'NAT' : where natural or agricultural areas exist
00066 !                          ! 'TWN' : where town areas exist
00067 !                          ! 'STR' : where streets are present
00068 !                          ! 'BLD' : where buildings are present
00069  CHARACTER(LEN=3),  DIMENSION(1000), INTENT(OUT)  :: HDUMMY_ATYPE    ! avg type for dummy pgd fields
00070 !                                                                   ! 'ARI' , 'INV'
00071  CHARACTER(LEN=28), DIMENSION(1000), INTENT(OUT)  :: HDUMMY_FILE     ! data files
00072  CHARACTER(LEN=6),  DIMENSION(1000), INTENT(OUT)  :: HDUMMY_FILETYPE ! type of these files
00073 !
00074 !
00075 !*    0.2    Declaration of local variables
00076 !            ------------------------------
00077 !
00078 INTEGER                           :: ILUOUT    ! output listing logical unit
00079 INTEGER                           :: ILUNAM    ! namelist file logical unit
00080 LOGICAL                           :: GFOUND    ! flag when namelist is present
00081 !
00082 !*    0.3    Declaration of namelists
00083 !            ------------------------
00084 !
00085 INTEGER                             :: NDUMMY_NBR
00086 !                          ! number of dummy pgd fields chosen by user
00087  CHARACTER(LEN=20), DIMENSION(1000)  :: CDUMMY_NAME
00088 !                          ! name of the dummy pgd fields (for information)
00089  CHARACTER(LEN=3),  DIMENSION(1000)  :: CDUMMY_AREA
00090 !                          ! areas where dummy pgd fields are defined
00091 !                          ! 'ALL' : everywhere
00092 !                          ! 'SEA' : where sea exists
00093 !                          ! 'LAN' : where land exists
00094 !                          ! 'WAT' : where inland water exists
00095 !                          ! 'NAT' : where natural or agricultural areas exist
00096 !                          ! 'TWN' : where town areas exist
00097 !                          ! 'STR' : where streets are present
00098 !                          ! 'BLD' : where buildings are present
00099  CHARACTER(LEN=3),  DIMENSION(1000)  :: CDUMMY_ATYPE    ! avg type for dummy pgd fields
00100 !                                                      ! 'ARI' , 'INV'
00101  CHARACTER(LEN=28), DIMENSION(1000)  :: CDUMMY_FILE     ! data files
00102  CHARACTER(LEN=6),  DIMENSION(1000)  :: CDUMMY_FILETYPE ! type of these files
00103 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00104 !
00105 NAMELIST/NAM_DUMMY_PGD/ NDUMMY_NBR, CDUMMY_NAME, CDUMMY_AREA,       &
00106                           CDUMMY_ATYPE, CDUMMY_FILE, CDUMMY_FILETYPE  
00107 !-------------------------------------------------------------------------------
00108 !
00109 !*    1.      Initializations of defaults
00110 !             ---------------------------
00111 !
00112 IF (LHOOK) CALL DR_HOOK('READ_NAM_PGD_DUMMY',0,ZHOOK_HANDLE)
00113 NDUMMY_NBR = 0
00114 !
00115 CDUMMY_NAME     = "                    "
00116 CDUMMY_FILE     = "                            "
00117 CDUMMY_FILETYPE = "      "
00118 CDUMMY_AREA     = "ALL"
00119 CDUMMY_ATYPE    = "ARI"
00120 !
00121  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00122 !
00123 !-------------------------------------------------------------------------------
00124 !
00125 !*    2.      Reading of namelist
00126 !             -------------------
00127 !
00128  CALL OPEN_NAMELIST(HPROGRAM,ILUNAM)
00129 !
00130  CALL POSNAM(ILUNAM,'NAM_DUMMY_PGD',GFOUND,ILUOUT)
00131 IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_DUMMY_PGD)
00132 !
00133  CALL CLOSE_NAMELIST(HPROGRAM,ILUNAM)
00134 !
00135 !-------------------------------------------------------------------------------
00136 !
00137 !*    3.      Fills output arguments
00138 !             ----------------------
00139 !
00140 KDUMMY_NBR         = NDUMMY_NBR
00141 HDUMMY_NAME(:)     = CDUMMY_NAME(:)
00142 HDUMMY_AREA(:)     = CDUMMY_AREA(:)
00143 HDUMMY_ATYPE(:)    = CDUMMY_ATYPE(:)
00144 HDUMMY_FILE(:)     = CDUMMY_FILE(:)
00145 HDUMMY_FILETYPE(:) = CDUMMY_FILETYPE(:)
00146 IF (LHOOK) CALL DR_HOOK('READ_NAM_PGD_DUMMY',1,ZHOOK_HANDLE)
00147 !
00148 !-------------------------------------------------------------------------------
00149 !
00150 END SUBROUTINE READ_NAM_PGD_DUMMY