40#include "implicit_f.inc"
48 TYPE (SURF_) ,
INTENT(IN),
TARGET,
DIMENSION(NSURF) :: IGRSURF
49 TYPE (SURF_) ,
INTENT(IN),
TARGET,
DIMENSION(NSLIN) :: IGRSLIN
50 INTEGER,
INTENT(IN) :: SBUFSF
56 CHARACTER (LEN=255) :: VARNAME
57 TYPE (SURF_) ,
POINTER ::
58 INTEGER KK ,NN, IAD_PREV
59 CHARACTER :: GROUP_NAME*7
68 ptr_igrsurf => igrsurf(kk)
69 IF(kk>1)iad_prev=igrsurf(kk-1)%IAD_BUFR
70 group_name(1:7) =
'IGRSURF'
71 CALL qa_print_surf(ptr_igrsurf, group_name, bufsf,sbufsf, iad_prev, 4)
79 ptr_igrsurf => igrslin(kk)
80 IF(kk>1)iad_prev=igrsurf(kk-1)%IAD_BUFR
81 group_name(1:7) =
'IGRSLIN'
82 CALL qa_print_surf(ptr_igrsurf, group_name, bufsf,sbufsf, iad_prev, 2)
98 SUBROUTINE qa_print_surf(PTR_IGRSURF, GROUP_NAME, BUFSF, SBUFSF, IAD_PREV, NNOD)
107#include "implicit_f.inc"
111 TYPE (SURF_),
INTENT(IN) :: PTR_IGRSURF
112 CHARACTER,
INTENT(IN) :: GROUP_NAME*7
113 INTEGER,
INTENT(IN) :: SBUFSF, IAD_PREV,NNOD
118 CHARACTER (LEN=255) :: VARNAME
119 INTEGER KK,ID,LEN_,NEL,NEL_IGE,NN,TMP, IAD_CUR,LEN_BUFSF
120 DOUBLE PRECISION :: RTMP
126 len_=len_trim(ptr_igrsurf%TITLE)
127 WRITE(varname,
'(A,I0,A,A)') group_name//
'(',id,
')%TITLE=',ptr_igrsurf%TITLE(1:len_)
128 CALL qaprint(varname(1:len_trim(varname)),id,0.0_8)
132 WRITE(varname,
'(A,I0,A)') group_name//
'(',id,
')%NSEG='
133 CALL qaprint(varname(1:len_trim(varname)),tmp,0.0_8)
136 tmp=ptr_igrsurf%NSEG_IGE
138 WRITE(varname,
'(A,I0,A)') group_name//
'(',id,
')%NSEG_IGE='
139 CALL qaprint(varname(1:len_trim(varname)),tmp,0.0_8)
142 tmp=ptr_igrsurf%IAD_IGE
144 WRITE(varname,
'(A,I0,A)') group_name//
'(',id,
')%IAD_IGE='
145 CALL qaprint(varname(1:len_trim(varname)),tmp,0.0_8)
148 tmp=ptr_igrsurf%SET_GROUP
150 WRITE(varname,
'(A,I0,A)') group_name//
'(',id,
')%SET_GROUP='
151 CALL qaprint(varname(1:len_trim(varname)),tmp,0.0_8)
156 WRITE(varname,
'(A,I0,A)') group_name//
'(',id,
')%TYPE='
157 CALL qaprint(varname(1:len_trim(varname)),tmp,0.0_8)
160 tmp=ptr_igrsurf%SET_GROUP
162 WRITE(varname,
'(A,I0,A)') group_name//
'(',id,
')%SET_GROUP='
163 CALL qaprint(varname(1:len_trim(varname)),tmp,0.0_8)
166 tmp=ptr_igrsurf%ID_MADYMO
168 WRITE(varname,
'(A,I0,A)') group_name//
'(',id,
')%ID_MADYMO='
169 CALL qaprint(varname(1:len_trim(varname)),tmp,0.0_8)
172 tmp=ptr_igrsurf%IAD_BUFR
174 WRITE(varname,
'(A,I0,A)') group_name//'(
',ID,')%IAD_BUFR=
'
175 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TMP,0.0_8)
178 TMP=PTR_IGRSURF%NB_MADYMO
180 WRITE(VARNAME,'(a,i0,a)
') GROUP_NAME//'(
',ID,')%NB_MADYMO=
'
181 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TMP,0.0_8)
184 TMP=PTR_IGRSURF%TYPE_MADYMO
186 WRITE(VARNAME,'(a,i0,a)
') GROUP_NAME//'(
',ID,')%TYPE_MADYMO=
'
187 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TMP,0.0_8)
190 TMP=PTR_IGRSURF%LEVEL
192 WRITE(VARNAME,'(a,i0,a)
') GROUP_NAME//'(
',ID,')%LEVEL=
'
193 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TMP,0.0_8)
196 TMP=PTR_IGRSURF%TH_SURF
198 WRITE(VARNAME,'(a,i0,a)
') GROUP_NAME//'(
',ID,')%TH_SURF=
'
199 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TMP,0.0_8)
202 TMP=PTR_IGRSURF%ISH4N3N
204 WRITE(VARNAME,'(a,i0,a)
') GROUP_NAME//'(
',ID,')%ISH4N3N
'
205 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TMP,0.0_8)
208 TMP=PTR_IGRSURF%NSEG_R2R_ALL
210 WRITE(VARNAME,'(a,i0,a)
') GROUP_NAME//'(
',ID,')%NSEG_R2R_ALL=
'
211 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TMP,0.0_8)
214 TMP=PTR_IGRSURF%NSEG_R2R_SHARE
216 WRITE(VARNAME,'(a,i0,a)
') GROUP_NAME//'(
',ID,')%NSEG_R2R_SHARE=
'
217 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TMP,0.0_8)
222 NEL_IGE=PTR_IGRSURF%NSEG_IGE
224 IF (ALLOCATED(PTR_IGRSURF%REVERSED)) THEN
226 TMP=PTR_IGRSURF%REVERSED(KK)
228 WRITE(VARNAME,'(a,i0,a,i0,a)
') GROUP_NAME//'(
',ID,')%REVERSED(
',KK,')=
'
229 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TMP,0.0_8)
234 IF (ALLOCATED(PTR_IGRSURF%ELTYP)) THEN
236 TMP=PTR_IGRSURF%ELTYP(KK)
238 WRITE(VARNAME,'(a,i0,a,i0,a)
') GROUP_NAME//'(
',ID,')%ELTYP(
',KK,')=
'
239 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TMP,0.0_8)
244.AND.
IF (ALLOCATED(PTR_IGRSURF%ELEM) ALLOCATED(PTR_IGRSURF%NODES)) THEN
246 TMP=PTR_IGRSURF%ELEM(KK)
248 WRITE(VARNAME,'(a,i0,a,i0,a)
') GROUP_NAME//'(
',ID,')%ELEM(
',KK,')=
'
249 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TMP,0.0_8)
251 WRITE(VARNAME,'(a,i0,a,i0,a,i0,a,i0,a,i0)
') GROUP_NAME//'(
',ID,')%ELEM(1:4)=
',PTR_IGRSURF%NODES(KK,1),
252 . ',
',PTR_IGRSURF%NODES(KK,2),',
',PTR_IGRSURF%NODES(KK,3),',
',PTR_IGRSURF%NODES(KK,4)
253 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,1.D0)
257 IF (ALLOCATED(PTR_IGRSURF%PROC)) THEN
259 WRITE(VARNAME,'(a,i0,a,i0,a)
') GROUP_NAME//'(
',ID,')%PROC(
',KK,')=
'
260 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),PTR_IGRSURF%PROC(KK),0.0_8)
264 IF (ALLOCATED(PTR_IGRSURF%ELTYP_IGE)) THEN
265 DO KK=1,MIN(3,NEL_IGE)
266 WRITE(VARNAME,'(a,i0,a,i0,a)
') GROUP_NAME//'(
',ID,')%ELTYP_IGE(
',KK,')=
'
267 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),PTR_IGRSURF%ELTYP_IGE(KK),0.0_8)
271 IF (ALLOCATED(PTR_IGRSURF%ELEM_IGE)) THEN
272 DO KK=1,MIN(3,NEL_IGE)
273 WRITE(VARNAME,'(a,i0,a,i0,a)
') GROUP_NAME//'(
',ID,')%ELEM_IGE(
',KK,')=
'
274 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),PTR_IGRSURF%ELEM_IGE(KK),0.0_8)
278.AND.
IF (ALLOCATED(PTR_IGRSURF%ELEM_IGE) ALLOCATED(PTR_IGRSURF%NODES_IGE)) THEN
279 DO KK=1,MIN(3,NEL_IGE)
280 TMP=PTR_IGRSURF%ELEM_IGE(KK)
282 WRITE(VARNAME,'(a,i0,a,i0,a)
') GROUP_NAME//'(
',ID,')%ELEM_IGE(
',KK,')=
'
283 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TMP,0.0_8)
285 WRITE(VARNAME,'(a,i0,a,i0,a,i0)
') GROUP_NAME//'(
',ID,')%ELEM(1:4)=
',PTR_IGRSURF%NODES_IGE(KK,1),
286 . ',
',PTR_IGRSURF%NODES_IGE(KK,2)
288 WRITE(VARNAME,'(a,i0,a,i0,a,i0,a,i0,a,i0)
') GROUP_NAME//'(
',ID,')%ELEM(1:4)=
',PTR_IGRSURF%NODES_IGE(KK,1),
289 . ',',ptr_igrsurf%NODES_IGE(kk,2),
',',ptr_igrsurf%NODES_IGE(kk,3),
',',ptr_igrsurf%NODES_IGE
291 CALL qaprint(varname(1:len_trim(varname)),1,0.0_8)
296 iad_cur=ptr_igrsurf%IAD_BUFR
298 IF(ptr_igrsurf%TYPE == 100) len_bufsf = 43
299 IF(ptr_igrsurf%TYPE == 101) len_bufsf = 36
300 IF(ptr_igrsurf%TYPE == 200) len_bufsf = 6
302 IF (ptr_igrsurf%TYPE == 100 .OR. ptr_igrsurf%TYPE == 101 .OR. ptr_igrsurf%TYPE == 200)
THEN
303 DO kk=iad_cur+1,iad_cur+len_bufsf
306 WRITE(varname,
'(A,I0,A,I0,A)') group_name//
'(',id,
')--->BUFSF(',kk-iad_cur,
')='
307 CALL qaprint(varname(1:len_trim(varname)),0,rtmp)