Changeset 177 for LMDZ.3.3/branches/rel-LF/libf/dyn3d/create_limit.F
- Timestamp:
- Mar 9, 2001, 4:36:10 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/dyn3d/create_limit.F
r173 r177 101 101 REAL, ALLOCATABLE, DIMENSION (:,:) :: fraclic 102 102 REAL :: flic_tmp(iip1, jjp1) 103 REAL :: champint(iim, jjp1)104 103 c Diverses variables locales 105 104 REAL time … … 153 152 zmasq(:) = 0. 154 153 CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zmasq,0.0) 155 WHERE (zmasq(1 : klon) .L E. EPSFRA)154 WHERE (zmasq(1 : klon) .LT. EPSFRA) 156 155 zmasq(1 : klon) = 0. 156 END WHERE 157 WHERE (1 - zmasq(1 : klon) .LT. EPSFRA) 158 zmasq(1 : klon) = 1. 157 159 END WHERE 158 160 ! WRITE(*,*)zmasq … … 169 171 END DO 170 172 ENDIF 171 DO i = 1, iim 173 c$$$ DO i = 1, iim 174 c$$$ DO j = 1, jjp1 175 c$$$ mask(i,j) = masque(i,j) 176 c$$$ ENDDO 177 c$$$ ENDDO 178 c$$$ CALL gr_dyn_fi(1, iip1, jjp1, klon, masque, phy_nat0) 179 phy_nat0(1:klon) = zmasq(1:klon) 180 mask = 0. 172 181 DO j = 1, jjp1 173 mask(i,j) = masque(i,j)174 ENDDO175 ENDDO176 CALL gr_dyn_fi(1, iip1, jjp1, klon, masque, phy_nat0)182 DO i = 1, iim 183 IF ( masque(i,j) .GE. EPSFRA) mask (i,j) = 1 184 END DO 185 END DO 177 186 C 178 187 C En cas de simulation couplee, lecture du masque ocean issu du modele ocean … … 275 284 $ pctsrf(1:klon, is_lic)) 276 285 C adequation avec le maque terre/mer 277 WHERE (pctsrf(1 : klon, is_lic) .L E. EPSFRA )286 WHERE (pctsrf(1 : klon, is_lic) .LT. EPSFRA ) 278 287 pctsrf(1 : klon, is_lic) = 0. 279 288 END WHERE 280 WHERE (zmasq( 1 : klon) .L E. EPSFRA)289 WHERE (zmasq( 1 : klon) .LT. EPSFRA) 281 290 pctsrf(1 : klon, is_lic) = 0. 282 291 END WHERE … … 289 298 ELSE 290 299 pctsrf(ji,is_ter) = zmasq(ji) - pctsrf(ji, is_lic) 300 IF (pctsrf(ji,is_ter) .LT. EPSFRA) THEN 301 pctsrf(ji,is_ter) = 0. 302 pctsrf(ji, is_lic) = zmasq(ji) 303 ENDIF 291 304 ENDIF 292 305 ENDIF … … 557 570 CPB en attendant de mettre fraction de terre 558 571 c 559 WHERE(phy_ice(1:klon) .G T. 1.) phy_ice(1 : klon) = 1.572 WHERE(phy_ice(1:klon) .GE. 1.) phy_ice(1 : klon) = 1. 560 573 WHERE(phy_ice(1:klon) .LT. EPSFRA) phy_ice(1 : klon) = 0. 561 574 c … … 564 577 pctsrf_t(:,is_ter,k) = pctsrf(:,is_ter) 565 578 pctsrf_t(:,is_lic,k) = pctsrf(:,is_lic) 579 pctsrf_t(1:klon,is_sic,k) = phy_ice(1:klon) 580 $ - pctsrf_t(1:klon,is_lic,k) 581 c§§ Il y a des cas ou il y a de la glace dans landiceref et pas dans AMIP 582 WHERE (pctsrf_t(1:klon,is_sic,k) .LE. 0) 583 pctsrf_t(1:klon,is_sic,k) = 0. 584 END WHERE 585 WHERE( 1. - zmasq(1:klon) .LT. EPSFRA) 586 pctsrf_t(1:klon,is_sic,k) = 0. 587 pctsrf_t(1:klon,is_oce,k) = 0. 588 END WHERE 566 589 DO i = 1, klon 567 pctsrf_t(i,is_sic,k) = (1. - pctsrf_t(i,is_lic,k) - 568 . pctsrf_t(i,is_ter,k)) * phy_ice(i) 569 pctsrf_t(i,is_oce,k) = 1. - pctsrf_t(i,is_lic,k) - 570 . pctsrf_t(i,is_ter,k) - pctsrf_t(i,is_sic,k) 590 c$$ pctsrf_t(i,is_sic,k) = (1. - pctsrf_t(i,is_lic,k) - 591 c$$ . pctsrf_t(i,is_ter,k)) * phy_ice(i) 592 c$$ pctsrf_t(i,is_oce,k) = 1. - pctsrf_t(i,is_lic,k) - 593 c$$ . pctsrf_t(i,is_ter,k) - pctsrf_t(i,is_sic,k) 594 IF ( 1. - zmasq(i) .GT. EPSFRA) THEN 595 IF ( pctsrf_t(i,is_sic,k) .GE. 1 - zmasq(i)) THEN 596 pctsrf_t(i,is_sic,k) = 1 - zmasq(i) 597 pctsrf_t(i,is_oce,k) = 0. 598 ELSE 599 pctsrf_t(i,is_oce,k) = 1 - zmasq(i) 600 $ - pctsrf_t(i,is_sic,k) 601 IF (pctsrf_t(i,is_oce,k) .LT. EPSFRA) THEN 602 pctsrf_t(i,is_oce,k) = 0. 603 pctsrf_t(i,is_sic,k) = 1 - zmasq(i) 604 ENDIF 605 ENDIF 606 ENDIF 571 607 if (pctsrf_t(i,is_oce,k) .lt. 0.) then 572 WRITE(*,*) 'pb sous maille au point : i,k ' 573 $ , i,k,pctsrf_t(:,is_oce,k) 608 WRITE(*,*) 'pb sous maille au point : i,k ' 609 $ , i,k,pctsrf_t(:,is_oce,k) 610 ENDIF 611 IF ( abs( pctsrf_t(i, is_ter,k) + pctsrf_t(i, is_lic,k) + 612 $ pctsrf_t(i, is_oce,k) + pctsrf_t(i, is_sic,k) - 1.) 613 $ .GT. EPSFRA) THEN 614 WRITE(*,*) 'physiq : pb sous surface au point ', i, 615 $ pctsrf_t(i, 1 : nbsrf,k), phy_ice(i) 574 616 ENDIF 575 617 END DO 576 618 ELSE 577 619 DO i = 1, klon 578 620 pctsrf_t(i,is_ter,k) = pctsrf(i,is_ter) … … 750 792 ENDDO 751 793 c 794 WHERE(phy_sst .LT. 271.35) phy_sst = 271.35 752 795 ierr = NF_CLOSE(ncid) 753 796 c
Note: See TracChangeset
for help on using the changeset viewer.