SURFEX v8.1
General documentation of Surfex
writesurf_sson.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 writesurf_sso_n (HSELECT, USS, HPROGRAM)
7 ! #################################
8 !
9 !!**** *WRITESURF_SSO_n* - writes orographic fields
10 !!
11 !! PURPOSE
12 !! -------
13 !!
14 !!
15 !!
16 !!** METHOD
17 !! ------
18 !!
19 !!
20 !! REFERENCE
21 !! ---------
22 !!
23 !!
24 !! AUTHOR
25 !! ------
26 !! V. Masson *Meteo France*
27 !!
28 !! MODIFICATIONS
29 !! -------------
30 !! Original 01/2003
31 !-------------------------------------------------------------------------------
32 !
33 !* 0. DECLARATIONS
34 ! ------------
35 !
36 !
37 USE modd_sso_n, ONLY : sso_t
38 !
40 !
41 !
42 USE yomhook ,ONLY : lhook, dr_hook
43 USE parkind1 ,ONLY : jprb
44 !
45 IMPLICIT NONE
46 !
47 !* 0.1 Declarations of arguments
48 ! -------------------------
49 !
50 !
51  CHARACTER(LEN=*), DIMENSION(:), INTENT(IN) :: HSELECT
52 !
53 TYPE(sso_t), INTENT(INOUT) :: USS
54 !
55  CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! program calling
56 !
57 !* 0.2 Declarations of local variables
58 ! -------------------------------
59 !
60 INTEGER :: IRESP ! IRESP : return-code if a problem appears
61  CHARACTER(LEN=12) :: YRECFM ! Name of the article to be read
62  CHARACTER(LEN=100):: YCOMMENT ! Comment string
63 REAL(KIND=JPRB) :: ZHOOK_HANDLE
64 !
65 !-------------------------------------------------------------------------------
66 !
67 !* 1. Orography :
68 ! ---------
69 !
70 !
71 IF (lhook) CALL dr_hook('WRITESURF_SSO_N',0,zhook_handle)
72 yrecfm='AVG_ZS'
73 ycomment='X_Y_AVG_ZS (M)'
74  CALL write_surf(hselect, &
75  hprogram,yrecfm,uss%XAVG_ZS(:),iresp,hcomment=ycomment)
76 !
77 yrecfm='SIL_ZS'
78 ycomment='X_Y_SIL_ZS (M)'
79  CALL write_surf(hselect, &
80  hprogram,yrecfm,uss%XSIL_ZS(:),iresp,hcomment=ycomment)
81 !
82 !-------------------------------------------------------------------------------
83 !
84 !* 2. Subgrid Orography :
85 ! -----------------
86 !
87 yrecfm='SSO_STDEV'
88 ycomment='X_Y_SSO_STDEV (M)'
89  CALL write_surf(hselect, &
90  hprogram,yrecfm,uss%XSSO_STDEV(:),iresp,hcomment=ycomment)
91 !
92 !
93 yrecfm='MIN_ZS'
94 ycomment='X_Y_MIN_ZS (M)'
95  CALL write_surf(hselect, &
96  hprogram,yrecfm,uss%XMIN_ZS(:),iresp,hcomment=ycomment)
97 !
98 yrecfm='MAX_ZS'
99 ycomment='X_Y_MAX_ZS (M)'
100  CALL write_surf(hselect, &
101  hprogram,yrecfm,uss%XMAX_ZS(:),iresp,hcomment=ycomment)
102 !
103 yrecfm='SSO_ANIS'
104 ycomment='X_Y_SSO_ANIS (-)'
105  CALL write_surf(hselect, &
106  hprogram,yrecfm,uss%XSSO_ANIS(:),iresp,hcomment=ycomment)
107 !
108 yrecfm='SSO_DIR'
109 ycomment='X_Y_SSO_DIR (DEG)'
110  CALL write_surf(hselect, &
111  hprogram,yrecfm,uss%XSSO_DIR(:),iresp,hcomment=ycomment)
112 !
113 yrecfm='SSO_SLOPE'
114 ycomment='X_Y_SSO_SLOPE (-)'
115  CALL write_surf(hselect, &
116  hprogram,yrecfm,uss%XSSO_SLOPE(:),iresp,hcomment=ycomment)
117 !
118 !-------------------------------------------------------------------------------
119 !
120 !* 3. Subgrid Orography roughness:
121 ! ---------------------------
122 !
123 !
124 yrecfm='HO2IP'
125 ycomment='X_Y_HO2IP (M)'
126  CALL write_surf(hselect, &
127  hprogram,yrecfm,uss%XHO2IP(:),iresp,hcomment=ycomment)
128 !
129 yrecfm='HO2JP'
130 ycomment='X_Y_HO2JP (M)'
131  CALL write_surf(hselect, &
132  hprogram,yrecfm,uss%XHO2JP(:),iresp,hcomment=ycomment)
133 !
134 yrecfm='HO2IM'
135 ycomment='X_Y_HO2IM (M)'
136  CALL write_surf(hselect, &
137  hprogram,yrecfm,uss%XHO2IM(:),iresp,hcomment=ycomment)
138 !
139 yrecfm='HO2JM'
140 ycomment='X_Y_HO2JM (M)'
141  CALL write_surf(hselect, &
142  hprogram,yrecfm,uss%XHO2JM(:),iresp,hcomment=ycomment)
143 !
144 yrecfm='AOSIP'
145 ycomment='X_Y_AOSIP (-)'
146  CALL write_surf(hselect, &
147  hprogram,yrecfm,uss%XAOSIP(:),iresp,hcomment=ycomment)
148 !
149 yrecfm='AOSJP'
150 ycomment='X_Y_AOSJP (-)'
151  CALL write_surf(hselect, &
152  hprogram,yrecfm,uss%XAOSJP(:),iresp,hcomment=ycomment)
153 !
154 yrecfm='AOSIM'
155 ycomment='X_Y_AOSIM (-)'
156  CALL write_surf(hselect, &
157  hprogram,yrecfm,uss%XAOSIM(:),iresp,hcomment=ycomment)
158 !
159 yrecfm='AOSJM'
160 ycomment='X_Y_AOSJM (-)'
161  CALL write_surf(hselect, &
162  hprogram,yrecfm,uss%XAOSJM(:),iresp,hcomment=ycomment)
163 IF (lhook) CALL dr_hook('WRITESURF_SSO_N',1,zhook_handle)
164 !
165 !-------------------------------------------------------------------------------
166 !
167 END SUBROUTINE writesurf_sso_n
integer, parameter jprb
Definition: parkind1.F90:32
subroutine writesurf_sso_n(HSELECT, USS, HPROGRAM)
logical lhook
Definition: yomhook.F90:15