SURFEX v8.1
General documentation of Surfex
read_nam_pgd_seabathy.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! #########
6  SUBROUTINE read_nam_pgd_seabathy(HPROGRAM, HSEABATHY, &
7  HSEABATHYFILETYPE, HNCVARNAME, &
8  PUNIF_SEABATHY)
9 ! ##############################################################
10 !
11 !!**** *READ_NAM_PGD_SEABATHY* reads namelist for SEABATHY
12 !!
13 !! PURPOSE
14 !! -------
15 !!
16 !! METHOD
17 !! ------
18 !!
19 !
20 !! EXTERNAL
21 !! --------
22 !!
23 !! IMPLICIT ARGUMENTS
24 !! ------------------
25 !!
26 !! REFERENCE
27 !! ---------
28 !!
29 !! AUTHOR
30 !! ------
31 !!
32 !! C. Lebeaupin Brossier Meteo-France
33 !!
34 !! MODIFICATION
35 !! ------------
36 !!
37 !! Original 01/2008
38 !!
39 !----------------------------------------------------------------------------
40 !
41 !* 0. DECLARATION
42 ! -----------
43 !
44 USE modd_surf_par, ONLY : xundef, nundef
45 !
46 USE modi_get_luout
47 USE modi_open_namelist
48 USE modi_close_namelist
49 !
50 USE mode_pos_surf
51 !
52 USE yomhook ,ONLY : lhook, dr_hook
53 USE parkind1 ,ONLY : jprb
54 !
55 IMPLICIT NONE
56 !
57 !* 0.1 Declaration of arguments
58 ! ------------------------
59 !
60  CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! Type of program
61  CHARACTER(LEN=28), INTENT(OUT) :: HSEABATHY ! file name for bathymetry
62  CHARACTER(LEN=6), INTENT(OUT) :: HSEABATHYFILETYPE ! bathymetry data file type
63  CHARACTER(LEN=28), INTENT(OUT) :: HNCVARNAME ! variable to read in netcdf
64  ! file
65 REAL, INTENT(OUT) :: PUNIF_SEABATHY ! uniform value of bathymetry
66 !
67 !
68 !* 0.2 Declaration of local variables
69 ! ------------------------------
70 !
71 INTEGER :: ILUOUT ! output listing logical unit
72 INTEGER :: ILUNAM ! namelist file logical unit
73 LOGICAL :: GFOUND ! flag when namelist is present
74 !
75 !* 0.3 Declaration of namelists
76 ! ------------------------
77 !
78  CHARACTER(LEN=28) :: YSEABATHY ! file name for bathymetry
79  CHARACTER(LEN=6) :: YSEABATHYFILETYPE ! bathymetry data file type
80  CHARACTER(LEN=28) :: YNCVARNAME ! variable to read in netcdf
81  ! file
82 REAL :: XUNIF_SEABATHY ! uniform value of bathymetry
83 REAL(KIND=JPRB) :: ZHOOK_HANDLE
84 !
85 NAMELIST/nam_seabathy/ yseabathy, yseabathyfiletype, yncvarname, xunif_seabathy
86 !
87 !-------------------------------------------------------------------------------
88 !
89 !* 1. Initializations of defaults
90 ! ---------------------------
91 !
92 IF (lhook) CALL dr_hook('READ_NAM_PGD_SEABATHY',0,zhook_handle)
93 xunif_seabathy = -300.
94 yseabathy = ' '
95 yseabathyfiletype = ' '
96 yncvarname='rose '
97 !
98  CALL get_luout(hprogram,iluout)
99 !
100 !-------------------------------------------------------------------------------
101 !
102 !* 2. Reading of namelist
103 ! -------------------
104 !
105  CALL open_namelist(hprogram,ilunam)
106 !
107  CALL posnam(ilunam,'NAM_SEABATHY',gfound,iluout)
108 IF (gfound) READ(unit=ilunam,nml=nam_seabathy)
109 !
110  CALL close_namelist(hprogram,ilunam)
111 !
112 !-------------------------------------------------------------------------------
113 !
114 hseabathy = yseabathy ! file name for bathymetry
115 hseabathyfiletype = yseabathyfiletype ! bathymetry data file type
116 hncvarname = yncvarname ! variable to read in netcdf
117 punif_seabathy = xunif_seabathy ! uniform value of bathymetry
118 IF (lhook) CALL dr_hook('READ_NAM_PGD_SEABATHY',1,zhook_handle)
119 !
120 !-------------------------------------------------------------------------------
121 !
122 END SUBROUTINE read_nam_pgd_seabathy
subroutine posnam(KULNAM, HDNAML, OFOUND, KLUOUT)
real, parameter xundef
integer, parameter jprb
Definition: parkind1.F90:32
integer, parameter nundef
subroutine read_nam_pgd_seabathy(HPROGRAM, HSEABATHY,
subroutine close_namelist(HPROGRAM, KLUNAM)
subroutine get_luout(HPROGRAM, KLUOUT)
Definition: get_luout.F90:7
logical lhook
Definition: yomhook.F90:15
subroutine open_namelist(HPROGRAM, KLUNAM, HFILE)