wrf svn trunk commit r4103
[wrffire.git] / wrfv2_fire / frame / module_dm_stubs.F
blobd8538bf56cae71c561cb899f0496e5087af3536e
1 !WRF:PACKAGE:NODM
3 MODULE module_dm
5   CONTAINS
6    SUBROUTINE init_module_dm
7    END SUBROUTINE init_module_dm
9    REAL FUNCTION wrf_dm_max_real ( inval )
10       IMPLICIT NONE
11       REAL inval
12       wrf_dm_max_real = inval
13    END FUNCTION wrf_dm_max_real
15    REAL FUNCTION wrf_dm_min_real ( inval )
16       IMPLICIT NONE
17       REAL inval
18       wrf_dm_min_real = inval
19    END FUNCTION wrf_dm_min_real
21    SUBROUTINE wrf_dm_min_reals ( inval, retval, n )
22       IMPLICIT NONE
23       INTEGER, INTENT(IN) :: n
24       REAL, INTENT(IN) :: inval(:)
25       REAL, INTENT(OUT) :: retval(:)
26       retval(:) = inval(:)
27    END SUBROUTINE wrf_dm_min_reals
29    REAL FUNCTION wrf_dm_sum_real ( inval )
30       IMPLICIT NONE
31       REAL inval
32       wrf_dm_sum_real = inval
33    END FUNCTION wrf_dm_sum_real
35    SUBROUTINE wrf_dm_sum_reals ( inval, retval )
36       IMPLICIT NONE
37       REAL, INTENT(IN) :: inval(:)
38       REAL, INTENT(OUT) :: retval(:)
39       retval(:) = inval(:)
40    END SUBROUTINE wrf_dm_sum_reals
42    INTEGER FUNCTION wrf_dm_sum_integer ( inval )
43       IMPLICIT NONE
44       INTEGER inval
45       wrf_dm_sum_integer = inval
46    END FUNCTION wrf_dm_sum_integer
48    SUBROUTINE wrf_dm_maxval ( val, idex, jdex )
49       IMPLICIT NONE
50       REAL val
51       INTEGER idex, jdex
52       RETURN
53    END SUBROUTINE wrf_dm_maxval
55   SUBROUTINE wrf_dm_minval ( val, idex, jdex )
56      IMPLICIT NONE
57      REAL val
58      INTEGER idex, jdex
59      RETURN
60   END SUBROUTINE wrf_dm_minval
62    SUBROUTINE wrf_dm_maxtile_real ( val , tile)
63       IMPLICIT NONE
64       REAL val
65       INTEGER tile
66    END SUBROUTINE wrf_dm_maxtile_real
68    SUBROUTINE wrf_dm_mintile_double ( val , tile)
69       IMPLICIT NONE
70       DOUBLE PRECISION val
71       INTEGER tile
72    END SUBROUTINE wrf_dm_mintile_double
74    SUBROUTINE wrf_dm_tile_val_int ( val , tile)
75       IMPLICIT NONE
76       INTEGER val
77       INTEGER tile
78    END SUBROUTINE wrf_dm_tile_val_int
80 ! stub
81    SUBROUTINE wrf_dm_move_nest ( parent, nest, dx, dy )
82       USE module_domain
83       TYPE (domain), INTENT(INOUT) :: parent, nest
84       INTEGER, INTENT(IN)          :: dx,dy
85       RETURN
86    END SUBROUTINE wrf_dm_move_nest
88 END MODULE module_dm
90 !=========================================================================
92 ! These are stub functions that do the right thing (usually nothing)
93 ! in case DM_PARALLEL is not compiled for.
94 ! This file, src/module_dm_stubs.F is copied to src/module_dm.F  when
95 ! the code is built.
96 ! If, on the other hand, a DM package is specified, the module_dm.F 
97 ! provided with that package (e.g. RSL) is copied from /external/RSL/module_dm.F
98 ! into src/module_dm.F.
99 ! It is important to recognize this, because changes directly to src/module_dm.F
100 ! will be lost!
102 LOGICAL FUNCTION wrf_dm_on_monitor()
103   wrf_dm_on_monitor = .true.
104 END FUNCTION wrf_dm_on_monitor
106 INTEGER FUNCTION wrf_dm_monitor_rank()
107   wrf_dm_monitor_rank = 0
108 END FUNCTION wrf_dm_monitor_rank
110 SUBROUTINE wrf_get_myproc( myproc )
111   IMPLICIT NONE
112   INTEGER myproc
113   myproc = 0
114   RETURN
115 END SUBROUTINE wrf_get_myproc
117 SUBROUTINE wrf_get_nproc( nprocs )
118   IMPLICIT NONE
119   INTEGER nprocs
120   nprocs = 1
121   RETURN
122 END SUBROUTINE wrf_get_nproc
124 SUBROUTINE wrf_get_nprocx( nprocs )
125   IMPLICIT NONE
126   INTEGER nprocs
127   nprocs = 1
128   RETURN
129 END SUBROUTINE wrf_get_nprocx
131 SUBROUTINE wrf_get_nprocy( nprocs )
132   IMPLICIT NONE
133   INTEGER nprocs
134   nprocs = 1
135   RETURN
136 END SUBROUTINE wrf_get_nprocy
138 SUBROUTINE wrf_dm_bcast_string ( buf , size )
139   IMPLICIT NONE
140   INTEGER size
141   INTEGER BUF(*)
142   RETURN
143 END SUBROUTINE wrf_dm_bcast_string
145 SUBROUTINE wrf_dm_bcast_bytes ( buf , size )
146   IMPLICIT NONE
147   INTEGER size
148   INTEGER BUF(*)
149   RETURN
150 END SUBROUTINE wrf_dm_bcast_bytes
152 SUBROUTINE wrf_dm_bcast_integer( BUF, N1 )
153    IMPLICIT NONE
154    INTEGER n1
155    INTEGER  buf(*)
156    RETURN
157 END SUBROUTINE wrf_dm_bcast_integer
159 SUBROUTINE wrf_dm_bcast_real( BUF, N1 )
160    IMPLICIT NONE
161    INTEGER n1
162    REAL  buf(*)
163    RETURN
164 END SUBROUTINE wrf_dm_bcast_real
166 SUBROUTINE wrf_dm_bcast_logical( BUF, N1 )
167    IMPLICIT NONE
168    INTEGER n1
169    LOGICAL  buf(*)
170    RETURN
171 END SUBROUTINE wrf_dm_bcast_logical
173 SUBROUTINE wrf_dm_halo ( domdesc , comms , stencil_id )
174    IMPLICIT NONE
175    INTEGER domdesc , comms(*) , stencil_id
176    RETURN
177 END SUBROUTINE wrf_dm_halo
179 SUBROUTINE wrf_dm_boundary ( domdesc , comms , period_id , &
180                              periodic_x , periodic_y )
181    IMPLICIT NONE
182    INTEGER domdesc , comms(*) , period_id
183    LOGICAL , INTENT(IN)      :: periodic_x, periodic_y
184    RETURN
185 END SUBROUTINE wrf_dm_boundary
187 SUBROUTINE wrf_dm_xpose_z2x ( domdesc , comms , xpose_id  )
188    IMPLICIT NONE
189    INTEGER domdesc , comms(*), xpose_id
190    RETURN
191 END SUBROUTINE wrf_dm_xpose_z2x
192 SUBROUTINE wrf_dm_xpose_x2y ( domdesc , comms , xpose_id  )
193    IMPLICIT NONE
194    INTEGER domdesc , comms(*), xpose_id
195    RETURN
196 END SUBROUTINE wrf_dm_xpose_x2y
197 SUBROUTINE wrf_dm_xpose_y2z ( domdesc , comms , xpose_id  )
198    IMPLICIT NONE
199    INTEGER domdesc , comms(*), xpose_id
200    RETURN
201 END SUBROUTINE wrf_dm_xpose_y2z
203 SUBROUTINE wrf_dm_define_comms ( grid )
204    USE module_domain
205    IMPLICIT NONE
206    TYPE(domain) , INTENT (INOUT) :: grid
207    RETURN
208 END SUBROUTINE wrf_dm_define_comms
210 SUBROUTINE wrf_get_dm_communicator ( communicator )
211    IMPLICIT NONE
212    INTEGER , INTENT(OUT) :: communicator
213    communicator = 0
214    RETURN
215 END SUBROUTINE wrf_get_dm_communicator
217 SUBROUTINE wrf_get_dm_iocommunicator ( iocommunicator )
218    IMPLICIT NONE
219    INTEGER , INTENT(OUT) :: iocommunicator
220    iocommunicator = 0
221    RETURN
222 END SUBROUTINE wrf_get_dm_iocommunicator
224 SUBROUTINE wrf_dm_shutdown
225       RETURN
226 END SUBROUTINE wrf_dm_shutdown
227 SUBROUTINE wrf_abort
228       STOP 'wrf_abort'
229 END SUBROUTINE wrf_abort
231 SUBROUTINE wrf_patch_to_global_real (buf,globbuf,domdesc,ndim,&
232                                        ids,ide,jds,jde,kds,kde,&
233                                        ims,ime,jms,jme,kms,kme,&
234                                        ips,ipe,jps,jpe,kps,kpe )
235    IMPLICIT NONE
236    INTEGER                             ids,ide,jds,jde,kds,kde,&
237                                        ims,ime,jms,jme,kms,kme,&
238                                        ips,ipe,jps,jpe,kps,kpe
239    INTEGER fid,domdesc,ndim,glen(3),llen(3)
240    REAL globbuf(*)
241    REAL buf(*)
242    RETURN
243 END SUBROUTINE wrf_patch_to_global_real
245 SUBROUTINE wrf_global_to_patch_real (globbuf,buf,domdesc,ndim,&
246                                        ids,ide,jds,jde,kds,kde,&
247                                        ims,ime,jms,jme,kms,kme,&
248                                        ips,ipe,jps,jpe,kps,kpe )
249    IMPLICIT NONE
250    INTEGER                             ids,ide,jds,jde,kds,kde,&
251                                        ims,ime,jms,jme,kms,kme,&
252                                        ips,ipe,jps,jpe,kps,kpe
253    INTEGER fid,domdesc,ndim,glen(3),llen(3)
254    REAL globbuf(*)
255    REAL buf(*)
256    RETURN
257 END SUBROUTINE wrf_global_to_patch_real
260 SUBROUTINE wrf_patch_to_global_double (buf,globbuf,domdesc,ndim,&
261                                        ids,ide,jds,jde,kds,kde,&
262                                        ims,ime,jms,jme,kms,kme,&
263                                        ips,ipe,jps,jpe,kps,kpe )
264    IMPLICIT NONE
265    INTEGER                             ids,ide,jds,jde,kds,kde,&
266                                        ims,ime,jms,jme,kms,kme,&
267                                        ips,ipe,jps,jpe,kps,kpe
268    INTEGER fid,domdesc,ndim,glen(3),llen(3)
269    DOUBLE PRECISION globbuf(*)
270    DOUBLE PRECISION buf(*)
271    RETURN
272 END SUBROUTINE wrf_patch_to_global_double
274 SUBROUTINE wrf_global_to_patch_double (globbuf,buf,domdesc,ndim,&
275                                        ids,ide,jds,jde,kds,kde,&
276                                        ims,ime,jms,jme,kms,kme,&
277                                        ips,ipe,jps,jpe,kps,kpe )
278    IMPLICIT NONE
279    INTEGER                             ids,ide,jds,jde,kds,kde,&
280                                        ims,ime,jms,jme,kms,kme,&
281                                        ips,ipe,jps,jpe,kps,kpe
282    INTEGER fid,domdesc,ndim,glen(3),llen(3)
283    DOUBLE PRECISION globbuf(*)
284    DOUBLE PRECISION buf(*)
285    RETURN
286 END SUBROUTINE wrf_global_to_patch_double
288 SUBROUTINE wrf_patch_to_global_integer (buf,globbuf,domdesc,ndim,&
289                                        ids,ide,jds,jde,kds,kde,&
290                                        ims,ime,jms,jme,kms,kme,&
291                                        ips,ipe,jps,jpe,kps,kpe )
292    IMPLICIT NONE
293    INTEGER                             ids,ide,jds,jde,kds,kde,&
294                                        ims,ime,jms,jme,kms,kme,&
295                                        ips,ipe,jps,jpe,kps,kpe
296    INTEGER fid,domdesc,ndim,glen(3),llen(3)
297    INTEGER globbuf(*)
298    INTEGER buf(*)
299    RETURN
300 END SUBROUTINE wrf_patch_to_global_integer
302 SUBROUTINE wrf_global_to_patch_integer (globbuf,buf,domdesc,ndim,&
303                                        ids,ide,jds,jde,kds,kde,&
304                                        ims,ime,jms,jme,kms,kme,&
305                                        ips,ipe,jps,jpe,kps,kpe )
306    IMPLICIT NONE
307    INTEGER                             ids,ide,jds,jde,kds,kde,&
308                                        ims,ime,jms,jme,kms,kme,&
309                                        ips,ipe,jps,jpe,kps,kpe
310    INTEGER fid,domdesc,ndim,glen(3),llen(3)
311    INTEGER globbuf(*)
312    INTEGER buf(*)
313    RETURN
314 END SUBROUTINE wrf_global_to_patch_integer
316 SUBROUTINE wrf_patch_to_global_logical (buf,globbuf,domdesc,ndim,&
317                                        ids,ide,jds,jde,kds,kde,&
318                                        ims,ime,jms,jme,kms,kme,&
319                                        ips,ipe,jps,jpe,kps,kpe )
320    IMPLICIT NONE
321    INTEGER                             ids,ide,jds,jde,kds,kde,&
322                                        ims,ime,jms,jme,kms,kme,&
323                                        ips,ipe,jps,jpe,kps,kpe
324    INTEGER fid,domdesc,ndim,glen(3),llen(3)
325    LOGICAL globbuf(*)
326    LOGICAL buf(*)
327    RETURN
328 END SUBROUTINE wrf_patch_to_global_logical
330 SUBROUTINE wrf_global_to_patch_LOGICAL (globbuf,buf,domdesc,ndim,&
331                                        ids,ide,jds,jde,kds,kde,&
332                                        ims,ime,jms,jme,kms,kme,&
333                                        ips,ipe,jps,jpe,kps,kpe )
334    IMPLICIT NONE
335    INTEGER                             ids,ide,jds,jde,kds,kde,&
336                                        ims,ime,jms,jme,kms,kme,&
337                                        ips,ipe,jps,jpe,kps,kpe
338    INTEGER fid,domdesc,ndim,glen(3),llen(3)
339    LOGICAL globbuf(*)
340    LOGICAL buf(*)
341    RETURN
342 END SUBROUTINE wrf_global_to_patch_LOGICAL