39#ifdef SINGLE_PRECISION
53 integer,
parameter ::
avar = 1
54 integer,
parameter ::
pvar = 2
65 integer,
intent(in) :: ng, line
67 integer,
pointer,
intent(inout) :: varray(:)
69 character (len=*) :: vstring, routine
77 character (len=:),
allocatable :: dmsg
87 IF (
associated(varray)) &
88 &
deallocate ( varray, errmsg = dmsg, stat = derror )
91 IF (
associated(varray)) &
92 &
deallocate ( varray, errmsg = dmsg, stat = derror )
100 WRITE (
stdout,10) ng, vstring, routine, line, dmsg
105 10
FORMAT (/,
' DESTROY_1D_I - Grid ',i2.2, &
106 &
', error while deallocating: ''',a,
''' in routine ''',a, &
107 &
''' at line = ',i0,/,16x,a)
119 logical,
pointer,
intent(inout) :: varray(:)
121 integer,
intent(in) :: ng, line
123 character (len=*) :: vstring, routine
131 character (len=:),
allocatable :: dmsg
141 IF (
associated(varray)) &
142 &
deallocate ( varray, errmsg = dmsg, stat = derror )
145 IF (
associated(varray)) &
146 &
deallocate ( varray, errmsg = dmsg, stat = derror )
152 IF (derror.ne.0)
THEN
154 WRITE (
stdout,10) ng, vstring, routine, line, dmsg
159 10
FORMAT (/,
' DESTROY_1D_L - Grid ',i2.2, &
160 &
', error while deallocating: ''',a,
''' in routine ''',a, &
161 &
''' at line = ',i0,/,16x,a)
173 integer,
intent(in) :: ng, line
175 real(
r8),
pointer,
intent(inout) :: varray(:)
177 character (len=*) :: vstring, routine
185 character (len=:),
allocatable :: dmsg
195 IF (
associated(varray)) &
196 &
deallocate ( varray, errmsg = dmsg, stat = derror )
199 IF (
associated(varray)) &
200 &
deallocate ( varray, errmsg = dmsg, stat = derror )
206 IF (derror.ne.0)
THEN
208 WRITE (
stdout,10) ng, vstring, routine, line, dmsg
213 10
FORMAT (/,
' DESTROY_1D_R8 - Grid ',i2.2, &
214 &
', error while deallocating: ''',a,
''' in routine ''',a, &
215 &
''' at line = ',i0,/,17x,a)
227 integer,
intent(in) :: ng, line
229 real(
r8),
pointer,
intent(inout) :: varray(:,:)
231 character (len=*) :: vstring, routine
239 character (len=:),
allocatable :: dmsg
249 IF (
associated(varray)) &
250 &
deallocate ( varray, errmsg = dmsg, stat = derror )
253 IF (
associated(varray)) &
254 &
deallocate ( varray, errmsg = dmsg, stat = derror )
260 IF (derror.ne.0)
THEN
262 WRITE (
stdout,10) ng, vstring, routine, line, dmsg
267 10
FORMAT (/,
' DESTROY_2D_R8 - Grid ',i2.2, &
268 &
', error while deallocating: ''',a,
''' in routine ''',a, &
269 &
''' at line = ',i0,/,17x,a)
281 integer,
intent(in) :: ng, line
283 real(
r8),
pointer,
intent(inout) :: varray(:,:,:)
285 character (len=*) :: vstring, routine
293 character (len=:),
allocatable :: dmsg
303 IF (
associated(varray)) &
304 &
deallocate ( varray, errmsg = dmsg, stat = derror )
307 IF (
associated(varray)) &
308 &
deallocate ( varray, errmsg = dmsg, stat = derror )
314 IF (derror.ne.0)
THEN
316 WRITE (
stdout,10) ng, vstring, routine, line, dmsg
321 10
FORMAT (/,
' DESTROY_3D_R8 - Grid ',i2.2, &
322 &
', error while deallocating: ''',a,
''' in routine ''',a, &
323 &
''' at line = ',i0,/,17x,a)
335 integer,
intent(in) :: ng, line
337 real(
r8),
pointer,
intent(inout) :: varray(:,:,:,:)
339 character (len=*) :: vstring, routine
347 character (len=:),
allocatable :: dmsg
357 IF (
associated(varray)) &
358 &
deallocate ( varray, errmsg = dmsg, stat = derror )
361 IF (
associated(varray)) &
362 &
deallocate ( varray, errmsg = dmsg, stat = derror )
368 IF (derror.ne.0)
THEN
370 WRITE (
stdout,10) ng, vstring, routine, line, dmsg
375 10
FORMAT (/,
' DESTROY_4D_R8 - Grid ',i2.2, &
376 &
', error while deallocating: ''',a,
''' in routine ''',a, &
377 &
''' at line = ',i0,/,17x,a)
389 integer,
intent(in) :: ng, line
391 real(
r8),
pointer,
intent(inout) :: varray(:,:,:,:,:)
393 character (len=*) :: vstring, routine
401 character (len=:),
allocatable :: dmsg
411 IF (
associated(varray)) &
412 &
deallocate ( varray, errmsg = dmsg, stat = derror )
415 IF (
associated(varray)) &
416 &
deallocate ( varray, errmsg = dmsg, stat = derror )
422 IF (derror.ne.0)
THEN
424 WRITE (
stdout,10) ng, vstring, routine, line, dmsg
429 10
FORMAT (/,
' DESTROY_5D_R8 - Grid ',i2.2, &
430 &
', error while deallocating: ''',a,
''' in routine ''',a, &
431 &
''' at line = ',i0,/,17x,a)
436#ifdef SINGLE_PRECISION
445 integer,
intent(in) :: ng, line
447 real(
dp),
pointer,
intent(inout) :: varray(:)
449 character (len=*) :: vstring, routine
457 character (len=:),
allocatable :: dmsg
467 IF (
associated(varray)) &
468 &
deallocate ( varray, errmsg = dmsg, stat = derror )
471 IF (
associated(varray)) &
472 &
deallocate ( varray, errmsg = dmsg, stat = derror )
478 IF (derror.ne.0)
THEN
480 WRITE (
stdout,10) ng, vstring, routine, line, dmsg
485 10
FORMAT (/,
' DESTROY_1D_DP - Grid ',i2.2, &
486 &
', error while deallocating: ''',a,
''' in routine ''',a, &
487 &
''' at line = ',i0,/,17x,a)
499 integer,
intent(in) :: ng, line
501 real(
dp),
pointer,
intent(inout) :: varray(:,:)
503 character (len=*) :: vstring, routine
511 character (len=:),
allocatable :: dmsg
521 IF (
associated(varray)) &
522 &
deallocate ( varray, errmsg = dmsg, stat = derror )
525 IF (
associated(varray)) &
526 &
deallocate ( varray, errmsg = dmsg, stat = derror )
532 IF (derror.ne.0)
THEN
534 WRITE (
stdout,10) ng, vstring, routine, line, dmsg
539 10
FORMAT (/,
' DESTROY_2D_DP - Grid ',i2.2, &
540 &
', error while deallocating: ''',a,
''' in routine ''',a, &
541 &
''' at line = ',i0,/,17x,a)
553 integer,
intent(in) :: ng, line
555 real(
dp),
pointer,
intent(inout) :: varray(:,:,:)
557 character (len=*) :: vstring, routine
565 character (len=:),
allocatable :: dmsg
575 IF (
associated(varray)) &
576 &
deallocate ( varray, errmsg = dmsg, stat = derror )
579 IF (
associated(varray)) &
580 &
deallocate ( varray, errmsg = dmsg, stat = derror )
586 IF (derror.ne.0)
THEN
588 WRITE (
stdout,10) ng, vstring, routine, line, dmsg
593 10
FORMAT (/,
' DESTROY_3D_DP - Grid ',i2.2, &
594 &
', error while deallocating: ''',a,
''' in routine ''',a, &
595 &
''' at line = ',i0,/,17x,a)
607 integer,
intent(in) :: ng, line
609 real(
dp),
pointer,
intent(inout) :: varray(:,:,:,:)
611 character (len=*) :: vstring, routine
619 character (len=:),
allocatable :: dmsg
629 IF (
associated(varray)) &
630 &
deallocate ( varray, errmsg = dmsg, stat = derror )
633 IF (
associated(varray)) &
634 &
deallocate ( varray, errmsg = dmsg, stat = derror )
640 IF (derror.ne.0)
THEN
642 WRITE (
stdout,10) ng, vstring, routine, line, dmsg
647 10
FORMAT (/,
' DESTROY_4D_DP - Grid ',i2.2, &
648 &
', error while deallocating: ''',a,
''' in routine ''',a, &
649 &
''' at line = ',i0,/,17x,a)
661 integer,
intent(in) :: ng, line
663 real(
dp),
pointer,
intent(inout) :: varray(:,:,:,:,:)
665 character (len=*) :: vstring, routine
673 character (len=:),
allocatable :: dmsg
683 IF (
associated(varray)) &
684 &
deallocate ( varray, errmsg = dmsg, stat = derror )
687 IF (
associated(varray)) &
688 &
deallocate ( varray, errmsg = dmsg, stat = derror )
694 IF (derror.ne.0)
THEN
696 WRITE (
stdout,10) ng, vstring, routine, line, dmsg
701 10
FORMAT (/,
' DESTROY_5D_DP - Grid ',i2.2, &
702 &
', error while deallocating: ''',a,
''' in routine ''',a, &
703 &
''' at line = ',i0,/,17x,a)
logical function destroy_3d_r8(ng, varray, routine, line, vstring)
logical function destroy_1d_r8(ng, varray, routine, line, vstring)
logical function destroy_2d_dp(ng, varray, routine, line, vstring)
logical function destroy_2d_r8(ng, varray, routine, line, vstring)
logical function destroy_1d_i(ng, varray, routine, line, vstring)
logical function destroy_3d_dp(ng, varray, routine, line, vstring)
logical function destroy_5d_dp(ng, varray, routine, line, vstring)
logical function destroy_5d_r8(ng, varray, routine, line, vstring)
logical function destroy_4d_r8(ng, varray, routine, line, vstring)
logical function destroy_1d_l(ng, varray, routine, line, vstring)
logical function destroy_1d_dp(ng, varray, routine, line, vstring)
logical function destroy_4d_dp(ng, varray, routine, line, vstring)