Changeset 177 for LMDZ.3.3/branches/rel-LF/libf/dyn3d
- Timestamp:
- Mar 9, 2001, 4:36:10 PM (24 years ago)
- Location:
- LMDZ.3.3/branches/rel-LF/libf/dyn3d
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/dyn3d/calfis.F
r79 r177 128 128 REAL zdtfi(ngridmx,llm),zdqfi(ngridmx,llm,nqmx) 129 129 REAL zdpsrf(ngridmx) 130 REAL zcufi(ngridmx),zcvfi(ngridmx) 130 131 c 131 132 REAL zsin(iim),zcos(iim),z1(iim) … … 177 178 latfi(1)=rlatu(1) 178 179 lonfi(1)=0. 180 zcufi(1) = cu(1,1) 181 zcvfi(1) = cv(1,1) 179 182 DO j=2,jjm 180 183 DO i=1,iim 181 184 latfi((j-2)*iim+1+i)= rlatu(j) 182 185 lonfi((j-2)*iim+1+i)= rlonv(i) 186 zcufi((j-2)*iim+1+i) = cu(i,j) 187 zcvfi((j-2)*iim+1+i) = cv(i,j) 183 188 ENDDO 184 189 ENDDO 185 190 latfi(ngridmx)= rlatu(jjp1) 186 191 lonfi(ngridmx)= 0. 192 zcufi(ngridmx) = cu(1,jjp1) 193 zcvfi(ngridmx) = cv(1,jjm) 187 194 CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,aire,airefi) 188 195 PRINT*,'WARNING!!! vitesse verticale nulle dans la physique' … … 430 437 , presnivs,clesphy0, zufi, zvfi,ztfi, zqfi, 431 438 ccc , pcvgu, pcvgv, pcvgt, pcvgq, 432 , pvervel, 439 , pvervel, zcufi, zcvfi, 433 440 C - sorties 434 441 s zdufi, zdvfi, zdtfi, zdqfi,zdpsrf ) -
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 -
LMDZ.3.3/branches/rel-LF/libf/dyn3d/defrun_new.F
r2 r177 75 75 c----------------------------------------------------------------------- 76 76 77 OPEN( tapedef,file =' run.def',status='old',form='formatted')77 OPEN( tapedef,file ='gcm.def',status='old',form='formatted') 78 78 79 79 -
LMDZ.3.3/branches/rel-LF/libf/dyn3d/etat0_netcdf.F
r174 r177 186 186 zmasq(:) = 0. 187 187 CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zmasq,0.0) 188 WHERE (zmasq(1 : klon) .L E. EPSFRA)188 WHERE (zmasq(1 : klon) .LT. EPSFRA) 189 189 zmasq(1 : klon) = 0. 190 END WHERE 191 WHERE (1. - zmasq(1 : klon) .LT. EPSFRA) 192 zmasq(1 : klon) = 1. 190 193 END WHERE 191 194 WRITE(*,*)zmasq … … 434 437 $ pctsrf(1:klon, is_lic)) 435 438 C adequation avec le maque terre/mer 436 WHERE (pctsrf(1 : klon, is_lic) .LE. EPSFRA ) 439 c zmasq(157) = 0. 440 WHERE (pctsrf(1 : klon, is_lic) .LT. EPSFRA ) 437 441 pctsrf(1 : klon, is_lic) = 0. 438 442 END WHERE 439 WHERE (zmasq( 1 : klon) .L E. EPSFRA)443 WHERE (zmasq( 1 : klon) .LT. EPSFRA) 440 444 pctsrf(1 : klon, is_lic) = 0. 441 445 END WHERE … … 448 452 ELSE 449 453 pctsrf(ji,is_ter) = zmasq(ji) - pctsrf(ji, is_lic) 454 IF (pctsrf(ji,is_ter) .LT. EPSFRA) THEN 455 pctsrf(ji,is_ter) = 0. 456 pctsrf(ji, is_lic) = zmasq(ji) 457 ENDIF 450 458 ENDIF 451 459 ENDIF … … 558 566 albe(:,is_sic) = 0.6 559 567 evap(:,:) = 0. 560 qsolsrf(:,is_ter) = qsol561 qsolsrf(:,is_lic) = qsol568 qsolsrf(:,is_ter) = 150 569 qsolsrf(:,is_lic) = 150 562 570 qsolsrf(:,is_oce) = 150. 563 571 qsolsrf(:,is_sic) = 150. … … 577 585 frugs(:,is_ter) = rugmer 578 586 frugs(:,is_lic) = rugmer 579 frugs(:,is_sic) = rugmer587 frugs(:,is_sic) = 0.001 580 588 581 589 call physdem("startphy.nc",phystep,radpas, co2_ppm, solaire, -
LMDZ.3.3/branches/rel-LF/libf/dyn3d/gcm.F
r113 r177 358 358 $ ( itau,ucov,vcov,teta,ps,masse,pk,pkf,phis , 359 359 $ phi,conser,du,dv,dteta,dp,w, pbaru,pbarv, time+iday-day_ini ) 360 write(47,*)'dp apres caldyn' 361 write(47,*)dp 360 362 361 363 c----------------------------------------------------------------------- -
LMDZ.3.3/branches/rel-LF/libf/dyn3d/grid_noro.F
r99 r177 332 332 c angle theta: 333 333 zthe(ii,jj)=57.29577951*atan2(xm,xl)/2. 334 c$$$zphi(ii,jj)=zmea(ii,jj)334 zphi(ii,jj)=zmea(ii,jj) 335 335 c$$$ zmea(ii,jj)=zmea(ii,jj) 336 336 c$$$ zpic(ii,jj)=zpic(ii,jj) -
LMDZ.3.3/branches/rel-LF/libf/dyn3d/startvar.F
r99 r177 1 ! $Header$ 1 2 MODULE startvar 2 3 ! … … 319 320 $ phis, relief, zstd, zsig, zgam, zthe, zpic, zval, masque) 320 321 phis = phis * 9.81 322 ! write(*,*)'phis sortie grid_noro' 323 ! write(*,*)phis 321 324 ! 322 325 !PB supression ligne suivant pour masque avec % terre
Note: See TracChangeset
for help on using the changeset viewer.