Changeset 927 for LMDZ4/trunk/libf/phylmd
- Timestamp:
- Mar 14, 2008, 1:12:38 PM (17 years ago)
- Location:
- LMDZ4/trunk/libf/phylmd
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/calltherm.F90
r879 r927 7 7 & ,d_u_ajs,d_v_ajs,d_t_ajs,d_q_ajs & 8 8 & ,fm_therm,entr_therm,zqasc,clwcon0,lmax,ratqscth, & 9 & ratqsdiff,zqsatth,Ale_bl,Alp_bl,lalim_conv,wght_th) 9 & ratqsdiff,zqsatth,Ale_bl,Alp_bl,lalim_conv,wght_th, & 10 & zmax0,f0) 10 11 11 12 implicit none … … 59 60 real Alp(klon) 60 61 !RC 62 !on garde le zmax du pas de temps precedent 63 real zmax0(klon), f0(klon) 61 64 !******************************************************** 62 65 … … 171 174 & ,ratqscth,ratqsdiff,zqsatth & 172 175 & ,r_aspect_thermals,l_mix_thermals,w2di_thermals & 173 & ,tho_thermals,Ale,Alp,lalim_conv,wght_th) 176 & ,tho_thermals,Ale,Alp,lalim_conv,wght_th & 177 & ,zmax0,f0) 174 178 endif 175 179 -
LMDZ4/trunk/libf/phylmd/phyetat0.F
r888 r927 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 )15 . clwcon_p,pbl_tke_p, zmax0_p, f0_p) 16 16 17 17 USE dimphy … … 48 48 REAL tsol_p(klon,nbsrf) 49 49 REAL pbl_tke_p(klon,klev,nbsrf) 50 REAL zmax0_p(klon), f0_p(klon) 50 51 REAL tsoil_p(klon,nsoilmx,nbsrf) 51 52 REAL tslab_p(klon), seaice_p(klon) … … 85 86 REAL tsol(klon_glo,nbsrf) 86 87 REAL pbl_tke(klon_glo,klev,nbsrf) 88 REAL zmax0(klon), f0(klon) 87 89 REAL tsoil(klon_glo,nsoilmx,nbsrf) 88 90 cIM "slab" ocean … … 1538 1540 ENDDO 1539 1541 ENDIF 1540 1542 c 1543 c zmax0 1544 ierr = NF_INQ_VARID (nid, "ZMAX0", nvarid) 1545 IF (ierr.NE.NF_NOERR) THEN 1546 PRINT*, "phyetat0: Le champ <ZMAX0> est absent" 1547 PRINT*, "Depart legerement fausse. Mais je continue" 1548 zmax0=40. 1549 ELSE 1550 #ifdef NC_DOUBLE 1551 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, zmax0) 1552 #else 1553 ierr = NF_GET_VAR_REAL(nid, nvarid, zmax0) 1554 #endif 1555 IF (ierr.NE.NF_NOERR) THEN 1556 PRINT*, "phyetat0: Lecture echouee pour <ZMAX0>" 1557 CALL abort 1558 ENDIF 1559 ENDIF 1560 xmin = 1.0E+20 1561 xmax = -1.0E+20 1562 xmin = MINval(zmax0) 1563 xmax = MAXval(zmax0) 1564 PRINT*,'(ecart-type) zmax0:', xmin, xmax 1565 c 1566 c f0(ig)=1.e-5 1567 c f0 1568 ierr = NF_INQ_VARID (nid, "f0", nvarid) 1569 IF (ierr.NE.NF_NOERR) THEN 1570 PRINT*, "phyetat0: Le champ <f0> est absent" 1571 PRINT*, "Depart legerement fausse. Mais je continue" 1572 f0=1.e-5 1573 ELSE 1574 #ifdef NC_DOUBLE 1575 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, f0) 1576 #else 1577 ierr = NF_GET_VAR_REAL(nid, nvarid, f0) 1578 #endif 1579 IF (ierr.NE.NF_NOERR) THEN 1580 PRINT*, "phyetat0: Lecture echouee pour <f0>" 1581 CALL abort 1582 ENDIF 1583 ENDIF 1584 xmin = 1.0E+20 1585 xmax = -1.0E+20 1586 xmin = MINval(f0) 1587 xmax = MAXval(f0) 1588 PRINT*,'(ecart-type) f0:', xmin, xmax 1541 1589 c 1542 1590 c Fermer le fichier: … … 1575 1623 call Scatter( pbl_tke,pbl_tke_p) 1576 1624 endif 1625 call Scatter( zmax0,zmax0_p) 1626 call Scatter( f0,f0_p) 1577 1627 call Scatter( tsoil,tsoil_p) 1578 1628 call Scatter( tslab,tslab_p) -
LMDZ4/trunk/libf/phylmd/phyredem.F
r888 r927 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 )12 . pbl_tke_p, zmax0_p, f0_p) 13 13 14 14 USE dimphy … … 39 39 REAL tsol_p(klon,nbsrf) 40 40 REAL pbl_tke_p(klon,klev,nbsrf) 41 REAL zmax0_p(klon), f0_p(klon) 41 42 REAL tsoil_p(klon,nsoilmx,nbsrf) 42 43 CHARACTER*6 ocean … … 73 74 REAL tsol(klon_glo,nbsrf) 74 75 REAL pbl_tke(klon_glo,klev,nbsrf) 76 REAL zmax0(klon_glo), f0(klon) 75 77 REAL tsoil(klon_glo,nsoilmx,nbsrf) 76 78 REAL tslab(klon_glo), seaice(klon_glo) … … 139 141 call Gather( tsol_p,tsol) 140 142 call Gather( pbl_tke_p,pbl_tke) 143 call Gather( zmax0_p,zmax0) 144 call Gather( f0_p,f0) 141 145 call Gather( tsoil_p,tsoil) 142 146 call Gather( tslab_p,tslab) -
LMDZ4/trunk/libf/phylmd/phys_state_var_mod.F90
r913 r927 29 29 REAL, ALLOCATABLE, SAVE :: ratqs(:,:) 30 30 REAL, ALLOCATABLE, SAVE :: pbl_tke(:,:,:) ! turb kinetic energy 31 REAL, ALLOCATABLE, SAVE :: zmax0(:), f0(:) ! 31 32 32 33 CONTAINS … … 56 57 ALLOCATE( ratqs(klon,klev)) 57 58 ALLOCATE(pbl_tke(klon,klev+1,nbsrf)) 59 ALLOCATE(zmax0(klon), f0(klon)) 58 60 59 61 END SUBROUTINE phys_state_var_init … … 72 74 deallocate( rugoro, t_ancien, q_ancien, clwcon, rnebcon ) 73 75 deallocate( ratqs, pbl_tke ) 76 deallocate( zmax0, f0 ) 74 77 75 78 END SUBROUTINE phys_state_var_end -
LMDZ4/trunk/libf/phylmd/physiq.F
r913 r927 1640 1640 . zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro,tabcntr0, 1641 1641 . t_ancien, q_ancien, ancien_ok, rnebcon, ratqs,clwcon, 1642 . pbl_tke )1642 . pbl_tke, zmax0, f0) 1643 1643 1644 1644 … … 2645 2645 s ,ratqsdiff,zqsatth 2646 2646 con rajoute ale et alp, et les caracteristiques de la couche alim 2647 s ,Ale_bl,Alp_bl,lalim_conv,wght_th )2647 s ,Ale_bl,Alp_bl,lalim_conv,wght_th, zmax0, f0) 2648 2648 endif 2649 2649 … … 3757 3757 . zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro, 3758 3758 . t_ancien, q_ancien, rnebcon, ratqs, clwcon, 3759 . pbl_tke )3759 . pbl_tke, zmax0, f0) 3760 3760 open(97,form="unformatted",file="finbin") 3761 3761 write(97) u_seri,v_seri,t_seri,q_seri -
LMDZ4/trunk/libf/phylmd/thermcell_main.F90
r926 r927 9 9 & ,ratqscth,ratqsdiff,zqsatth & 10 10 & ,r_aspect,l_mix,w2di,tho & 11 & ,Ale_bl,Alp_bl,lalim_conv,wght_th) 11 & ,Ale_bl,Alp_bl,lalim_conv,wght_th & 12 & ,zmax0, f0) 12 13 13 14 IMPLICIT NONE … … 74 75 !on garde le zmax du pas de temps precedent 75 76 real zmax0(klon) 76 77 !FH/IM save zmax0 77 78 78 79 real zlev(klon,klev+1),zlay(klon,klev) … … 130 131 real alim_star(klon,klev) 131 132 real f(klon), f0(klon) 132 133 !FH/IM save f0 133 134 real zlevinter(klon) 134 135 logical debut … … 174 175 ! 175 176 do ig=1,klon 176 if ((debut).or.((.not.debut).and.(f0(ig).lt.1.e-10))) then 177 !FH/IM 130308 if ((debut).or.((.not.debut).and.(f0(ig).lt.1.e-10))) then 178 if ((.not.debut).and.(f0(ig).lt.1.e-10)) then 177 179 f0(ig)=1.e-5 178 180 zmax0(ig)=40. … … 180 182 endif 181 183 enddo 182 183 184 184 185
Note: See TracChangeset
for help on using the changeset viewer.