Changeset 541 for LMDZ4/trunk/libf/phylmd/physiq.F
- Timestamp:
- Jun 22, 2004, 1:45:36 PM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/physiq.F
r524 r541 2 2 ! $Header$ 3 3 ! 4 C5 c $Header$6 4 c 7 5 SUBROUTINE physiq (nlon,nlev,nqmax, … … 88 86 #include "advtrac.h" 89 87 #include "iniprint.h" 88 #include "thermcell.h" 90 89 c====================================================================== 91 90 LOGICAL ok_cvl ! pour activer le nouveau driver pour convection KE … … 157 156 PARAMETER (ok_region=.FALSE.) 158 157 c====================================================================== 158 c pour phsystoke avec thermiques 159 REAL fm_therm(klon,klev+1) 160 REAL entr_therm(klon,klev) 161 real q2(klon,klev+1,nbsrf) 162 save q2 163 c====================================================================== 159 164 c 160 165 INTEGER ivap ! indice de traceurs pour vapeur d'eau … … 594 599 REAL zxffonte(klon), zxfqcalving(klon) 595 600 596 LOGICAL offline ! Controle du stockage ds "physique"597 PARAMETER (offline=.false.)598 INTEGER physid601 c$$$ LOGICAL offline ! Controle du stockage ds "physique" 602 c$$$ PARAMETER (offline=.false.) 603 c$$$ INTEGER physid 599 604 REAL pfrac_impa(klon,klev)! Produits des coefs lessivage impaction 600 605 save pfrac_impa … … 807 812 REAL d_t_lsc(klon,klev),d_q_lsc(klon,klev),d_ql_lsc(klon,klev) 808 813 REAL d_t_ajs(klon,klev), d_q_ajs(klon,klev) 814 REAL d_u_ajs(klon,klev), d_v_ajs(klon,klev) 809 815 REAL d_t_eva(klon,klev),d_q_eva(klon,klev) 810 816 REAL rneb(klon,klev) … … 1034 1040 . iflag_cldcon,ratqsbas,ratqshaut, if_ebil, 1035 1041 . ok_ade, ok_aie, 1036 . bl95_b0, bl95_b1 )1037 cIM . , RI0)1042 . bl95_b0, bl95_b1, 1043 . iflag_thermals,nsplit_thermals) 1038 1044 1039 1045 c … … 1053 1059 . run_off_lic_0) 1054 1060 1061 c ATTENTION : il faudra a terme relire q2 dans l'etat initial 1062 q2(:,:,:)=1.e-8 1055 1063 c 1056 1064 radpas = NINT( 86400./dtime/nbapp_rad) … … 1508 1516 s d_t_vdf,d_q_vdf,d_u_vdf,d_v_vdf,d_ts, 1509 1517 s fluxt,fluxq,fluxu,fluxv,cdragh,cdragm, 1518 s q2, 1510 1519 s dsens, devap, 1511 1520 s ycoefh,yu1,yv1, t2m, q2m, u10m, v10m, … … 1850 1859 c Appeler l'ajustement sec 1851 1860 c 1852 CALL ajsec(paprs, pplay, t_seri, q_seri, d_t_ajs, d_q_ajs) 1853 DO k = 1, klev 1854 DO i = 1, klon 1855 t_seri(i,k) = t_seri(i,k) + d_t_ajs(i,k) 1856 q_seri(i,k) = q_seri(i,k) + d_q_ajs(i,k) 1857 ENDDO 1858 ENDDO 1861 c=================================================================== 1862 c Convection seche (thermiques ou ajustement) 1863 c=================================================================== 1864 c 1865 d_t_ajs(:,:)=0. 1866 d_u_ajs(:,:)=0. 1867 d_v_ajs(:,:)=0. 1868 d_q_ajs(:,:)=0. 1869 fm_therm(:,:)=0. 1870 entr_therm(:,:)=0. 1871 c 1872 print*,'AVANT LA CONVECTION SECHE , iflag_thermals=' 1873 s ,iflag_thermals,' nsplit_thermals=',nsplit_thermals 1874 if(iflag_thermals.lt.0) then 1875 c Rien 1876 c ==== 1877 print*,'pas de convection' 1878 else if(iflag_thermals.eq.0) then 1879 1880 c Ajustement sec 1881 c ============== 1882 print*,'ajsec' 1883 CALL ajsec(paprs, pplay, t_seri,q_seri, d_t_ajs, d_q_ajs) 1884 t_seri(:,:) = t_seri(:,:) + d_t_ajs(:,:) 1885 q_seri(:,:) = q_seri(:,:) + d_q_ajs(:,:) 1886 else 1887 c Thermiques 1888 c ========== 1889 print*,'JUSTE AVANT , iflag_thermals=' 1890 s ,iflag_thermals,' nsplit_thermals=',nsplit_thermals 1891 call calltherm(pdtphys 1892 s ,pplay,paprs,pphi 1893 s ,u_seri,v_seri,t_seri,q_seri 1894 s ,d_u_ajs,d_v_ajs,d_t_ajs,d_q_ajs 1895 s ,fm_therm,entr_therm) 1896 endif 1897 c 1898 c=================================================================== 1859 1899 c 1860 1900 IF (if_ebil.ge.2) THEN … … 2573 2613 I u,v,t,paprs,pplay, 2574 2614 I pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, 2575 I ycoefh, yu1,yv1,ftsol,pctsrf,rlat,2576 I frac_impa, frac_nucl,2615 I ycoefh,fm_therm,entr_therm,yu1,yv1,ftsol, 2616 I pctsrf,rlat,frac_impa, frac_nucl, 2577 2617 I rlon,presnivs,pphis,pphi, 2578 2618 I albsol, … … 2589 2629 IF (offline) THEN 2590 2630 2631 print*,'Attention on met a 0 les thermiques pour phystoke' 2591 2632 call phystokenc ( 2592 2633 I nlon,nlev,pdtphys,rlon,rlat, 2593 2634 I t,pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, 2635 I fm_therm,entr_therm, 2594 2636 I ycoefh,yu1,yv1,ftsol,pctsrf, 2595 2637 I frac_impa, frac_nucl,
Note: See TracChangeset
for help on using the changeset viewer.