Changeset 2188 for LMDZ5/trunk/libf
- Timestamp:
- Jan 30, 2015, 5:25:12 PM (10 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/pbl_surface_mod.F90
r2186 r2188 172 172 debut, lafin, & 173 173 rlon, rlat, rugoro, rmu0, & 174 zsig, sollwd_m, pphi, cldt, &174 zsig, lwdown_m, pphi, cldt, & 175 175 rain_f, snow_f, solsw_m, sollw_m, & 176 176 t, q, u, v, & … … 182 182 pplay, paprs, pctsrf, & 183 183 ts, alb1, alb2,ustar, u10m, v10m,wstar, & 184 lwdown_m, cdragh, cdragm, zu1, zv1,&184 cdragh, cdragm, zu1, zv1, & 185 185 alb1_m, alb2_m, zxsens, zxevap, & 186 186 alb3_lic, runoff, snowhgt, qsnow, to_ice, sissnow, & … … 327 327 ! Martin 328 328 REAL, DIMENSION(klon), INTENT(IN) :: zsig ! slope 329 REAL, DIMENSION(klon), INTENT(IN) :: sollwd_m ! netlongwave radiation at mean s329 REAL, DIMENSION(klon), INTENT(IN) :: lwdown_m ! downward longwave radiation at mean s 330 330 REAL, DIMENSION(klon), INTENT(IN) :: cldt ! total cloud fraction 331 331 REAL, DIMENSION(klon,klev), INTENT(IN) :: pphi ! geopotential (m2/s2) … … 367 367 ! Output variables 368 368 !**************************************************************************************** 369 REAL, DIMENSION(klon), INTENT(OUT) :: lwdown_m ! Downcoming longwave radiation370 369 REAL, DIMENSION(klon), INTENT(OUT) :: cdragh ! drag coefficient for T and Q 371 370 REAL, DIMENSION(klon), INTENT(OUT) :: cdragm ! drag coefficient for wind … … 780 779 ! Martin 781 780 REAL, DIMENSION(klon, nbsrf) :: sollwd ! net longwave radiation at surface 782 REAL, DIMENSION(klon) :: ysollwd783 781 REAL, DIMENSION(klon) :: ytoice 784 782 REAL, DIMENSION(klon) :: ysnowhgt, yqsnow, ysissnow, yrunoff … … 855 853 ! 2a) Initialization of all argument variables with INTENT(OUT) 856 854 !**************************************************************************************** 857 lwdown_m(:)=0.858 855 cdragh(:)=0. ; cdragm(:)=0. 859 856 zu1(:)=0. ; zv1(:)=0. … … 938 935 ! Martin 939 936 ysnowhgt = 0.0; yqsnow = 0.0 ; yrunoff = 0.0 ; ytoice =0.0 940 yalb3_new = 0.0 ; ysissnow = 0.0 ; ysollwd = 0.0937 yalb3_new = 0.0 ; ysissnow = 0.0 941 938 ypphi = 0.0 ; ycldt = 0.0 ; yrmu0 = 0.0 942 939 ! Martin … … 1109 1106 DO i = 1, klon 1110 1107 sollw(i,nsrf) = sollw_m(i) + 4.0*RSIGMA*ztsol(i)**3 * (ztsol(i)-ts(i,nsrf)) 1111 ! Martin 1112 sollwd(i,nsrf)= sollwd_m(i) 1113 ! Martin 1108 1109 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1110 ! ! Martin 1111 ! Apparently introduced for sisvat but not used 1112 ! sollwd(i,nsrf)= sollwd_m(i) 1113 ! ! Martin 1114 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1115 1114 1116 solsw(i,nsrf) = solsw_m(i) * (1.-alb(i,nsrf)) / (1.-alb_m(i)) 1115 1117 ENDDO 1116 1118 ENDDO 1117 1119 1118 1119 ! Downwelling longwave radiation at mean surface1120 lwdown_m(:) = 0.01121 DO i = 1, klon1122 lwdown_m(i) = sollw_m(i) + RSIGMA*ztsol(i)**41123 ENDDO1124 1120 1125 1121 !**************************************************************************************** … … 1180 1176 yagesno(j) = agesno(i,nsrf) 1181 1177 yfder(j) = fder(i) 1178 ylwdown(j) = lwdown_m(i) 1182 1179 ysolsw(j) = solsw(i,nsrf) 1183 1180 ysollw(j) = sollw(i,nsrf) … … 1703 1700 1704 1701 CASE(is_ter) 1705 ! ylwdown : to be removed, calculation is now done at land surface in surf_land 1706 ylwdown(:)=0.0 1707 DO i=1,knon 1708 ylwdown(i)=lwdown_m(ni(i)) 1709 END DO 1702 print*,"DEBUGTS",yts(knon/2),ylwdown(knon/2) 1710 1703 CALL surf_land(itap, dtime, date0, jour, knon, ni,& 1711 1704 rlon, rlat, & … … 1746 1739 CALL surf_landice(itap, dtime, knon, ni, & 1747 1740 rlon, rlat, debut, lafin, & 1748 yrmu0, y sollwd, yalb, ypphi(:,1), &1741 yrmu0, ylwdown, yalb, ypphi(:,1), & 1749 1742 ysolsw, ysollw, yts, ypplay(:,1), & 1750 1743 ycdragh, ycdragm, yrain_f, ysnow_f, yt(:,1), yq(:,1),& -
LMDZ5/trunk/libf/phylmd/phyetat0.F90
r2159 r2188 12 12 du_gwd_rando, dv_gwd_rando, entr_therm, f0, falb1, falb2, fm_therm, & 13 13 ftsol, pbl_tke, pctsrf, q_ancien, radpas, radsol, rain_fall, ratqs, & 14 rlat, rlon, rnebcon, rugoro, sig1, snow_fall, solaire_etat0, sollw, &14 rlat, rlon, rnebcon, rugoro, sig1, snow_fall, solaire_etat0, sollw, sollwdown, & 15 15 solsw, t_ancien, u_ancien, v_ancien, w01, wake_cstar, wake_deltaq, & 16 16 wake_deltat, wake_delta_pbl_TKE, delta_tsurf, wake_fip, wake_pe, & … … 24 24 USE indice_sol_mod, only: nbsrf, is_ter, epsfra, is_lic, is_oce, is_sic 25 25 USE ocean_slab_mod, ONLY: tslab, ocean_slab_init 26 26 27 27 28 IMPLICIT none … … 37 38 include "thermcell.h" 38 39 include "compbl.h" 40 include "YOMCST.h" 39 41 !====================================================================== 40 42 CHARACTER*(*) fichnom … … 53 55 REAL fractint(klon) 54 56 REAL trs(klon, nbtr) 57 REAL zts(klon) 55 58 56 59 CHARACTER*6 ocean_in … … 513 516 PRINT*, 'Rayonnement IF au sol sollw:', xmin, xmax 514 517 518 CALL get_field("sollwdown", sollwdown, found) 519 IF (.NOT. found) THEN 520 PRINT*, 'phyetat0: Le champ <sollwdown> est absent' 521 PRINT*, 'mis a zero' 522 sollwdown = 0. 523 do nsrf=1,nbsrf 524 zts(:)=zts(:)+ftsol(:,nsrf)*pctsrf(:,nsrf) 525 enddo 526 sollwdown(:)=sollw(:)+RSIGMA*zts(:)**4 527 ENDIF 528 print*,'TS SOLL',zts(klon/2),sollw(klon/2),sollwdown(klon/2) 529 xmin = 1.0E+20 530 xmax = -1.0E+20 531 DO i = 1, klon 532 xmin = MIN(sollwdown(i), xmin) 533 xmax = MAX(sollwdown(i), xmax) 534 ENDDO 535 PRINT*, 'Rayonnement IF au sol sollwdown:', xmin, xmax 536 537 515 538 ! Lecture derive des flux: 516 539 -
LMDZ5/trunk/libf/phylmd/phyredem.F90
r2069 r2188 209 209 210 210 CALL put_field("sollw", "Rayonnement IF a la surface", sollw) 211 212 CALL put_field("sollwdown", "Rayonnement down IF a la surface", sollw) 211 213 212 214 CALL put_field("fder", "Derive de flux", fder) -
LMDZ5/trunk/libf/phylmd/physiq.F90
r2181 r2188 1811 1811 !>nrlmd+jyg 1812 1812 pplay, paprs, pctsrf, & 1813 ftsol,falb1,falb2,ustar,u10m,v10m,wstar, &1814 sollwdown, cdragh, cdragm, u1, v1,&1815 albsol1, albsol2, sens, evap, &1813 ftsol,falb1,falb2,ustar,u10m,v10m,wstar, & 1814 cdragh, cdragm, u1, v1, & 1815 albsol1, albsol2, sens, evap, & 1816 1816 albsol3_lic,runoff, snowhgt, qsnow, to_ice, sissnow, & 1817 1817 zxtsol, zxfluxlat, zt2m, qsat2m, & -
LMDZ5/trunk/libf/phylmd/surf_land_mod.F90
r1907 r2188 85 85 REAL, DIMENSION(klon) :: pref_tmp 86 86 REAL, DIMENSION(klon) :: swdown ! downwelling shortwave radiation at land surface 87 REAL, DIMENSION(klon) :: lwdown ! downwelling longwave radiation at land surface88 87 REAL, DIMENSION(klon) :: epot_air ! potential air temperature 89 88 REAL, DIMENSION(klon) :: tsol_rad, emis_new ! output from interfsol not used … … 106 105 pref_tmp(1:knon) = pref(1:knon)/100. 107 106 ! 108 !* Calculate incoming flux for SW and LW interval: swdown , lwdown107 !* Calculate incoming flux for SW and LW interval: swdown 109 108 ! 110 109 swdown(:) = 0.0 111 lwdown(:) = 0.0112 110 DO i = 1, knon 113 111 swdown(i) = swnet(i)/(1-albedo(i)) 114 lwdown(i) = lwnet(i) + RSIGMA*tsurf(i)**4115 112 END DO 116 113 !
Note: See TracChangeset
for help on using the changeset viewer.