Changeset 2366 for LMDZ5/trunk
- Timestamp:
- Sep 21, 2015, 10:41:04 PM (9 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90
r2351 r2366 164 164 SWdn200, SWdn200clr, LWup200, LWup200clr, & 165 165 LWdn200, LWdn200clr, solsw, solsw0, sollw, & 166 radsol, s ollw0, sollwdown, sollw, gustiness, &166 radsol, swradcorr, sollw0, sollwdown, sollw, gustiness, & 167 167 sollwdownclr, lwdn0, ftsol, ustar, u10m, & 168 168 v10m, pbl_tke, wake_delta_pbl_TKE, & … … 424 424 CALL histwrite_phy(o_fsnow, zfra_o) 425 425 CALL histwrite_phy(o_evap, evap) 426 CALL histwrite_phy(o_tops, topsw )427 CALL histwrite_phy(o_tops0, topsw0 )426 CALL histwrite_phy(o_tops, topsw*swradcorr) 427 CALL histwrite_phy(o_tops0, topsw0*swradcorr) 428 428 CALL histwrite_phy(o_topl, toplw) 429 429 CALL histwrite_phy(o_topl0, toplw0) 430 430 431 431 IF (vars_defined) THEN 432 zx_tmp_fi2d( 1 : klon) = swup ( 1 : klon, klevp1)432 zx_tmp_fi2d(:) = swup(:,klevp1)*swradcorr(:) 433 433 ENDIF 434 434 CALL histwrite_phy(o_SWupTOA, zx_tmp_fi2d) 435 435 436 436 IF (vars_defined) THEN 437 zx_tmp_fi2d( 1 : klon) = swup0 ( 1 : klon, klevp1)437 zx_tmp_fi2d(:) = swup0(:,klevp1)*swradcorr(:) 438 438 ENDIF 439 439 CALL histwrite_phy(o_SWupTOAclr, zx_tmp_fi2d) 440 440 441 441 IF (vars_defined) THEN 442 zx_tmp_fi2d( 1 : klon) = swdn ( 1 : klon, klevp1)442 zx_tmp_fi2d(:) = swdn(:,klevp1)*swradcorr(:) 443 443 ENDIF 444 444 CALL histwrite_phy(o_SWdnTOA, zx_tmp_fi2d) 445 445 446 446 IF (vars_defined) THEN 447 zx_tmp_fi2d( 1 : klon) = swdn0 ( 1 : klon, klevp1)447 zx_tmp_fi2d(:) = swdn0(:,klevp1)*swradcorr(:) 448 448 ENDIF 449 449 CALL histwrite_phy(o_SWdnTOAclr, zx_tmp_fi2d) 450 450 451 451 IF (vars_defined) THEN 452 zx_tmp_fi2d(:) = topsw(:) -toplw(:)452 zx_tmp_fi2d(:) = topsw(:)*swradcorr(:)-toplw(:) 453 453 ENDIF 454 454 CALL histwrite_phy(o_nettop, zx_tmp_fi2d) 455 CALL histwrite_phy(o_SWup200, SWup200 )456 CALL histwrite_phy(o_SWup200clr, SWup200clr )457 CALL histwrite_phy(o_SWdn200, SWdn200 )458 CALL histwrite_phy(o_SWdn200clr, SWdn200clr )455 CALL histwrite_phy(o_SWup200, SWup200*swradcorr) 456 CALL histwrite_phy(o_SWup200clr, SWup200clr*swradcorr) 457 CALL histwrite_phy(o_SWdn200, SWdn200*swradcorr) 458 CALL histwrite_phy(o_SWdn200clr, SWdn200clr*swradcorr) 459 459 CALL histwrite_phy(o_LWup200, LWup200) 460 460 CALL histwrite_phy(o_LWup200clr, LWup200clr) 461 461 CALL histwrite_phy(o_LWdn200, LWdn200) 462 462 CALL histwrite_phy(o_LWdn200clr, LWdn200clr) 463 CALL histwrite_phy(o_sols, solsw )464 CALL histwrite_phy(o_sols0, solsw0 )463 CALL histwrite_phy(o_sols, solsw*swradcorr) 464 CALL histwrite_phy(o_sols0, solsw0*swradcorr) 465 465 CALL histwrite_phy(o_soll, sollw) 466 CALL histwrite_phy(o_soll0, sollw0) 466 467 CALL histwrite_phy(o_radsol, radsol) 467 CALL histwrite_phy(o_soll0, sollw0) 468 469 IF (vars_defined) THEN 470 zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 ) 468 469 IF (vars_defined) THEN 470 zx_tmp_fi2d(:) = swup(:,1)*swradcorr(:) 471 471 ENDIF 472 472 CALL histwrite_phy(o_SWupSFC, zx_tmp_fi2d) 473 473 474 474 IF (vars_defined) THEN 475 zx_tmp_fi2d( 1 : klon) = swup0 ( 1 : klon, 1)475 zx_tmp_fi2d(:) = swup0(:,1)*swradcorr(:) 476 476 ENDIF 477 477 CALL histwrite_phy(o_SWupSFCclr, zx_tmp_fi2d) 478 478 479 479 IF (vars_defined) THEN 480 zx_tmp_fi2d( 1 : klon) = swdn ( 1 : klon, 1)480 zx_tmp_fi2d(:) = swdn(:,1)*swradcorr(:) 481 481 ENDIF 482 482 CALL histwrite_phy(o_SWdnSFC, zx_tmp_fi2d) 483 483 484 484 IF (vars_defined) THEN 485 zx_tmp_fi2d( 1 : klon) = swdn0 ( 1 : klon, 1)485 zx_tmp_fi2d(:) = swdn0(:,1)*swradcorr(:) 486 486 ENDIF 487 487 CALL histwrite_phy(o_SWdnSFCclr, zx_tmp_fi2d) 488 488 489 489 IF (vars_defined) THEN 490 zx_tmp_fi2d( 1:klon)=sollwdown(1:klon)-sollw(1:klon)490 zx_tmp_fi2d(:)=sollwdown(:)-sollw(:) 491 491 ENDIF 492 492 CALL histwrite_phy(o_LWupSFC, zx_tmp_fi2d) … … 901 901 ENDIF 902 902 IF (ok_ade) THEN 903 CALL histwrite_phy(o_topswad, topswad_aero )904 CALL histwrite_phy(o_topswad0, topswad0_aero )905 CALL histwrite_phy(o_solswad, solswad_aero )906 CALL histwrite_phy(o_solswad0, solswad0_aero )903 CALL histwrite_phy(o_topswad, topswad_aero*swradcorr) 904 CALL histwrite_phy(o_topswad0, topswad0_aero*swradcorr) 905 CALL histwrite_phy(o_solswad, solswad_aero*swradcorr) 906 CALL histwrite_phy(o_solswad0, solswad0_aero*swradcorr) 907 907 CALL histwrite_phy(o_toplwad, toplwad_aero) 908 908 CALL histwrite_phy(o_toplwad0, toplwad0_aero) … … 911 911 !====MS forcing diagnostics 912 912 if (new_aod) then 913 CALL histwrite_phy(o_swtoaas_nat, topsw_aero(:,1)) 914 CALL histwrite_phy(o_swsrfas_nat, solsw_aero(:,1)) 915 CALL histwrite_phy(o_swtoacs_nat, topsw0_aero(:,1)) 916 CALL histwrite_phy(o_swsrfcs_nat, solsw0_aero(:,1)) 913 zx_tmp_fi2d(:)=topsw_aero(:,1)*swradcorr(:) 914 CALL histwrite_phy(o_swtoaas_nat,zx_tmp_fi2d) 915 zx_tmp_fi2d(:)=solsw_aero(:,1)*swradcorr(:) 916 CALL histwrite_phy(o_swsrfas_nat,zx_tmp_fi2d) 917 zx_tmp_fi2d(:)=topsw0_aero(:,1)*swradcorr(:) 918 CALL histwrite_phy(o_swtoacs_nat,zx_tmp_fi2d) 919 zx_tmp_fi2d(:)=solsw0_aero(:,1)*swradcorr(:) 920 CALL histwrite_phy(o_swsrfcs_nat,zx_tmp_fi2d) 917 921 !ant 918 CALL histwrite_phy(o_swtoaas_ant, topsw_aero(:,2)) 919 CALL histwrite_phy(o_swsrfas_ant, solsw_aero(:,2)) 920 CALL histwrite_phy(o_swtoacs_ant, topsw0_aero(:,2)) 921 CALL histwrite_phy(o_swsrfcs_ant, solsw0_aero(:,2)) 922 zx_tmp_fi2d(:)=topsw_aero(:,2)*swradcorr(:) 923 CALL histwrite_phy(o_swtoaas_ant,zx_tmp_fi2d) 924 zx_tmp_fi2d(:)=solsw_aero(:,2)*swradcorr(:) 925 CALL histwrite_phy(o_swsrfas_ant,zx_tmp_fi2d) 926 zx_tmp_fi2d(:)=topsw0_aero(:,2)*swradcorr(:) 927 CALL histwrite_phy(o_swtoacs_ant,zx_tmp_fi2d) 928 zx_tmp_fi2d(:)=solsw0_aero(:,2)*swradcorr(:) 929 CALL histwrite_phy(o_swsrfcs_ant,zx_tmp_fi2d) 922 930 !cf 923 931 if (.not. aerosol_couple) then 924 CALL histwrite_phy(o_swtoacf_nat, topswcf_aero(:,1)) 925 CALL histwrite_phy(o_swsrfcf_nat, solswcf_aero(:,1)) 926 CALL histwrite_phy(o_swtoacf_ant, topswcf_aero(:,2)) 927 CALL histwrite_phy(o_swsrfcf_ant, solswcf_aero(:,2)) 928 CALL histwrite_phy(o_swtoacf_zero,topswcf_aero(:,3)) 929 CALL histwrite_phy(o_swsrfcf_zero,solswcf_aero(:,3)) 932 zx_tmp_fi2d(:)=topswcf_aero(:,1)*swradcorr(:) 933 CALL histwrite_phy(o_swtoacf_nat,zx_tmp_fi2d) 934 zx_tmp_fi2d(:)=solswcf_aero(:,1)*swradcorr(:) 935 CALL histwrite_phy(o_swsrfcf_nat,zx_tmp_fi2d) 936 zx_tmp_fi2d(:)=topswcf_aero(:,2)*swradcorr(:) 937 CALL histwrite_phy(o_swtoacf_ant,zx_tmp_fi2d) 938 zx_tmp_fi2d(:)=solswcf_aero(:,2)*swradcorr(:) 939 CALL histwrite_phy(o_swsrfcf_ant,zx_tmp_fi2d) 940 zx_tmp_fi2d(:)=topswcf_aero(:,3)*swradcorr(:) 941 CALL histwrite_phy(o_swtoacf_zero,zx_tmp_fi2d) 942 zx_tmp_fi2d(:)=solswcf_aero(:,3)*swradcorr(:) 943 CALL histwrite_phy(o_swsrfcf_zero,zx_tmp_fi2d) 930 944 endif 931 945 endif ! new_aod … … 933 947 ENDIF 934 948 IF (ok_aie) THEN 935 CALL histwrite_phy(o_topswai, topswai_aero )936 CALL histwrite_phy(o_solswai, solswai_aero )949 CALL histwrite_phy(o_topswai, topswai_aero*swradcorr) 950 CALL histwrite_phy(o_solswai, solswai_aero*swradcorr) 937 951 ENDIF 938 952 IF (flag_aerosol.GT.0.AND.ok_cdnc) THEN … … 1250 1264 ENDIF 1251 1265 1252 CALL histwrite_phy(o_rsu, swup) 1253 CALL histwrite_phy(o_rsd, swdn) 1266 DO k=1, klevp1 1267 zx_tmp_fi3d1(:,k)=swup(:,k)*swradcorr(:) 1268 ENDDO 1269 CALL histwrite_phy(o_rsu, zx_tmp_fi3d1) 1270 DO k=1, klevp1 1271 zx_tmp_fi3d1(:,k)=swdn(:,k)*swradcorr(:) 1272 ENDDO 1273 CALL histwrite_phy(o_rsd, zx_tmp_fi3d1) 1274 DO k=1, klevp1 1275 zx_tmp_fi3d1(:,k)=swup0(:,k)*swradcorr(:) 1276 ENDDO 1277 CALL histwrite_phy(o_rsucs, zx_tmp_fi3d1) 1278 DO k=1, klevp1 1279 zx_tmp_fi3d1(:,k)=swdn0(:,k)*swradcorr(:) 1280 ENDDO 1281 CALL histwrite_phy(o_rsdcs, zx_tmp_fi3d1) 1282 1254 1283 CALL histwrite_phy(o_rlu, lwup) 1255 1284 CALL histwrite_phy(o_rld, lwdn) 1256 CALL histwrite_phy(o_rsucs, swup0)1257 CALL histwrite_phy(o_rsdcs, swdn0)1258 1285 CALL histwrite_phy(o_rlucs, lwup0) 1259 1286 CALL histwrite_phy(o_rldcs, lwdn0) 1287 1260 1288 IF(vars_defined) THEN 1261 1289 zx_tmp_fi3d(1:klon,1:klev)=d_t(1:klon,1:klev)+ & … … 1263 1291 ENDIF 1264 1292 CALL histwrite_phy(o_tnt, zx_tmp_fi3d) 1293 1265 1294 IF(vars_defined) THEN 1266 1295 zx_tmp_fi3d(1:klon,1:klev)=d_t_swr(1:klon,1:klev)/pdtphys + & … … 1310 1339 RN2O_per.NE.RN2O_act.OR.RCFC11_per.NE.RCFC11_act.OR. & 1311 1340 RCFC12_per.NE.RCFC12_act) THEN 1312 IF(vars_defined) zx_tmp_fi2d( 1 : klon) = swupp ( 1 : klon, klevp1)1341 IF(vars_defined) zx_tmp_fi2d(:) = swupp(:,klevp1)*swradcorr(:) 1313 1342 CALL histwrite_phy(o_rsut4co2, zx_tmp_fi2d) 1314 IF(vars_defined) zx_tmp_fi2d( 1 : klon) = lwupp ( 1 : klon, klevp1)1343 IF(vars_defined) zx_tmp_fi2d(:) = lwupp(:,klevp1) 1315 1344 CALL histwrite_phy(o_rlut4co2, zx_tmp_fi2d) 1316 IF(vars_defined) zx_tmp_fi2d( 1 : klon) = swup0p ( 1 : klon, klevp1)1345 IF(vars_defined) zx_tmp_fi2d(:) = swup0p(:,klevp1)*swradcorr(:) 1317 1346 CALL histwrite_phy(o_rsutcs4co2, zx_tmp_fi2d) 1318 IF(vars_defined) zx_tmp_fi2d( 1 : klon) = lwup0p ( 1 : klon, klevp1)1347 IF(vars_defined) zx_tmp_fi2d(:) = lwup0p(:,klevp1) 1319 1348 CALL histwrite_phy(o_rlutcs4co2, zx_tmp_fi2d) 1320 CALL histwrite_phy(o_rsu4co2, swupp) 1349 DO k=1, klevp1 1350 zx_tmp_fi3d1(:,k)=swupp(:,k)*swradcorr(:) 1351 ENDDO 1352 CALL histwrite_phy(o_rsu4co2, zx_tmp_fi3d1) 1353 DO k=1, klevp1 1354 zx_tmp_fi3d1(:,k)=swup0p(:,k)*swradcorr(:) 1355 ENDDO 1356 CALL histwrite_phy(o_rsucs4co2, zx_tmp_fi3d1) 1357 DO k=1, klevp1 1358 zx_tmp_fi3d1(:,k)=swdnp(:,k)*swradcorr(:) 1359 ENDDO 1360 CALL histwrite_phy(o_rsd4co2, zx_tmp_fi3d1) 1361 DO k=1, klevp1 1362 zx_tmp_fi3d1(:,k)=swdn0p(:,k)*swradcorr(:) 1363 ENDDO 1364 CALL histwrite_phy(o_rsdcs4co2, zx_tmp_fi3d1) 1321 1365 CALL histwrite_phy(o_rlu4co2, lwupp) 1322 CALL histwrite_phy(o_rsucs4co2, swup0p)1323 1366 CALL histwrite_phy(o_rlucs4co2, lwup0p) 1324 CALL histwrite_phy(o_rsd4co2, swdnp)1325 1367 CALL histwrite_phy(o_rld4co2, lwdnp) 1326 CALL histwrite_phy(o_rsdcs4co2, swdn0p)1327 1368 CALL histwrite_phy(o_rldcs4co2, lwdn0p) 1328 1369 ENDIF -
LMDZ5/trunk/libf/phylmd/phys_state_var_mod.F90
r2359 r2366 48 48 REAL, ALLOCATABLE, SAVE :: radsol(:) 49 49 !$OMP THREADPRIVATE(radsol) 50 REAL, ALLOCATABLE, SAVE :: swradcorr(:) 51 !$OMP THREADPRIVATE(swradcorr) 50 52 51 53 !clesphy0 param physiq … … 97 99 !$OMP THREADPRIVATE(clwcon0th,rnebcon0th) 98 100 ! radiation outputs 99 REAL,ALLOCATABLE,SAVE :: zswdn0(:,:), zswdn(:,:)100 !$OMP THREADPRIVATE(zswdn0,zswdn)101 REAL,ALLOCATABLE,SAVE :: zswup0(:,:), zswup(:,:)102 !$OMP THREADPRIVATE(zswup0,zswup)103 101 REAL,ALLOCATABLE,SAVE :: swdn0(:,:), swdn(:,:) 104 102 !$OMP THREADPRIVATE(swdn0,swdn) … … 344 342 REAL,ALLOCATABLE,SAVE :: lwup0p(:,:), lwupp(:,:) 345 343 !$OMP THREADPRIVATE(lwdn0p, lwdnp, lwup0p, lwupp) 346 REAL,ALLOCATABLE,SAVE :: zswdn0p(:,:), zswdnp(:,:)347 REAL,ALLOCATABLE,SAVE :: zswup0p(:,:), zswupp(:,:)348 !$OMP THREADPRIVATE(zswdn0p, zswdnp, zswup0p, zswupp)349 344 REAL,ALLOCATABLE,SAVE :: swdn0p(:,:), swdnp(:,:) 350 345 REAL,ALLOCATABLE,SAVE :: swup0p(:,:), swupp(:,:) … … 440 435 ALLOCATE(solsw(klon), sollw(klon)) 441 436 ALLOCATE(radsol(klon)) 437 ALLOCATE(swradcorr(klon)) 442 438 ALLOCATE(zmea(klon), zstd(klon), zsig(klon), zgam(klon)) 443 439 ALLOCATE(zthe(klon), zpic(klon), zval(klon)) … … 465 461 ALLOCATE(clwcon0th(klon,klev),rnebcon0th(klon,klev)) 466 462 ! radiation outputs 467 ALLOCATE(zswdn0(klon,klevp1), zswdn(klon,klevp1))468 ALLOCATE(zswup0(klon,klevp1), zswup(klon,klevp1))469 463 ALLOCATE(swdn0(klon,klevp1), swdn(klon,klevp1)) 470 464 ALLOCATE(swup0(klon,klevp1), swup(klon,klevp1)) … … 566 560 ALLOCATE(lwdn0p(klon,klevp1), lwdnp(klon,klevp1)) 567 561 ALLOCATE(lwup0p(klon,klevp1), lwupp(klon,klevp1)) 568 ALLOCATE(zswdn0p(klon,klevp1), zswdnp(klon,klevp1))569 ALLOCATE(zswup0p(klon,klevp1), zswupp(klon,klevp1))570 562 ALLOCATE(swdn0p(klon,klevp1), swdnp(klon,klevp1)) 571 563 ALLOCATE(swup0p(klon,klevp1), swupp(klon,klevp1)) … … 605 597 deallocate(rlat, rlon, pctsrf, ftsol, falb1, falb2) 606 598 deallocate(qsol,fevap,z0m,z0h,agesno) 607 deallocate(rain_fall, snow_fall, solsw, sollw, radsol )599 deallocate(rain_fall, snow_fall, solsw, sollw, radsol, swradcorr) 608 600 deallocate(zmea, zstd, zsig, zgam) 609 601 deallocate(zthe, zpic, zval) … … 622 614 deallocate(clwcon0th, rnebcon0th) 623 615 ! radiation outputs 624 deallocate(zswdn0, zswdn)625 deallocate(zswup0, zswup)626 616 deallocate(swdn0, swdn) 627 617 deallocate(swup0, swup) … … 700 690 deallocate(lwdn0p, lwdnp) 701 691 deallocate(lwup0p, lwupp) 702 deallocate(zswdn0p, zswdnp)703 deallocate(zswup0p, zswupp)704 692 deallocate(swdn0p, swdnp) 705 693 deallocate(swup0p, swupp) -
LMDZ5/trunk/libf/phylmd/physiq.F90
r2363 r2366 590 590 ! 591 591 REAL dist, rmu0(klon), fract(klon) 592 REAL zrmu0(klon), zfract(klon) , swradcorr(klon)592 REAL zrmu0(klon), zfract(klon) 593 593 REAL zdtime, zdtime1, zdtime2, zlongi 594 594 ! … … 1846 1846 ! Comme cette routine est appele a tous les pas de temps de la physique 1847 1847 ! meme si le rayonnement n'est pas appele je remonte en arriere les 1848 ! radpas-1 pas de temps suivant. Petite ruse pour prendre en compte le1849 ! premier pas de temps la physique ouitaprad=01848 ! radpas-1 pas de temps suivant. Petite ruse avec MOD pour prendre en 1849 ! compte le premier pas de temps de la physique pendant lequel itaprad=0 1850 1850 zdtime1=dtime*REAL(-MOD(itaprad,4)-1) 1851 1851 zdtime2=dtime*REAL(radpas-MOD(itaprad,4)-1) … … 3586 3586 topsw0,toplw0,solsw0,sollw0, & 3587 3587 lwdn0, lwdn, lwup0, lwup, & 3588 zswdn0, zswdn, zswup0, zswup, &3588 swdn0, swdn, swup0, swup, & 3589 3589 ok_ade, ok_aie, & 3590 3590 tau_aero, piz_aero, cg_aero, & … … 3627 3627 zqsat, flwc, fiwc, & 3628 3628 ref_liq, ref_ice, ref_liq_pi, ref_ice_pi, & 3629 heat,heat0,cool,cool0, radsol,albpla, &3629 heat,heat0,cool,cool0,albpla, & 3630 3630 topsw,toplw,solsw,sollw, & 3631 3631 sollwdown, & 3632 3632 topsw0,toplw0,solsw0,sollw0, & 3633 3633 lwdn0, lwdn, lwup0, lwup, & 3634 zswdn0, zswdn, zswup0, zswup, &3634 swdn0, swdn, swup0, swup, & 3635 3635 topswad_aero, solswad_aero, & 3636 3636 topswai_aero, solswai_aero, & … … 3683 3683 zqsat, flwc, fiwc, & 3684 3684 ref_liq, ref_ice, ref_liq_pi, ref_ice_pi, & 3685 heatp,heat0p,coolp,cool0p, radsolp,albplap, &3685 heatp,heat0p,coolp,cool0p,albplap, & 3686 3686 topswp,toplwp,solswp,sollwp, & 3687 3687 sollwdownp, & 3688 3688 topsw0p,toplw0p,solsw0p,sollw0p, & 3689 3689 lwdn0p, lwdnp, lwup0p, lwupp, & 3690 zswdn0p, zswdnp, zswup0p, zswupp, &3690 swdn0p, swdnp, swup0p, swupp, & 3691 3691 topswad_aerop, solswad_aerop, & 3692 3692 topswai_aerop, solswai_aerop, & … … 3730 3730 swup=0. ! MPL 27102011 pour les fichiers AMMA_profiles et AMMA_scalars 3731 3731 swup0=0. 3732 zswdn=0.3733 zswdn0=0.3734 3732 lwup=0. 3735 3733 lwup0=0. … … 3739 3737 3740 3738 ! 3741 ! Corriger les flux SW pour le cycle diurne ameliore 3739 ! Calculer radsol a l'exterieur de radlwsw 3740 ! pour prendre en compte le cycle diurne 3742 3741 ! recode par Olivier Boucher en sept 2015 3743 3742 ! 3744 3745 DO k=1, klev+1 3746 swdn0(:,k)=swradcorr(:)*zswdn0(:,k) 3747 swdn(:,k) =swradcorr(:)*zswdn(:,k) 3748 swup0(:,k)=swradcorr(:)*zswup0(:,k) 3749 swup(:,k) =swradcorr(:)*zswup(:,k) 3750 ENDDO 3743 radsol=solsw*swradcorr+sollw 3751 3744 if (ok_4xCO2atm) then 3752 DO k=1, klev+1 3753 swdn0p(:,k)=swradcorr(:)*zswdn0p(:,k) 3754 swdnp(:,k) =swradcorr(:)*zswdnp(:,k) 3755 swup0p(:,k)=swradcorr(:)*zswup0p(:,k) 3756 swupp(:,k) =swradcorr(:)*zswupp(:,k) 3757 ENDDO 3745 radsolp=solswp*swradcorr+sollwp 3758 3746 endif 3759 3747 3760 3748 ! 3761 3749 ! Ajouter la tendance des rayonnements (tous les pas) 3750 ! avec une correction pour le cycle diurne dans le SW 3762 3751 ! 3763 3752 -
LMDZ5/trunk/libf/phylmd/radlwsw_m.F90
r2320 r2366 24 24 qsat, flwc, fiwc, & 25 25 ref_liq, ref_ice, ref_liq_pi, ref_ice_pi, & 26 heat,heat0,cool,cool0, radsol,albpla,&26 heat,heat0,cool,cool0,albpla,& 27 27 topsw,toplw,solsw,sollw,& 28 28 sollwdown,& … … 111 111 ! heat-----output-R- echauffement atmospherique (visible) (K/jour) 112 112 ! cool-----output-R- refroidissement dans l'IR (K/jour) 113 ! radsol---output-R- bilan radiatif net au sol (W/m**2) (+ vers le bas)114 113 ! albpla---output-R- albedo planetaire (entre 0 et 1) 115 114 ! topsw----output-R- flux solaire net au sommet de l'atm. … … 224 223 REAL, INTENT(out) :: heat(KLON,KLEV), cool(KLON,KLEV) 225 224 REAL, INTENT(out) :: heat0(KLON,KLEV), cool0(KLON,KLEV) 226 REAL, INTENT(out) :: radsol(KLON),topsw(KLON), toplw(KLON)225 REAL, INTENT(out) :: topsw(KLON), toplw(KLON) 227 226 REAL, INTENT(out) :: solsw(KLON), sollw(KLON), albpla(KLON) 228 227 REAL, INTENT(out) :: topsw0(KLON), toplw0(KLON), solsw0(KLON), sollw0(KLON) … … 1032 1031 1033 1032 DO i = 1, kdlon 1034 radsol(iof+i) = zsolsw(i) + zsollw(i)1035 1033 topsw(iof+i) = ztopsw(i) 1036 1034 toplw(iof+i) = ztoplw(i)
Note: See TracChangeset
for help on using the changeset viewer.