32 . NUMELQ,NUMELC,NUMELT,NUMELP,NUMELR,
33 . NODLOCAL,SCEL,CEL,LTITR,LENISURF_L,
34 . NSPMD,IGRSURF,IGRSURF_PROC)
42#include "implicit_f.inc"
46 INTEGER,
INTENT(INOUT) :: LEN_IA
47 INTEGER,
INTENT(IN) :: PROC
48 INTEGER,
INTENT(IN) :: NUMNOD
49 INTEGER,
INTENT(IN) :: NSURF
50 INTEGER,
INTENT(IN) :: NUMELS
51 INTEGER,
INTENT(IN) :: NUMELQ
52 INTEGER,
INTENT(IN) :: NUMELC
53 INTEGER,
INTENT(IN) :: NUMELT
54 INTEGER,
INTENT(IN) :: NUMELP
55 INTEGER,
INTENT(IN) :: NUMELR
56 INTEGER,
DIMENSION(NUMNOD),
INTENT(IN) :: NODLOCAL
57 INTEGER,
INTENT(IN) :: SCEL
58 INTEGER,
DIMENSION(SCEL),
INTENT(IN) :: CEL
59 INTEGER,
INTENT(IN) :: LENISURF_L
60 INTEGER,
INTENT(IN) :: LTITR
61 INTEGER,
INTENT(IN) :: NSPMD
62 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
63 TYPE(
surf_),
DIMENSION(NSURF,NSPMD),
INTENT(IN) :: IGRSURF_PROC
67 INTEGER :: ISU,J,K,ERR,NSEG
68 INTEGER :: L_SURF,ID,
TYPE,ID_MADYMO,IAD_BUFR
69 INTEGER :: NB_MADYMO,TYPE_MADYMO,LEVEL,TH_SURF,ISH4N3N,NSEG_R2R_ALL
70 INTEGER :: NSEG_R2R_SHARE
71 INTEGER,
DIMENSION(LTITR) :: ITITLE
72 INTEGER,
DIMENSION(NSURF) :: NSEG_L
73 CHARACTER(LEN=nchartitle) :: TITR
74 INTEGER,
ALLOCATABLE,
DIMENSION (:) :: IGRSURF_L
77 INTEGER :: NODE_ID,LOCAL_NODE_ID,,ELTYP
78 INTEGER,
DIMENSION(0:7) :: OFFSET
84 offset(3) = numels+numelq
85 offset(7) = numels+numelq+ numelc+numelt+numelp+numelr
88 titr = igrsurf(isu)%TITLE
92 len_ia = len_ia + nsurf
95 ALLOCATE (igrsurf_l(lenisurf_l), stat=err)
100 nseg = igrsurf(isu)%NSEG
101 nseg_l(isu) = igrsurf_proc(isu,proc+1)%NSEG
107 nseg = igrsurf(isu)%NSEG
108 TYPE = igrsurf(isu)%TYPE
109 id_madymo = igrsurf(isu)%ID_MADYMO
110 iad_bufr = igrsurf(isu)%IAD_BUFR
111 nb_madymo = igrsurf(isu)%NB_MADYMO
112 type_madymo = igrsurf(isu)%TYPE_MADYMO
113 level = igrsurf(isu)%LEVEL
114 th_surf = igrsurf(isu)%TH_SURF
115 ish4n3n = igrsurf(isu)%ISH4N3N
116 nseg_r2r_all = igrsurf(isu)%NSEG_R2R_ALL
117 nseg_r2r_share = igrsurf(isu)%NSEG_R2R_SHARE
121 igrsurf_l(l_surf+1) = id
123 igrsurf_l(l_surf+1) = nseg_l(isu)
125 igrsurf_l(l_surf+1) =
TYPE
127 igrsurf_l(l_surf+1) = id_madymo
129 igrsurf_l(l_surf+1) = iad_bufr
131 igrsurf_l(l_surf+1) = nb_madymo
133 igrsurf_l(l_surf+1) = type_madymo
135 igrsurf_l(l_surf+1) = level
137 igrsurf_l(l_surf+1) = th_surf
139 igrsurf_l(l_surf+1) = ish4n3n
141 igrsurf_l(l_surf+1) = nseg_r2r_all
143 igrsurf_l(l_surf+1) = nseg_r2r_share
145 DO jj=1,igrsurf_proc(isu,proc+1)%NSEG
146 j = igrsurf_proc(isu,proc+1)%LOCAL_SEG(jj)
148 node_id = igrsurf(isu)%NODES(j,k)
150 local_node_id = nodlocal(node_id)
154 igrsurf_l(l_surf+1) = local_node_id
157 eltyp = igrsurf_proc(isu,proc+1)%ELTYP(jj)
158 elem = igrsurf_proc(isu,proc+1)%ELEM(jj) + offset(eltyp)
159 IF(elem/=0) elem = cel(elem)
160 igrsurf_l(l_surf+1) = eltyp
162 igrsurf_l(l_surf+1) = elem
169 DEALLOCATE (igrsurf_l)
171 len_ia = len_ia + l_surf
subroutine w_isurf_str(len_ia, proc, numnod, nsurf, numels, numelq, numelc, numelt, numelp, numelr, nodlocal, scel, cel, ltitr, lenisurf_l, nspmd, igrsurf, igrsurf_proc)