Changeset 433 for LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F
- Timestamp:
- Dec 19, 2002, 5:46:39 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F
r422 r433 123 123 save ok_journe 124 124 c PARAMETER (ok_journe=.true.) 125 126 integer lev_histday 127 save lev_histday 128 data lev_histday/1/ 125 129 c 126 130 LOGICAL ok_mensuel ! sortir le fichier mensuel … … 199 203 cccIM cf. FH 200 204 real u850(klon),v850(klon),u200(klon),v200(klon) 201 real u500(klon),v500(klon),phi500(klon) 205 real u500(klon),v500(klon),phi500(klon),w500(klon) 202 206 203 207 logical ok_hf … … 248 252 SAVE itap ! compteur pour la physique 249 253 c 250 REAL co2_ppm 251 SAVE co2_ppm ! concentration du CO2 252 c 253 REAL solaire 254 SAVE solaire ! constante solaire255 c 254 REAL co2_ppm_etat0 255 c 256 REAL solaire_etat0 257 c 258 real slp(klon) ! sea level pressure 259 256 260 REAL ftsol(klon,nbsrf) 257 261 SAVE ftsol ! temperature du sol … … 384 388 REAL dlw(klon) ! derivee infra rouge 385 389 REAL bils(klon) ! bilan de chaleur au sol 390 cIM cf. JLD 391 REAL wfbils(klon,nbsrf) ! bilan de chaleur au sol, pour chaque 392 C type de sous-surface et pondere par la fraction 386 393 REAL fder(klon) ! Derive de flux (sensible et latente) 387 394 save fder … … 481 488 REAL topsw0(klon), toplw0(klon), solsw0(klon), sollw0(klon) 482 489 REAL albpla(klon) 490 cIM cf. JLD 491 REAL fsollw(klon, nbsrf) ! bilan flux IR pour chaque sous surface 492 REAL fsolsw(klon, nbsrf) ! flux solaire absorb. pour chaque sous surface 483 493 c Le rayonnement n'est pas calcule tous les pas, il faut donc 484 494 c sauvegarder les sorties du rayonnement … … 529 539 REAL cape(klon) ! CAPE 530 540 SAVE cape 541 cccIM 542 CHARACTER*40 capemaxcels 543 531 544 REAL pbase(klon) ! cloud base pressure 532 545 SAVE pbase … … 726 739 . ok_instan, fact_cldcon, facttemps,ok_newmicro, 727 740 . iflag_cldcon,ratqsbas,ratqshaut, if_ebil) 741 cIM . , RI0) 728 742 729 743 DO k = 2, nvm ! pas de vegetation … … 745 759 itaprad = 0 746 760 c 747 CALL phyetat0 ("startphy.nc",dtime,co2_ppm ,solaire,761 CALL phyetat0 ("startphy.nc",dtime,co2_ppm_etat0,solaire_etat0, 748 762 . rlat,rlon,pctsrf, ftsol,ftsoil,deltat,fqsol,fsnow, 749 763 . falbe, fevap, rain_fall,snow_fall,solsw, sollwdown, … … 799 813 ema_workcbmf(i) = 0. 800 814 ENDDO 815 816 cIM15/11/02 rajout initialisation ibas_con,itop_con cf. SB =>BEG 817 DO i = 1, klon 818 ibas_con(i) = 1 819 itop_con(i) = klev+1 820 ENDDO 821 cIM15/11/02 rajout initialisation ibas_con,itop_con cf. SB =>END 822 801 823 ENDIF 824 802 825 c34EK 803 826 IF (ok_orodr) THEN … … 856 879 c 857 880 cccIM 881 capemaxcels = 't_max(X)' 858 882 t2mincels = 't_min(X)' 859 883 t2maxcels = 't_max(X)' … … 1076 1100 ENDIF 1077 1101 1102 DO nsrf = 1, nbsrf 1103 DO i = 1, klon 1104 fsollw(i,nsrf) = sollwdown(i) - RSIGMA*ftsol(i,nsrf)**4 1105 fsolsw(i,nsrf) = solsw(i)*(1.-falbe(i,nsrf))/(1.-albsol(i)) 1106 ENDDO 1107 ENDDO 1108 1078 1109 fder = dlw 1079 1110 … … 1085 1116 $ paprs,pplay,radsol, fsnow,fqsol,fevap,falbe,falblw, 1086 1117 $ fluxlat, 1087 e rain_fall, snow_fall, solsw, sollw, sollwdown, fder, 1118 cIM cf. JLD e rain_fall, snow_fall, solsw, sollw, sollwdown, fder, 1119 e rain_fall, snow_fall, fsolsw, fsollw, sollwdown, fder, 1088 1120 e rlon, rlat, cufi, cvfi, frugs, 1089 1121 e debut, lafin, agesno,rugoro , … … 1166 1198 c IF (pctsrf(i,nsrf) .GE. EPSFRA) THEN 1167 1199 ftsol(i,nsrf) = ftsol(i,nsrf) + d_ts(i,nsrf) 1200 cIM cf. JLD 1201 wfbils(i,nsrf) = ( fsolsw(i,nsrf) + fsollw(i,nsrf) 1202 $ + fluxt(i,nsrf) + fluxlat(i,nsrf) ) * pctsrf(i,nsrf) 1168 1203 zxtsol(i) = zxtsol(i) + ftsol(i,nsrf)*pctsrf(i,nsrf) 1169 1204 zxfluxlat(i) = zxfluxlat(i) + fluxlat(i,nsrf)*pctsrf(i,nsrf) … … 1271 1306 . Ma,cape,tvp,iflagctrl, 1272 1307 . pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr,qcondc,wd) 1308 cIM cf. FH 1309 clwcon0=qcondc 1273 1310 1274 1311 ELSE ! ok_cvl 1275 1276 if (iflag_con.eq.4) then ! vectorise1277 CALL conemav (dtime,paprs,pplay,t_seri,q_seri,1278 . u_seri,v_seri,tr_seri,nbtr,1279 . ema_work1,ema_work2,1280 . d_t_con,d_q_con,d_u_con,d_v_con,d_tr,1281 . rain_con, snow_con, ibas_con, itop_con,1282 . upwd,dnwd,dnwd0,1283 c . Ma,cape,tvp,(/(nint(rflag(i)),i=1,size(rflag))/),1284 . Ma,cape,tvp,iflagctrl,1285 . pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr)1286 1287 qcondc=0.01288 1289 else1290 1312 1291 1313 c print*,'Avant conema OUI' … … 1303 1325 print*,'Apres conema3 ' 1304 1326 1327 ENDIF ! ok_cvl 1328 1305 1329 IF (.NOT. ok_gust) THEN 1306 1330 do i = 1, klon … … 1309 1333 ENDIF 1310 1334 1311 c Calculer l'humidite relative pour diagnostique 1335 c =================================================================== c 1336 c Calcul des proprietes des nuages convectifs 1312 1337 c 1313 1338 DO k = 1, klev … … 1336 1361 s (klon,klev,q_seri,zqsat,clwcon0,ptconv,ratqsc,rnebcon0) 1337 1362 1338 endif 1339 1340 ENDIF ! ok_cvl 1363 c =================================================================== c 1341 1364 1342 1365 DO i = 1, klon … … 1668 1691 ! albsollw = albsollw1 1669 1692 CALL radlwsw ! nouveau rayonnement (compatible Arpege-IFS) 1670 e (dist, rmu0, fract, co2_ppm, solaire, 1693 cIM e (dist, rmu0, fract, co2_ppm, solaire, 1694 e (dist, rmu0, fract, 1671 1695 e paprs, pplay,zxtsol,albsol, albsollw, t_seri,q_seri, 1672 1696 e wo, … … 1681 1705 ENDIF 1682 1706 itaprad = itaprad + 1 1707 1683 1708 c 1684 1709 c Ajouter la tendance des rayonnements (tous les pas) … … 1923 1948 call plevel(klon,klev,.false.,pplay,20000.,v_seri,v200) 1924 1949 call plevel(klon,klev,.true. ,pplay,50000.,zphi,phi500) 1950 call plevel(klon,klev,.true. ,paprs,50000.,omega,w500) 1951 1952 slp(:) = paprs(:,1)*exp(pphis(:)/(289.*t_seri(:,1))) 1953 c 1954 1925 1955 1926 1956 c=============================================================
Note: See TracChangeset
for help on using the changeset viewer.