Changeset 1865 for LMDZ5/trunk/libf/phylmd/pbl_surface_mod.F90
- Timestamp:
- Sep 13, 2013, 10:26:46 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/pbl_surface_mod.F90
r1816 r1865 171 171 debut, lafin, & 172 172 rlon, rlat, rugoro, rmu0, & 173 zsig, sollwd_m, pphi, cldt, & 173 174 rain_f, snow_f, solsw_m, sollw_m, & 174 175 t, q, u, v, & … … 177 178 lwdown_m, cdragh, cdragm, zu1, zv1, & 178 179 alb1_m, alb2_m, zxsens, zxevap, & 180 alb3_lic, runoff, snowhgt, qsnow, to_ice, sissnow, & 179 181 zxtsol, zxfluxlat, zt2m, qsat2m, & 180 182 d_t, d_q, d_u, d_v, d_t_diss, & … … 224 226 ! rlat-----input-R- latitude en degree 225 227 ! rugos----input-R- longeur de rugosite (en m) 228 ! Martin 229 ! zsig-----input-R- slope 230 ! cldt-----input-R- total cloud fraction 231 ! pphi-----input-R- geopotentiel de chaque couche (g z) (reference sol) 232 ! Martin 226 233 ! 227 234 ! d_t------output-R- le changement pour "t" … … 287 294 REAL, DIMENSION(klon,klev+1), INTENT(IN) :: paprs ! pression between layers (Pa) 288 295 REAL, DIMENSION(klon, nbsrf), INTENT(IN) :: pctsrf ! sub-surface fraction 296 ! Martin 297 REAL, DIMENSION(klon), INTENT(IN) :: zsig ! slope 298 REAL, DIMENSION(klon), INTENT(IN) :: sollwd_m ! net longwave radiation at mean s 299 REAL, DIMENSION(klon), INTENT(IN) :: cldt ! total cloud fraction 300 REAL, DIMENSION(klon,klev), INTENT(IN) :: pphi ! geopotential (m2/s2) 301 ! Martin 289 302 290 303 ! Input/Output variables … … 298 311 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: v10m ! v speed at 10m 299 312 REAL, DIMENSION(klon, klev+1, nbsrf+1), INTENT(INOUT) :: tke 300 301 313 ! Output variables 302 314 !**************************************************************************************** … … 308 320 REAL, DIMENSION(klon), INTENT(OUT) :: alb1_m ! mean albedo in visible SW interval 309 321 REAL, DIMENSION(klon), INTENT(OUT) :: alb2_m ! mean albedo in near IR SW interval 322 ! Martin 323 REAL, DIMENSION(klon), INTENT(OUT) :: alb3_lic 324 ! Martin 310 325 REAL, DIMENSION(klon), INTENT(OUT) :: zxsens ! sensible heat flux at surface with inversed sign 311 326 ! (=> positive sign upwards) … … 370 385 REAL, DIMENSION(klon, klev, nbsrf), INTENT(OUT) :: flux_q ! water vapour flux(latent flux) (kg/m**2/s) 371 386 387 ! Martin 388 ! sisvat 389 REAL, DIMENSION(klon), INTENT(OUT) :: qsnow ! snow water content 390 REAL, DIMENSION(klon), INTENT(OUT) :: snowhgt ! snow height 391 REAL, DIMENSION(klon), INTENT(OUT) :: to_ice ! snow passed to ice 392 REAL, DIMENSION(klon), INTENT(OUT) :: sissnow ! snow in snow model 393 REAL, DIMENSION(klon), INTENT(OUT) :: runoff ! runoff on land ice 394 ! Martin 372 395 373 396 ! Local variables with attribute SAVE … … 429 452 REAL, DIMENSION(klon) :: AcoefU, AcoefV, BcoefU, BcoefV 430 453 REAL, DIMENSION(klon) :: ypsref 431 REAL, DIMENSION(klon) :: yevap, ytsurf_new, yalb1_new, yalb2_new 454 REAL, DIMENSION(klon) :: yevap, ytsurf_new, yalb1_new, yalb2_new, yalb3_new 432 455 REAL, DIMENSION(klon) :: ztsol 433 456 REAL, DIMENSION(klon) :: alb_m ! mean albedo for whole SW interval … … 475 498 476 499 REAL :: zx_qs1, zcor1, zdelta1 500 501 ! Martin 502 REAL, DIMENSION(klon, nbsrf) :: sollwd ! net longwave radiation at surface 503 REAL, DIMENSION(klon) :: ysollwd 504 REAL, DIMENSION(klon) :: ytoice 505 REAL, DIMENSION(klon) :: ysnowhgt, yqsnow, ysissnow, yrunoff 506 REAL, DIMENSION(klon) :: yzsig 507 REAL, DIMENSION(klon,klev) :: ypphi 508 REAL, DIMENSION(klon) :: ycldt 509 REAL, DIMENSION(klon) :: yrmu0 510 ! Martin 477 511 478 512 !**************************************************************************************** … … 556 590 d_t_diss= 0.0 ;d_u = 0.0 ; d_v = 0.0 ; yqsol = 0.0 557 591 ytherm = 0.0 ; ytke=0. 592 ! Martin 593 ysnowhgt = 0.0; yqsnow = 0.0 ; yrunoff = 0.0 ; ytoice =0.0 594 yalb3_new = 0.0 ; ysissnow = 0.0 ; ysollwd = 0.0 595 ypphi = 0.0 ; ycldt = 0.0 ; yrmu0 = 0.0 596 ! Martin 558 597 559 598 tke(:,:,is_ave)=0. … … 644 683 DO i = 1, klon 645 684 sollw(i,nsrf) = sollw_m(i) + 4.0*RSIGMA*ztsol(i)**3 * (ztsol(i)-ts(i,nsrf)) 685 ! Martin 686 sollwd(i,nsrf)= sollwd_m(i) 687 ! Martin 646 688 solsw(i,nsrf) = solsw_m(i) * (1.-alb(i,nsrf)) / (1.-alb_m(i)) 647 689 ENDDO … … 712 754 ypaprs(j,klev+1) = paprs(i,klev+1) 713 755 ywindsp(j) = SQRT(u10m(i,nsrf)**2 + v10m(i,nsrf)**2 ) 756 ! Martin 757 yzsig(j) = zsig(i) 758 ycldt(j) = cldt(i) 759 yrmu0(j) = rmu0(i) 760 ! Martin 714 761 END DO 715 762 … … 862 909 863 910 CASE(is_lic) 911 ! Martin 864 912 CALL surf_landice(itap, dtime, knon, ni, & 913 rlon, rlat, debut, lafin, & 914 yrmu0, ysollwd, yalb, ypphi(:,1), & 865 915 ysolsw, ysollw, yts, ypplay(:,1), & 866 916 ycdragh, ycdragm, yrain_f, ysnow_f, yt(:,1), yq(:,1),& … … 871 921 ytsoil, yz0_new, yalb1_new, yalb2_new, yevap, yfluxsens, yfluxlat, & 872 922 ytsurf_new, y_dflux_t, y_dflux_q, & 923 yzsig, ycldt, & 924 ysnowhgt, yqsnow, ytoice, ysissnow, & 925 yalb3_new, yrunoff, & 873 926 y_flux_u1, y_flux_v1) 927 !CALL surf_landice(itap, dtime, knon, ni, & 928 ! ysolsw, ysollw, yts, ypplay(:,1), & 929 ! ycdragh, ycdragm, yrain_f, ysnow_f, yt(:,1), yq(:,1),& 930 ! AcoefH, AcoefQ, BcoefH, BcoefQ, & 931 ! AcoefU, AcoefV, BcoefU, BcoefV, & 932 ! ypsref, yu1, yv1, yrugoro, pctsrf, & 933 ! ysnow, yqsurf, yqsol, yagesno, & 934 ! ytsoil, yz0_new, yalb1_new, yalb2_new, yevap, yfluxsens, yfluxlat, & 935 ! ytsurf_new, y_dflux_t, y_dflux_q, & 936 ! y_flux_u1, y_flux_v1) 937 938 alb3_lic(i)=0. 939 DO j = 1, knon 940 i = ni(j) 941 alb3_lic(i) = yalb3_new(j) 942 snowhgt(i) = ysnowhgt(j) 943 qsnow(i) = yqsnow(j) 944 to_ice(i) = ytoice(j) 945 sissnow(i) = ysissnow(j) 946 runoff(i) = yrunoff(j) 947 END DO 948 ! Martin 874 949 875 950 CASE(is_oce)
Note: See TracChangeset
for help on using the changeset viewer.