456 integer :: lbi, ubi, lbj, ubj
457 integer :: imin, imax, jmin, jmax
458 integer :: ccr, cr, dg, ng, rg
459 integer :: i, ibry, ic, id, ir, j, jd, jr, m, my_tile
462 integer,
allocatable :: ibmin(:,:), ibmax(:,:)
463 integer,
allocatable :: jbmin(:,:), jbmax(:,:)
478 lbi=
bounds(rg)%LBi(my_tile)
479 ubi=
bounds(rg)%UBi(my_tile)
480 lbj=
bounds(rg)%LBj(my_tile)
481 ubj=
bounds(rg)%UBj(my_tile)
491 allocate (
bry_contact(ibry,cr) % C2Bindex(lbj:ubj) )
511 allocate (
bry_contact(ibry,cr) % C2Bindex(lbi:ubi) )
533 IF (.not.
allocated(ibmin))
THEN
540 IF (.not.
allocated(ibmax))
THEN
547 IF (.not.
allocated(jbmin))
THEN
554 IF (.not.
allocated(jbmax))
THEN
597 IF ((ibry.eq.
iwest ).or.(ibry.eq.
ieast ))
THEN
600 ibmin(ibry,cr )=min(ir,ibmin(ibry,cr ))
601 ibmax(ibry,cr )=max(ir,ibmax(ibry,cr ))
602 jbmin(ibry,cr )=min(jr,jbmin(ibry,cr ))
603 jbmax(ibry,cr )=max(jr,jbmax(ibry,cr ))
610 ibmin(ibry,ccr)=min(id,ibmin(ibry,ccr))
611 ibmax(ibry,ccr)=max(id,ibmax(ibry,ccr))
612 jbmin(ibry,ccr)=min(jd,jbmin(ibry,ccr))
613 jbmax(ibry,ccr)=max(jd,jbmax(ibry,ccr))
620 ibmin(ibry,cr )=min(ir,ibmin(ibry,cr))
621 ibmax(ibry,cr )=max(ir,ibmax(ibry,cr))
622 jbmin(ibry,cr )=min(jr,jbmin(ibry,cr))
623 jbmax(ibry,cr )=max(jr,jbmax(ibry,cr))
630 ibmin(ibry,ccr)=min(id,ibmin(ibry,ccr))
631 ibmax(ibry,ccr)=max(id,ibmax(ibry,ccr))
632 jbmin(ibry,ccr)=min(jd,jbmin(ibry,ccr))
633 jbmax(ibry,ccr)=max(jd,jbmax(ibry,ccr))
644 IF (abs(ibmin(ibry,cr)).eq.abs(ispval))
THEN
650 IF (abs(ibmax(ibry,cr)).eq.abs(ispval))
THEN
656 IF (abs(jbmin(ibry,cr)).eq.abs(ispval))
THEN
662 IF (abs(jbmax(ibry,cr)).eq.abs(ispval))
THEN
692 IF ((jmin.ne.ispval).and.(jmax.ne.ispval))
THEN
698 IF ((imin.ne.ispval).and.(imax.ne.ispval))
THEN
704 IF ((jmin.ne.ispval).and.(jmax.ne.ispval))
THEN
710 IF ((imin.ne.ispval).and.(imax.ne.ispval))
THEN
732# ifdef SUBOBJECT_DEALLOCATION
741 character (len=*),
parameter :: myfile = &
742 & __FILE__//
", deallocate_nesting"
744# ifdef SUBOBJECT_DEALLOCATION
754 & __line__,
'BRY_CONTACT(ibry,cr)%Ib'))
RETURN
757 & __line__,
'BRY_CONTACT(ibry,cr)%Jb'))
RETURN
760 & __line__,
'BRY_CONTACT(ibry,cr)%C2Bindex'))
RETURN
764 & __line__,
'BRY_CONTACT(ibry,cr)%Mflux'))
RETURN
769 & __line__,
'BRY_CONTACT(ibry,cr)%Tflux'))
RETURN
781 & __line__,
'Rcontact(cr)%Irg'))
RETURN
783 & __line__,
'Ucontact(cr)%Irg'))
RETURN
785 & __line__,
'Vcontact(cr)%Irg'))
RETURN
788 & __line__,
'Rcontact(cr)%Jrg'))
RETURN
790 & __line__,
'Ucontact(cr)%Jrg'))
RETURN
792 & __line__,
'Vcontact(cr)%Jrg'))
RETURN
795 & __line__,
'Rcontact(cr)%Idg'))
RETURN
797 & __line__,
'Ucontact(cr)%Idg'))
RETURN
799 & __line__,
'Vcontact(cr)%Idg'))
RETURN
802 & __line__,
'Rcontact(cr)%Jdg'))
RETURN
804 & __line__,
'Ucontact(cr)%Jdg'))
RETURN
806 & __line__,
'Vcontact(cr)%Jdg'))
RETURN
811 & __line__,
'Rcontact(cr)%Kdg'))
RETURN
813 & __line__,
'Ucontact(cr)%Kdg'))
RETURN
815 & __line__,
'Vcontact(cr)%Kdg'))
RETURN
819 & __line__,
'Rcontact(cr)%Lweight'))
RETURN
821 & __line__,
'Ucontact(cr)%Lweight'))
RETURN
823 & __line__,
'Vcontact(cr)%Lweight'))
RETURN
827 & __line__,
'Rcontact(cr)%LweightUnmasked'))
RETURN
829 & __line__,
'Ucontact(cr)%LweightUnmasked'))
RETURN
831 & __line__,
'Vcontact(cr)%LweightUnmasked'))
RETURN
834# ifdef QUADRATIC_WEIGHTS
837 & __line__,
'Rcontact(cr)%Qweight'))
RETURN
839 & __line__,
'Ucontact(cr)%Qweight'))
RETURN
841 & __line__,
'Vcontact(cr)%Qweight'))
RETURN
846 & __line__,
'Rcontact(cr)%QweightUnmasked'))
RETURN
848 & __line__,
'Ucontact(cr)%QweightUnmasked'))
RETURN
850 & __line__,
'Vcontact(cr)%QweightUnmasked'))
RETURN
857 & __line__,
'Rcontact(cr)%Vweight'))
RETURN
859 & __line__,
'Ucontact(cr)%Vweight'))
RETURN
861 & __line__,
'Vcontact(cr)%Vweight'))
RETURN
863# if defined TANGENT || defined TL_IOMS
866 & __line__,
'Rcontact(cr)%tl_Vweight'))
RETURN
868 & __line__,
'Ucontact(cr)%tl_Vweight'))
RETURN
870 & __line__,
'Vcontact(cr)%tl_Vweight'))
RETURN
876 & __line__,
'Rcontact(cr)%ad_Vweight'))
RETURN
878 & __line__,
'Ucontact(cr)%ad_Vweight'))
RETURN
880 & __line__,
'Vcontact(cr)%ad_Vweight'))
RETURN
892 & __line__,
'CONTACT_METRIC(cr)%angler'))
RETURN
895 & __line__,
'CONTACT_METRIC(cr)%dndx'))
RETURN
898 & __line__,
'CONTACT_METRIC(cr)%dmde'))
RETURN
901 & __line__,
'CONTACT_METRIC(cr)%f'))
RETURN
904 & __line__,
'CONTACT_METRIC(cr)%h'))
RETURN
907 & __line__,
'CONTACT_METRIC(cr)%rmask'))
RETURN
910 & __line__,
'CONTACT_METRIC(cr)%umask'))
RETURN
913 & __line__,
'CONTACT_METRIC(cr)%vmask'))
RETURN
916 & __line__,
'CONTACT_METRIC(cr)%pm'))
RETURN
919 & __line__,
'CONTACT_METRIC(cr)%pn'))
RETURN
922 & __line__,
'CONTACT_METRIC(cr)%Xr'))
RETURN
925 & __line__,
'CONTACT_METRIC(cr)%Yr'))
RETURN
928 & __line__,
'CONTACT_METRIC(cr)%Xu'))
RETURN
931 & __line__,
'CONTACT_METRIC(cr)%Yu'))
RETURN
934 & __line__,
'CONTACT_METRIC(cr)%Xv'))
RETURN
937 & __line__,
'CONTACT_METRIC(cr)%Yv'))
RETURN
947 & __line__,
'COMPOSITE(cr)%bustr'))
RETURN
949 & __line__,
'COMPOSITE(cr)%bvstr'))
RETURN
952 & __line__,
'COMPOSITE(cr)%ubar'))
RETURN
954 & __line__,
'COMPOSITE(cr)%vbar'))
RETURN
956 & __line__,
'COMPOSITE(cr)%zeta'))
RETURN
959 & __line__,
'COMPOSITE(cr)%rzeta'))
RETURN
961# if defined TANGENT || defined TL_IOMS
963 & __line__,
'COMPOSITE(cr)%tl_bustr'))
RETURN
965 & __line__,
'COMPOSITE(cr)%tl_bvstr'))
RETURN
968 & __line__,
'COMPOSITE(cr)%tl_ubar'))
RETURN
970 & __line__,
'COMPOSITE(cr)%tl_vbar'))
RETURN
972 & __line__,
'COMPOSITE(cr)%tl_zeta'))
RETURN
975 & __line__,
'COMPOSITE(cr)%tl_rzeta'))
RETURN
980 & __line__,
'COMPOSITE(cr)%ad_bustr'))
RETURN
982 & __line__,
'COMPOSITE(cr)%ad_bvstr'))
RETURN
985 & __line__,
'COMPOSITE(cr)%ad_ubar'))
RETURN
987 & __line__,
'COMPOSITE(cr)%ad_vbar'))
RETURN
989 & __line__,
'COMPOSITE(cr)%ad_zeta'))
RETURN
992 & __line__,
'COMPOSITE(cr)%ad_rzeta'))
RETURN
997 & __line__,
'COMPOSITE(cr)%DU_avg1'))
RETURN
999 & __line__,
'COMPOSITE(cr)%DV_avg1'))
RETURN
1001 & __line__,
'COMPOSITE(cr)%Zt_avg1'))
RETURN
1004 & __line__,
'COMPOSITE(cr)%u'))
RETURN
1006 & __line__,
'COMPOSITE(cr)%v'))
RETURN
1009 & __line__,
'COMPOSITE(cr)%Huon'))
RETURN
1011 & __line__,
'COMPOSITE(cr)%Hvom'))
RETURN
1014 & __line__,
'COMPOSITE(cr)%t'))
RETURN
1016# if defined TANGENT || defined TL_IOMS
1018 & __line__,
'COMPOSITE(cr)%tl_DU_avg1'))
RETURN
1020 & __line__,
'COMPOSITE(cr)%tl_DV_avg1'))
RETURN
1022 & __line__,
'COMPOSITE(cr)%tl_Zt_avg1'))
RETURN
1025 & __line__,
'COMPOSITE(cr)%tl_u'))
RETURN
1027 & __line__,
'COMPOSITE(cr)%tl_v'))
RETURN
1030 & __line__,
'COMPOSITE(cr)%tl_Huon'))
RETURN
1032 & __line__,
'COMPOSITE(cr)%tl_Hvom'))
RETURN
1035 & __line__,
'COMPOSITE(cr)%tl_t'))
RETURN
1040 & __line__,
'COMPOSITE(cr)%ad_DU_avg1'))
RETURN
1042 & __line__,
'COMPOSITE(cr)%ad_DV_avg1'))
RETURN
1044 & __line__,
'COMPOSITE(cr)%ad_Zt_avg1'))
RETURN
1047 & __line__,
'COMPOSITE(cr)%ad_u'))
RETURN
1049 & __line__,
'COMPOSITE(cr)%ad_v'))
RETURN
1052 & __line__,
'COMPOSITE(cr)%ad_Huon'))
RETURN
1054 & __line__,
'COMPOSITE(cr)%ad_Hvom'))
RETURN
1057 & __line__,
'COMPOSITE(cr)%ad_t'))
RETURN
1069 & __line__,
'REFINED(cr)%ubar'))
RETURN
1071 & __line__,
'REFINED(cr)%vbar'))
RETURN
1073 & __line__,
'REFINED(cr)%zeta'))
RETURN
1076 & __line__,
'REFINED(cr)%U2d_flux'))
RETURN
1078 & __line__,
'REFINED(cr)%V2d_flux'))
RETURN
1081 & __line__,
'REFINED(cr)%on_u'))
RETURN
1083 & __line__,
'REFINED(cr)%om_v'))
RETURN
1085# if defined TANGENT || defined TL_IOMS
1087 & __line__,
'REFINED(cr)%tl_ubar'))
RETURN
1089 & __line__,
'REFINED(cr)%tl_vbar'))
RETURN
1091 & __line__,
'REFINED(cr)%tl_zeta'))
RETURN
1094 & __line__,
'REFINED(cr)%tl_U2d_flux'))
RETURN
1096 & __line__,
'REFINED(cr)%tl_V2d_flux'))
RETURN
1101 & __line__,
'REFINED(cr)%ad_ubar'))
RETURN
1103 & __line__,
'REFINED(cr)%ad_vbar'))
RETURN
1105 & __line__,
'REFINED(cr)%ad_zeta'))
RETURN
1108 & __line__,
'REFINED(cr)%ad_U2d_flux'))
RETURN
1110 & __line__,
'REFINED(cr)%ad_V2d_flux'))
RETURN
1115 & __line__,
'REFINED(cr)%u'))
RETURN
1117 & __line__,
'REFINED(cr)%v'))
RETURN
1120 & __line__,
'REFINED(cr)%t'))
RETURN
1122# if defined TANGENT || defined TL_IOMS
1124 & __line__,
'REFINED(cr)%tl_u'))
RETURN
1126 & __line__,
'REFINED(cr)%tl_v'))
RETURN
1129 & __line__,
'REFINED(cr)%tl_t'))
RETURN
1134 & __line__,
'REFINED(cr)%ad_u'))
RETURN
1136 & __line__,
'REFINED(cr)%ad_v'))
RETURN
1139 & __line__,
'REFINED(cr)%ad_t'))
RETURN