Changeset 937 for LMDZ4/trunk
- Timestamp:
- Mar 31, 2008, 5:59:23 PM (17 years ago)
- Location:
- LMDZ4/trunk/libf
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/dyn3d/etat0_netcdf.F
r927 r937 121 121 REAL, DIMENSION(klon,klev,nbsrf) :: pbl_tke ! turb kinetic energy 122 122 REAL, DIMENSION(klon) :: zmax0, f0 123 REAL, DIMENSION(klon,klev) :: ema_work1, ema_work2 123 124 REAL :: dummy(klon, nbsrf) 124 125 ! … … 690 691 zmax0(:) = 40. 691 692 f0(:) = 1.e-5 693 ema_work1(:,:) = 0. 694 ema_work2(:,:) = 0. 692 695 693 696 call fonte_neige_init(run_off_lic_0) … … 702 705 $ zmea, zstd, zsig, zgam, zthe, zpic, zval, rugsrel, 703 706 $ t_ancien, q_ancien, rnebcon, ratqs, clwcon, pbl_tke, 704 $ zmax0, f0 )707 $ zmax0, f0, ema_work1, ema_work2 ) 705 708 706 709 -
LMDZ4/trunk/libf/phylmd/phyetat0.F
r927 r937 13 13 . rugsrel_p,tabcntr0, 14 14 . t_ancien_p,q_ancien_p,ancien_ok_p, rnebcon_p, ratqs_p, 15 . clwcon_p,pbl_tke_p, zmax0_p, f0_p) 15 . clwcon_p,pbl_tke_p, zmax0_p, f0_p, 16 . ema_work1_p, ema_work2_p) 16 17 17 18 USE dimphy … … 49 50 REAL pbl_tke_p(klon,klev,nbsrf) 50 51 REAL zmax0_p(klon), f0_p(klon) 52 REAL ema_work1_p(klon,klev), ema_work2_p(klon,klev) 51 53 REAL tsoil_p(klon,nsoilmx,nbsrf) 52 54 REAL tslab_p(klon), seaice_p(klon) … … 87 89 REAL pbl_tke(klon_glo,klev,nbsrf) 88 90 REAL zmax0(klon), f0(klon) 91 REAL ema_work1(klon,klev), ema_work2(klon,klev) 89 92 REAL tsoil(klon_glo,nsoilmx,nbsrf) 90 93 cIM "slab" ocean … … 1434 1437 1435 1438 c 1436 ierr = NF_INQ_VARID (nid, "QANCIEN", nvarid)1437 IF (ierr.NE.NF_NOERR) THEN1438 PRINT*, "phyetat0: Le champ <QANCIEN> est absent"1439 PRINT*, "Depart legerement fausse. Mais je continue"1440 ancien_ok = .FALSE.1441 ELSE1442 #ifdef NC_DOUBLE1443 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, q_ancien)1444 #else1445 ierr = NF_GET_VAR_REAL(nid, nvarid, q_ancien)1446 #endif1447 IF (ierr.NE.NF_NOERR) THEN1448 PRINT*, "phyetat0: Lecture echouee pour <QANCIEN>"1449 CALL abort1450 ENDIF1451 ENDIF1452 c1453 1439 c Lecture ratqs 1454 1440 c … … 1587 1573 xmax = MAXval(f0) 1588 1574 PRINT*,'(ecart-type) f0:', xmin, xmax 1575 c 1576 c ema_work1 1577 c 1578 ierr = NF_INQ_VARID (nid, "EMA_WORK1", nvarid) 1579 IF (ierr.NE.NF_NOERR) THEN 1580 PRINT*, "phyetat0: Le champ <EMA_WORK1> est absent" 1581 PRINT*, "Depart legerement fausse. Mais je continue" 1582 ema_work1=0. 1583 ELSE 1584 #ifdef NC_DOUBLE 1585 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, ema_work1) 1586 #else 1587 ierr = NF_GET_VAR_REAL(nid, nvarid, ema_work1) 1588 #endif 1589 IF (ierr.NE.NF_NOERR) THEN 1590 PRINT*, "phyetat0: Lecture echouee pour <EMA_WORK1>" 1591 CALL abort 1592 ENDIF 1593 xmin = 1.0E+20 1594 xmax = -1.0E+20 1595 DO k = 1, klev 1596 DO i = 1, klon 1597 xmin = MIN(ema_work1(i,k),xmin) 1598 xmax = MAX(ema_work1(i,k),xmax) 1599 ENDDO 1600 ENDDO 1601 PRINT*,'ema_work1:', xmin, xmax 1602 ENDIF 1603 c 1604 c ema_work2 1605 c 1606 ierr = NF_INQ_VARID (nid, "EMA_WORK2", nvarid) 1607 IF (ierr.NE.NF_NOERR) THEN 1608 PRINT*, "phyetat0: Le champ <EMA_WORK2> est absent" 1609 PRINT*, "Depart legerement fausse. Mais je continue" 1610 ema_work2=0. 1611 ELSE 1612 #ifdef NC_DOUBLE 1613 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, ema_work2) 1614 #else 1615 ierr = NF_GET_VAR_REAL(nid, nvarid, ema_work2) 1616 #endif 1617 IF (ierr.NE.NF_NOERR) THEN 1618 PRINT*, "phyetat0: Lecture echouee pour <EMA_WORK2>" 1619 CALL abort 1620 ENDIF 1621 xmin = 1.0E+20 1622 xmax = -1.0E+20 1623 DO k = 1, klev 1624 DO i = 1, klon 1625 xmin = MIN(ema_work2(i,k),xmin) 1626 xmax = MAX(ema_work2(i,k),xmax) 1627 ENDDO 1628 ENDDO 1629 PRINT*,'ema_work2:', xmin, xmax 1630 ENDIF 1589 1631 c 1590 1632 c Fermer le fichier: … … 1625 1667 call Scatter( zmax0,zmax0_p) 1626 1668 call Scatter( f0,f0_p) 1669 call Scatter( ema_work1, ema_work1_p) 1670 call Scatter( ema_work2, ema_work2_p) 1627 1671 call Scatter( tsoil,tsoil_p) 1628 1672 call Scatter( tslab,tslab_p) -
LMDZ4/trunk/libf/phylmd/phyredem.F
r927 r937 10 10 . zgam_p,zthe_p,zpic_p,zval_p,rugsrel_p, 11 11 . t_ancien_p, q_ancien_p, rnebcon_p, ratqs_p, clwcon_p, 12 . pbl_tke_p, zmax0_p, f0_p )12 . pbl_tke_p, zmax0_p, f0_p, ema_work1_p, ema_work2_p) 13 13 14 14 USE dimphy … … 40 40 REAL pbl_tke_p(klon,klev,nbsrf) 41 41 REAL zmax0_p(klon), f0_p(klon) 42 REAL ema_work1_p(klon, klev), ema_work2_p(klon, klev) 42 43 REAL tsoil_p(klon,nsoilmx,nbsrf) 43 44 CHARACTER*6 ocean … … 75 76 REAL pbl_tke(klon_glo,klev,nbsrf) 76 77 REAL zmax0(klon_glo), f0(klon) 78 REAL ema_work1(klon, klev), ema_work2(klon, klev) 77 79 REAL tsoil(klon_glo,nsoilmx,nbsrf) 78 80 REAL tslab(klon_glo), seaice(klon_glo) … … 143 145 call Gather( zmax0_p,zmax0) 144 146 call Gather( f0_p,f0) 147 call Gather( ema_work1_p, ema_work1) 148 call Gather( ema_work2_p, ema_work2) 145 149 call Gather( tsoil_p,tsoil) 146 150 call Gather( tslab_p,tslab) -
LMDZ4/trunk/libf/phylmd/phys_state_var_mod.F90
r927 r937 30 30 REAL, ALLOCATABLE, SAVE :: pbl_tke(:,:,:) ! turb kinetic energy 31 31 REAL, ALLOCATABLE, SAVE :: zmax0(:), f0(:) ! 32 32 REAL, ALLOCATABLE, SAVE :: ema_work1(:,:), ema_work2(:,:) 33 33 CONTAINS 34 34 … … 58 58 ALLOCATE(pbl_tke(klon,klev+1,nbsrf)) 59 59 ALLOCATE(zmax0(klon), f0(klon)) 60 ALLOCATE(ema_work1(klon,klev), ema_work2(klon,klev)) 60 61 61 62 END SUBROUTINE phys_state_var_init … … 75 76 deallocate( ratqs, pbl_tke ) 76 77 deallocate( zmax0, f0 ) 78 deallocate( ema_work1, ema_work2 ) 77 79 78 80 END SUBROUTINE phys_state_var_end -
LMDZ4/trunk/libf/phylmd/physiq.F
r933 r937 702 702 c$OMP THREADPRIVATE(qcondc) 703 703 cym SAVE qcondc 704 REAL,allocatable,save :: ema_work1(:, :), ema_work2(:, :)705 c$OMP THREADPRIVATE(ema_work1,ema_work2)706 cym SAVE ema_work1, ema_work2707 704 REAL wdn(klon), tdn(klon), qdn(klon) 708 705 … … 1430 1427 allocate( Ma(klon,klev) ) 1431 1428 allocate( qcondc(klon,klev)) 1432 allocate( ema_work1(klon, klev), ema_work2(klon, klev))1433 1429 allocate( wd(klon) ) 1434 1430 allocate( pfrac_impa(klon,klev)) … … 1512 1508 ratqs(:,:)=0. 1513 1509 sollw(:)=0. 1514 ema_work1(:,:)=0.1515 ema_work2(:,:)=0.1516 1510 cym Attention pbase pas initialise dans concvl !!!! 1517 1511 pbase(:)=0 … … 1640 1634 . zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro,tabcntr0, 1641 1635 . t_ancien, q_ancien, ancien_ok, rnebcon, ratqs,clwcon, 1642 . pbl_tke, zmax0, f0 )1636 . pbl_tke, zmax0, f0, ema_work1, ema_work2) 1643 1637 1644 1638 … … 3759 3753 . zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro, 3760 3754 . t_ancien, q_ancien, rnebcon, ratqs, clwcon, 3761 . pbl_tke, zmax0, f0 )3755 . pbl_tke, zmax0, f0, ema_work1, ema_work2) 3762 3756 open(97,form="unformatted",file="finbin") 3763 3757 write(97) u_seri,v_seri,t_seri,q_seri
Note: See TracChangeset
for help on using the changeset viewer.