1 SUBROUTINE ASSEMBLE(FG,FL,knd)
4 & ids,idf,jds,jdf,kds,kde, &
5 & ims,ime,jms,jme,kms,kme, &
6 & its,ite,jts,jte,kts,kte
12 real,dimension(ids:idf,jds:jdf),intent(out):: FG
13 real,dimension(ims:ime,jms:jme),intent(in) :: FL
14 integer, intent(in) :: knd
21 if (knd.ne.kl .or. knd.ne.kg) then
22 print*,'knd must = loc. and glob. kinds in ASSEMBLE. '// &
23 & 'To generalize, call of QUILT_2 must be generalized ',knd,kl,kg
24 call GLOB_ABORT(1,'wrong kinds in ASSEMBLE',1)
27 call QUILT_2(FL,FG,ids,idf,jds,jdf,kds,kde, &
28 &ims,ime,jms,jme,kms,kme,its,ite,jts,jte,kts,kte)
33 !***********************************************************************
35 SUBROUTINE ASSEMBLE_R8(FG,FL,knd)
38 & ids,idf,jds,jdf,kds,kde, &
39 & ims,ime,jms,jme,kms,kme, &
40 & its,ite,jts,jte,kts,kte
42 USE MODULE_PATCH_QUILT
46 real(kind=8),dimension(ids:idf,jds:jdf),intent(out):: FG
47 real(kind=8),dimension(ims:ime,jms:jme),intent(in) :: FL
48 integer, intent(in) :: knd
55 if (knd.ne.kl .or. knd.ne.kg) then
56 print*,'knd must = loc. and glob. kinds in ASSEMBLE. '// &
57 & 'To generalize, call of QUILT_2_R8 must be generalized ',knd,kl,kg
58 call GLOB_ABORT(1,'wrong kinds in ASSEMBLE_R8',1)
61 call QUILT_2_R8(FL,FG,ids,idf,jds,jdf,kds,kde, &
62 &ims,ime,jms,jme,kms,kme,its,ite,jts,jte,kts,kte)
67 !***********************************************************************
69 SUBROUTINE DISASSEMBLE(FG,FL,knd)
71 USE ATM_cc, ONLY: ids,idf,jds,jdf,kds,kde, &
72 & ims,ime,jms,jme,kms,kme, &
73 & its,ite,jts,jte,kts,kte
75 USE MODULE_PATCH_QUILT
79 real,dimension(ids:idf,jds:jdf),intent(in) :: FG
80 real,dimension(ims:ime,jms:jme),intent(out):: FL
81 integer, intent(in) :: knd
88 if (knd.ne.kl .or. knd.ne.kg) then
89 print*,'knd must = loc. and glob. kinds in DISASSEMBLE. '// &
90 & 'To generalize, call of PATCH must be generalized ',knd,kl,kg
91 call GLOB_ABORT(1,'whong kinds in DISASSEMBLE',1)
94 call PATCH(FG,FL,ids,idf,jds,jdf,kds,kde, &
95 &ims,ime,jms,jme,kms,kme,its,ite,jts,jte,kts,kte)