!> \file masque-0.2.F !! COAST MASK, ICE MASK, SLOPE !< !> SUBROUTINE: MASQUE() !! \author ... !! \date 20/04/95 !! @note Cette routine permet de calculer COAST MASK, ICE MASK, SLOPE !! @note Used modules: !! @note - use module3D_phy !! !< ! Char SccsId[] = "@(#)masque.f 1.7 date delta=04/20/95 heure delta=13:45:15 date lecture=05/30/95" subroutine MASQUE() c ************************************************ c (******** COAST MASK, ICE MASK, SLOPE *********) c ************************************************ USE module3D_phy implicit none if (itracebug.eq.1) then call tracebug(' Entree dans routine masque') end if if (GEOPLACE.eq.'eismint') then do i=1,nx do j=1,ny mk(i,j)=1 MNEG(I,J)=1-MK(I,J) end do end do else if (((geoplace.eq.'anteis1').or.(geoplace.eq.'ant20km').or. & (geoplace(1:5).eq.'hemin')).and.(marine)) then do i=1,nx do j=1,ny if (flot(i,j)) then mk(i,j)=1 else mk(i,j)=0 endif end do end do else if (((geoplace.eq.'anteis1').or.(geoplace.eq.'ant20km').or. & (geoplace(1:5).eq.'hemin')).and.(.not.marine)) then do i=1,nx do j=1,ny c elimination des points poses isoles c mk(i,j)= mk0(i-1,j)+mk0(i+1,j)+mk0(i,j-1)+mk0(i,j+1) c if (mk(i,j).gt.0) then mk(i,j)=mk0(i,j) c endif end do end do else do i=1,nx do j=1,ny c maintenant, mk est affecte juste apres le nouveau calcul de H c dans icethick2, sauf au premier tour, et avant la boucle if ((NT.le.1).or.(TIME.eq.TBEGIN)) then mk(i,j)=0 if (b(i,j).ge.sealevel) then mk(i,j)=1 else if (h(i,j).gt.(SEALEVEL-B(I,J))/DICE) then MK(I,J)=1 endif mk(i,j)=mk(i,j)*mk0(i,j) endif c calcul de imk(i,j) dans tous les appels a masque MNEG(I,J)=1-MK(I,J) end do end do endif 940 format('%%%% ',a,' time=',f8.0,' %%%%') end