source: lmdz_wrf/trunk/WRFV3/frame/module_dm_stubs.F @ 2295

Last change on this file since 2295 was 1, checked in by lfita, 10 years ago
  • -- --- Opening of the WRF+LMDZ coupling repository --- -- -

WRF: version v3.3
LMDZ: version v1818

More details in:

File size: 10.4 KB
Line 
1!WRF:PACKAGE:NODM
2!
3MODULE module_dm
4
5  CONTAINS
6   SUBROUTINE init_module_dm
7   END SUBROUTINE init_module_dm
8
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
14
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
20
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
28
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
34
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
41
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
47
48   INTEGER FUNCTION wrf_dm_bxor_integer ( inval )
49      IMPLICIT NONE
50      INTEGER inval
51      wrf_dm_bxor_integer = inval
52   END FUNCTION wrf_dm_bxor_integer
53
54   SUBROUTINE wrf_dm_maxval ( val, idex, jdex )
55      IMPLICIT NONE
56      REAL val
57      INTEGER idex, jdex
58      RETURN
59   END SUBROUTINE wrf_dm_maxval
60
61  SUBROUTINE wrf_dm_minval ( val, idex, jdex )
62     IMPLICIT NONE
63     REAL val
64     INTEGER idex, jdex
65     RETURN
66  END SUBROUTINE wrf_dm_minval
67
68   SUBROUTINE wrf_dm_maxtile_real ( val , tile)
69      IMPLICIT NONE
70      REAL val
71      INTEGER tile
72   END SUBROUTINE wrf_dm_maxtile_real
73
74   SUBROUTINE wrf_dm_mintile_double ( val , tile)
75      IMPLICIT NONE
76      DOUBLE PRECISION val
77      INTEGER tile
78   END SUBROUTINE wrf_dm_mintile_double
79
80   SUBROUTINE wrf_dm_tile_val_int ( val , tile)
81      IMPLICIT NONE
82      INTEGER val
83      INTEGER tile
84   END SUBROUTINE wrf_dm_tile_val_int
85
86! stub
87   SUBROUTINE wrf_dm_move_nest ( parent, nest, dx, dy )
88      USE module_domain
89      TYPE (domain), INTENT(INOUT) :: parent, nest
90      INTEGER, INTENT(IN)          :: dx,dy
91      RETURN
92   END SUBROUTINE wrf_dm_move_nest
93
94END MODULE module_dm
95
96!=========================================================================
97
98! These are stub functions that do the right thing (usually nothing)
99! in case DM_PARALLEL is not compiled for.
100! This file, src/module_dm_stubs.F is copied to src/module_dm.F  when
101! the code is built.
102! If, on the other hand, a DM package is specified, the module_dm.F
103! provided with that package (e.g. RSL) is copied from /external/RSL/module_dm.F
104! into src/module_dm.F.
105! It is important to recognize this, because changes directly to src/module_dm.F
106! will be lost!
107
108LOGICAL FUNCTION wrf_dm_on_monitor()
109  wrf_dm_on_monitor = .true.
110END FUNCTION wrf_dm_on_monitor
111
112INTEGER FUNCTION wrf_dm_monitor_rank()
113  wrf_dm_monitor_rank = 0
114END FUNCTION wrf_dm_monitor_rank
115
116SUBROUTINE wrf_get_myproc( myproc )
117  IMPLICIT NONE
118  INTEGER myproc
119  myproc = 0
120  RETURN
121END SUBROUTINE wrf_get_myproc
122
123SUBROUTINE wrf_get_nproc( nprocs )
124  IMPLICIT NONE
125  INTEGER nprocs
126  nprocs = 1
127  RETURN
128END SUBROUTINE wrf_get_nproc
129
130SUBROUTINE wrf_get_nprocx( nprocs )
131  IMPLICIT NONE
132  INTEGER nprocs
133  nprocs = 1
134  RETURN
135END SUBROUTINE wrf_get_nprocx
136
137SUBROUTINE wrf_get_nprocy( nprocs )
138  IMPLICIT NONE
139  INTEGER nprocs
140  nprocs = 1
141  RETURN
142END SUBROUTINE wrf_get_nprocy
143
144SUBROUTINE wrf_dm_bcast_string ( buf , size )
145  IMPLICIT NONE
146  INTEGER size
147  INTEGER BUF(*)
148  RETURN
149END SUBROUTINE wrf_dm_bcast_string
150
151SUBROUTINE wrf_dm_bcast_bytes ( buf , size )
152  IMPLICIT NONE
153  INTEGER size
154  INTEGER BUF(*)
155  RETURN
156END SUBROUTINE wrf_dm_bcast_bytes
157
158SUBROUTINE wrf_dm_bcast_integer( BUF, N1 )
159   IMPLICIT NONE
160   INTEGER n1
161   INTEGER  buf(*)
162   RETURN
163END SUBROUTINE wrf_dm_bcast_integer
164
165SUBROUTINE wrf_dm_bcast_real( BUF, N1 )
166   IMPLICIT NONE
167   INTEGER n1
168   REAL  buf(*)
169   RETURN
170END SUBROUTINE wrf_dm_bcast_real
171
172SUBROUTINE wrf_dm_bcast_logical( BUF, N1 )
173   IMPLICIT NONE
174   INTEGER n1
175   LOGICAL  buf(*)
176   RETURN
177END SUBROUTINE wrf_dm_bcast_logical
178
179SUBROUTINE wrf_dm_halo ( domdesc , comms , stencil_id )
180   IMPLICIT NONE
181   INTEGER domdesc , comms(*) , stencil_id
182   RETURN
183END SUBROUTINE wrf_dm_halo
184
185SUBROUTINE wrf_dm_boundary ( domdesc , comms , period_id , &
186                             periodic_x , periodic_y )
187   IMPLICIT NONE
188   INTEGER domdesc , comms(*) , period_id
189   LOGICAL , INTENT(IN)      :: periodic_x, periodic_y
190   RETURN
191END SUBROUTINE wrf_dm_boundary
192
193SUBROUTINE wrf_dm_xpose_z2x ( domdesc , comms , xpose_id  )
194   IMPLICIT NONE
195   INTEGER domdesc , comms(*), xpose_id
196   RETURN
197END SUBROUTINE wrf_dm_xpose_z2x
198SUBROUTINE wrf_dm_xpose_x2y ( domdesc , comms , xpose_id  )
199   IMPLICIT NONE
200   INTEGER domdesc , comms(*), xpose_id
201   RETURN
202END SUBROUTINE wrf_dm_xpose_x2y
203SUBROUTINE wrf_dm_xpose_y2z ( domdesc , comms , xpose_id  )
204   IMPLICIT NONE
205   INTEGER domdesc , comms(*), xpose_id
206   RETURN
207END SUBROUTINE wrf_dm_xpose_y2z
208
209SUBROUTINE wrf_dm_define_comms ( grid )
210   USE module_domain
211   IMPLICIT NONE
212   TYPE(domain) , INTENT (INOUT) :: grid
213   RETURN
214END SUBROUTINE wrf_dm_define_comms
215
216SUBROUTINE wrf_get_dm_communicator ( communicator )
217   IMPLICIT NONE
218   INTEGER , INTENT(OUT) :: communicator
219   communicator = 0
220   RETURN
221END SUBROUTINE wrf_get_dm_communicator
222
223SUBROUTINE wrf_get_dm_iocommunicator ( iocommunicator )
224   IMPLICIT NONE
225   INTEGER , INTENT(OUT) :: iocommunicator
226   iocommunicator = 0
227   RETURN
228END SUBROUTINE wrf_get_dm_iocommunicator
229
230SUBROUTINE wrf_dm_shutdown
231      RETURN
232END SUBROUTINE wrf_dm_shutdown
233SUBROUTINE wrf_abort
234      STOP 'wrf_abort'
235END SUBROUTINE wrf_abort
236
237SUBROUTINE wrf_patch_to_global_real (buf,globbuf,domdesc,ndim,&
238                                       ids,ide,jds,jde,kds,kde,&
239                                       ims,ime,jms,jme,kms,kme,&
240                                       ips,ipe,jps,jpe,kps,kpe )
241   IMPLICIT NONE
242   INTEGER                             ids,ide,jds,jde,kds,kde,&
243                                       ims,ime,jms,jme,kms,kme,&
244                                       ips,ipe,jps,jpe,kps,kpe
245   INTEGER fid,domdesc,ndim,glen(3),llen(3)
246   REAL globbuf(*)
247   REAL buf(*)
248   RETURN
249END SUBROUTINE wrf_patch_to_global_real
250
251SUBROUTINE wrf_global_to_patch_real (globbuf,buf,domdesc,ndim,&
252                                       ids,ide,jds,jde,kds,kde,&
253                                       ims,ime,jms,jme,kms,kme,&
254                                       ips,ipe,jps,jpe,kps,kpe )
255   IMPLICIT NONE
256   INTEGER                             ids,ide,jds,jde,kds,kde,&
257                                       ims,ime,jms,jme,kms,kme,&
258                                       ips,ipe,jps,jpe,kps,kpe
259   INTEGER fid,domdesc,ndim,glen(3),llen(3)
260   REAL globbuf(*)
261   REAL buf(*)
262   RETURN
263END SUBROUTINE wrf_global_to_patch_real
264
265
266SUBROUTINE wrf_patch_to_global_double (buf,globbuf,domdesc,ndim,&
267                                       ids,ide,jds,jde,kds,kde,&
268                                       ims,ime,jms,jme,kms,kme,&
269                                       ips,ipe,jps,jpe,kps,kpe )
270   IMPLICIT NONE
271   INTEGER                             ids,ide,jds,jde,kds,kde,&
272                                       ims,ime,jms,jme,kms,kme,&
273                                       ips,ipe,jps,jpe,kps,kpe
274   INTEGER fid,domdesc,ndim,glen(3),llen(3)
275   DOUBLE PRECISION globbuf(*)
276   DOUBLE PRECISION buf(*)
277   RETURN
278END SUBROUTINE wrf_patch_to_global_double
279
280SUBROUTINE wrf_global_to_patch_double (globbuf,buf,domdesc,ndim,&
281                                       ids,ide,jds,jde,kds,kde,&
282                                       ims,ime,jms,jme,kms,kme,&
283                                       ips,ipe,jps,jpe,kps,kpe )
284   IMPLICIT NONE
285   INTEGER                             ids,ide,jds,jde,kds,kde,&
286                                       ims,ime,jms,jme,kms,kme,&
287                                       ips,ipe,jps,jpe,kps,kpe
288   INTEGER fid,domdesc,ndim,glen(3),llen(3)
289   DOUBLE PRECISION globbuf(*)
290   DOUBLE PRECISION buf(*)
291   RETURN
292END SUBROUTINE wrf_global_to_patch_double
293
294SUBROUTINE wrf_patch_to_global_integer (buf,globbuf,domdesc,ndim,&
295                                       ids,ide,jds,jde,kds,kde,&
296                                       ims,ime,jms,jme,kms,kme,&
297                                       ips,ipe,jps,jpe,kps,kpe )
298   IMPLICIT NONE
299   INTEGER                             ids,ide,jds,jde,kds,kde,&
300                                       ims,ime,jms,jme,kms,kme,&
301                                       ips,ipe,jps,jpe,kps,kpe
302   INTEGER fid,domdesc,ndim,glen(3),llen(3)
303   INTEGER globbuf(*)
304   INTEGER buf(*)
305   RETURN
306END SUBROUTINE wrf_patch_to_global_integer
307
308SUBROUTINE wrf_global_to_patch_integer (globbuf,buf,domdesc,ndim,&
309                                       ids,ide,jds,jde,kds,kde,&
310                                       ims,ime,jms,jme,kms,kme,&
311                                       ips,ipe,jps,jpe,kps,kpe )
312   IMPLICIT NONE
313   INTEGER                             ids,ide,jds,jde,kds,kde,&
314                                       ims,ime,jms,jme,kms,kme,&
315                                       ips,ipe,jps,jpe,kps,kpe
316   INTEGER fid,domdesc,ndim,glen(3),llen(3)
317   INTEGER globbuf(*)
318   INTEGER buf(*)
319   RETURN
320END SUBROUTINE wrf_global_to_patch_integer
321
322SUBROUTINE wrf_patch_to_global_logical (buf,globbuf,domdesc,ndim,&
323                                       ids,ide,jds,jde,kds,kde,&
324                                       ims,ime,jms,jme,kms,kme,&
325                                       ips,ipe,jps,jpe,kps,kpe )
326   IMPLICIT NONE
327   INTEGER                             ids,ide,jds,jde,kds,kde,&
328                                       ims,ime,jms,jme,kms,kme,&
329                                       ips,ipe,jps,jpe,kps,kpe
330   INTEGER fid,domdesc,ndim,glen(3),llen(3)
331   LOGICAL globbuf(*)
332   LOGICAL buf(*)
333   RETURN
334END SUBROUTINE wrf_patch_to_global_logical
335
336SUBROUTINE wrf_global_to_patch_LOGICAL (globbuf,buf,domdesc,ndim,&
337                                       ids,ide,jds,jde,kds,kde,&
338                                       ims,ime,jms,jme,kms,kme,&
339                                       ips,ipe,jps,jpe,kps,kpe )
340   IMPLICIT NONE
341   INTEGER                             ids,ide,jds,jde,kds,kde,&
342                                       ims,ime,jms,jme,kms,kme,&
343                                       ips,ipe,jps,jpe,kps,kpe
344   INTEGER fid,domdesc,ndim,glen(3),llen(3)
345   LOGICAL globbuf(*)
346   LOGICAL buf(*)
347   RETURN
348END SUBROUTINE wrf_global_to_patch_LOGICAL
349
350
Note: See TracBrowser for help on using the repository browser.