- Timestamp:
- May 21, 2025, 11:03:00 AM (3 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/radlwsw_m.F90
r5664 r5665 10 10 SUBROUTINE radlwsw( & 11 11 debut, dist, rmu0, fract, & 12 !albedo SB >>>13 ! paprs, pplay,tsol,alb1, alb2, &12 !albedo SB >>> 13 ! paprs, pplay,tsol,alb1, alb2, & 14 14 paprs, pplay,tsol,SFRWL,alb_dir, alb_dif, & 15 !albedo SB <<<15 !albedo SB <<< 16 16 t,q,wo,& 17 17 cldfra, cldemi, cldtaupd,& … … 38 38 solsw_aero, solsw0_aero, & 39 39 topswcf_aero, solswcf_aero,& 40 !-C. Kleinschmitt for LW diagnostics40 !-C. Kleinschmitt for LW diagnostics 41 41 toplwad_aero, sollwad_aero,& 42 42 toplwai_aero, sollwai_aero, & 43 43 toplwad0_aero, sollwad0_aero, & 44 !-end44 !-end 45 45 ZLWFT0_i, ZFLDN0, ZFLUP0, & 46 46 ZSWFT0_i, ZFSDN0, ZFSUP0, & … … 310 310 REAL(KIND=8) cloud_cover_sw(klon) 311 311 REAL(KIND=8), dimension(klon,klev+1) :: ZFLUX_DIR_i, & ! Direct compt of surf flux into horizontal plane 312 312 ZFLUX_DIR_CLEAR_i ! CS Direct 313 313 REAL(KIND=8), dimension(klon,klev+1) :: ZFLUX_DIR, & ! Direct compt of surf flux into horizontal plane 314 314 ZFLUX_DIR_CLEAR ! CS Direct 315 315 REAL(KIND=8), dimension(klon) :: ZFLUX_DIR_INTO_SUN 316 316 317 !!!!!!! Declarations specifiques pour ECRAD !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!317 ! Declarations specifiques pour ECRAD ! 318 318 ! AI 02.2021 319 319 #ifdef CPP_ECRAD … … 341 341 ! Interm 342 342 REAL(KIND=8), dimension(klon) :: ZFLUX_UV, & ! UV flux 343 344 345 346 343 ZFLUX_PAR, & ! photosynthetically active radiation similarly 344 ZFLUX_PAR_CLEAR, & ! CS photosynthetically 345 ZFLUX_SW_DN_TOA(klon), & ! DN SW flux at TOA 346 ZEMIS_OUT ! effective broadband emissivity 347 347 REAL(KIND=8), dimension(klon,klev+1) :: ZLWDERIVATIVE ! LW derivatives 348 348 … … 364 364 ZO2_off(klon,klev) ! O2#endif 365 365 #endif 366 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!366 ! 367 367 368 368 REAL(kind=8) POZON(kdlon, kflev, size(wo, 3)) ! mass fraction of ozone 369 369 ! "POZON(:, :, 1)" is for the average day-night field, 370 370 ! "POZON(:, :, 2)" is for daylight time. 371 !!!!! Modif MPL 6.01.09 avec RRTM, on passe de 5 a 6371 ! Modif MPL 6.01.09 avec RRTM, on passe de 5 a 6 372 372 REAL(KIND=8) PAER(kdlon,kflev,6) 373 373 REAL(KIND=8) PCLDLD(kdlon,kflev) … … 424 424 ! "POZON(:, :, 1)" is for the average day-night field, 425 425 ! "POZON(:, :, 2)" is for daylight time. 426 !!!!! Modif MPL 6.01.09 avec RRTM, on passe de 5 a 6426 ! Modif MPL 6.01.09 avec RRTM, on passe de 5 a 6 427 427 REAL(KIND=8) PAER_i(kdlon,kflev,6) 428 428 REAL(KIND=8) PDP_i(klon,klev) … … 562 562 563 563 IF (type_trac == 'repr') THEN 564 IF (CPPKEY_REPROBUS) THEN565 IF (iflag_rrtm==0) THEN566 IF (ok_SUNTIME) PSCT = solaireTIME/zdist/zdist567 print*,'Constante solaire: ',PSCT*zdist*zdist568 ENDIF569 END IF564 IF (CPPKEY_REPROBUS) THEN 565 IF (iflag_rrtm==0) THEN 566 IF (ok_SUNTIME) PSCT = solaireTIME/zdist/zdist 567 print*,'Constante solaire: ',PSCT*zdist*zdist 568 ENDIF 569 END IF 570 570 ENDIF 571 571 … … 597 597 !albedo SB <<< 598 598 599 PEMIS(i) = 1.0 ! !!!!A REVOIR (MPL)599 PEMIS(i) = 1.0 ! A REVOIR (MPL) 600 600 PVIEW(i) = 1.66 601 601 PPSOL(i) = paprs(iof+i,1) … … 646 646 647 647 IF (type_trac == 'repr') THEN 648 IF (CPPKEY_REPROBUS) THEN649 ndimozon = size(wo, 3)650 CALL RAD_INTERACTIF(POZON,iof)651 END IF648 IF (CPPKEY_REPROBUS) THEN 649 ndimozon = size(wo, 3) 650 CALL RAD_INTERACTIF(POZON,iof) 651 END IF 652 652 ENDIF 653 653 ! … … 658 658 ENDDO 659 659 ! 660 !!!!! Modif MPL 6.01.09 avec RRTM, on passe de 5 a 6660 ! Modif MPL 6.01.09 avec RRTM, on passe de 5 a 6 661 661 DO kk = 1, 6 662 662 DO k = 1, kflev 663 663 DO i = 1, kdlon 664 PAER(i,k,kk) = 1.0E-15 ! !!!!A REVOIR (MPL)664 PAER(i,k,kk) = 1.0E-15 ! A REVOIR (MPL) 665 665 ENDDO 666 666 ENDDO … … 679 679 !===== iflag_rrtm ================================================ 680 680 ! 681 IF (iflag_rrtm == 0) THEN ! !!!remettre 0 juste pour tester l'ancien rayt via rrtm681 IF (iflag_rrtm == 0) THEN ! remettre 0 juste pour tester l'ancien rayt via rrtm 682 682 ! 683 683 !--- Mise a zero des tableaux output du rayonnement LW-AR4 ---------- … … 906 906 DO k=1,kflev 907 907 POZON_i(1:klon,k,:)=POZON(1:klon,kflev+1-k,:) 908 !!! POZON_i(1:klon,k)=POZON(1:klon,k) !!! on laisse 1=sol et klev=top908 ! POZON_i(1:klon,k)=POZON(1:klon,k) ! on laisse 1=sol et klev=top 909 909 ! print *,'Juste avant RECMWFL: k tsol temp',k,tsol,t(1,k) 910 !!!!!!! Modif MPL 6.01.09 avec RRTM, on passe de 5 a 6910 ! Modif MPL 6.01.09 avec RRTM, on passe de 5 a 6 911 911 DO i=1,6 912 912 PAER_i(1:klon,k,i)=PAER(1:klon,kflev+1-k,i) … … 989 989 ! & PTOPSWCFAERO,PSOLSWCFAERO,& 990 990 ! & PSWADAERO,& !--NL 991 ! !--LW diagnostics CK991 !--LW diagnostics CK 992 992 ! & PTOPLWADAERO,PSOLLWADAERO,& 993 993 ! & PTOPLWAD0AERO,PSOLLWAD0AERO,& 994 994 ! & PTOPLWAIAERO,PSOLLWAIAERO,& 995 995 ! & PLWADAERO,& !--NL 996 ! !..end996 !..end 997 997 ! & ok_ade, ok_aie, ok_volcan, flag_aerosol,flag_aerosol_strat,& 998 998 ! & flag_aer_feedback) … … 1118 1118 ! 1119 1119 IF (fract(i) == 0.) THEN 1120 !!!!! A REVOIR MPL (20090630) ca n a pas de sens quand fract=01120 ! A REVOIR MPL (20090630) ca n a pas de sens quand fract=0 1121 1121 ! pas plus que dans le sw_AR4 1122 1122 zalbpla(i) = 1.0e+39 … … 1124 1124 zalbpla(i) = ZFSUP(i,klev+1)/ZFSDN(i,klev+1) 1125 1125 ENDIF 1126 !!! 5 juin 20151127 !!! Correction MP bug RRTM1126 ! 5 juin 2015 1127 ! Correction MP bug RRTM 1128 1128 zsollwdown(i)= -1.*ZFLDN(i,1) 1129 1129 ENDDO … … 1317 1317 ! AI mars 2022 1318 1318 SOLARIRAD = solaire/zdist/zdist 1319 ! !diagnos pour la comparaison a la version offline1320 !!! - Gas en VMR pour offline et MMR pour online1321 !!! - on utilise pour solarirrad une valeur constante1319 ! diagnos pour la comparaison a la version offline 1320 ! - Gas en VMR pour offline et MMR pour online 1321 ! - on utilise pour solarirrad une valeur constante 1322 1322 if (lldebug_for_offline) then 1323 1323 SOLARIRAD = 1366.0896 … … 1366 1366 & debut, ok_volcan, flag_aerosol_strat, & 1367 1367 & day_cur, current_time, & 1368 ! Cste solaire/(d_Terre-Soleil)**21368 ! Cste solaire/(d_Terre-Soleil)**2 1369 1369 & SOLARIRAD, & 1370 ! Cos(angle zin), temp sol1370 ! Cos(angle zin), temp sol 1371 1371 & rmu0, tsol, & 1372 ! Albedo diffuse et directe1372 ! Albedo diffuse et directe 1373 1373 & PALBD_NEW,PALBP_NEW, & 1374 ! Emessivite : PEMIS_WINDOW (???), &1374 ! Emessivite : PEMIS_WINDOW (???), & 1375 1375 & ZEMIS, ZEMISW, & 1376 ! longitude(rad), sin(latitude), PMASQ_ ???1376 ! longitude(rad), sin(latitude), PMASQ_ ??? 1377 1377 & ZGELAM, ZGEMU, & 1378 ! Temp et pres aux interf, vapeur eau, Satur spec humid1378 ! Temp et pres aux interf, vapeur eau, Satur spec humid 1379 1379 & paprs_i, ZTH_i, q_i, qsat_i, & 1380 ! Gas1380 ! Gas 1381 1381 & ZCO2, ZCH4, ZN2O, ZNO2, ZCFC11, ZCFC12, ZHCFC22, & 1382 1382 & ZCCL4, POZON_i(:,:,1), ZO2, & 1383 ! nuages :1383 ! nuages : 1384 1384 & cldfra_i, flwc_i, fiwc_i, ZQ_SNOW, & 1385 ! rayons effectifs des gouttelettes1385 ! rayons effectifs des gouttelettes 1386 1386 & ref_liq_i, ref_ice_i, & 1387 ! aerosols1387 ! aerosols 1388 1388 & ZAEROSOL_OLD, ZAEROSOL, & 1389 ! Outputs1390 ! Net flux :1389 ! Outputs 1390 ! Net flux : 1391 1391 & ZSWFT_i, ZLWFT_i, ZSWFT0_ii, ZLWFT0_ii, & 1392 ! DWN flux :1392 ! DWN flux : 1393 1393 & ZFSDWN_i, ZFLUX_i(:,2,:), ZFCDWN_i, ZFLUC_i(:,2,:), & 1394 ! UP flux :1394 ! UP flux : 1395 1395 & ZFSUP_i, ZFLUX_i(:,1,:), ZFCUP_i, ZFLUC_i(:,1,:), & 1396 ! Surf Direct flux : ATTENTION1396 ! Surf Direct flux : ATTENTION 1397 1397 & ZFLUX_DIR_i, ZFLUX_DIR_CLEAR_i, ZFLUX_DIR_INTO_SUN, & 1398 ! UV and para flux1398 ! UV and para flux 1399 1399 & ZFLUX_UV, ZFLUX_PAR, ZFLUX_PAR_CLEAR, & 1400 ! & ZFLUX_SW_DN_TOA,1400 ! & ZFLUX_SW_DN_TOA, 1401 1401 & ZEMIS_OUT, ZLWDERIVATIVE, & 1402 1402 & PSFSWDIF, PSFSWDIR, & … … 1410 1410 & debut, ok_volcan, flag_aerosol_strat, & 1411 1411 & day_cur, current_time, & 1412 ! Cste solaire/(d_Terre-Soleil)**21412 ! Cste solaire/(d_Terre-Soleil)**2 1413 1413 & SOLARIRAD, & 1414 ! Cos(angle zin), temp sol1414 ! Cos(angle zin), temp sol 1415 1415 & rmu0, tsol, & 1416 ! Albedo diffuse et directe1416 ! Albedo diffuse et directe 1417 1417 & PALBD_NEW,PALBP_NEW, & 1418 ! Emessivite : PEMIS_WINDOW (???), &1418 ! Emessivite : PEMIS_WINDOW (???), & 1419 1419 & ZEMIS, ZEMISW, & 1420 ! longitude(rad), sin(latitude), PMASQ_ ???1420 ! longitude(rad), sin(latitude), PMASQ_ ??? 1421 1421 & ZGELAM, ZGEMU, & 1422 ! Temp et pres aux interf, vapeur eau, Satur spec humid1422 ! Temp et pres aux interf, vapeur eau, Satur spec humid 1423 1423 & paprs_i, ZTH_i, q_i, qsat_i, & 1424 ! Gas1424 ! Gas 1425 1425 & ZCO2, ZCH4, ZN2O, ZNO2, ZCFC11, ZCFC12, ZHCFC22, & 1426 1426 & ZCCL4, POZON_i(:,:,1), ZO2, & 1427 ! nuages :1427 ! nuages : 1428 1428 & cldfra_i, flwc_i, fiwc_i, ZQ_SNOW, & 1429 ! rayons effectifs des gouttelettes1429 ! rayons effectifs des gouttelettes 1430 1430 & ref_liq_i, ref_ice_i, & 1431 ! aerosols1431 ! aerosols 1432 1432 & ZAEROSOL_OLD, ZAEROSOL, & 1433 ! Outputs1434 ! Net flux :1433 ! Outputs 1434 ! Net flux : 1435 1435 & ZSWFT_i, ZLWFT_i, ZSWFT0_ii, ZLWFT0_ii, & 1436 ! DWN flux :1436 ! DWN flux : 1437 1437 & ZFSDWN_i, ZFLUX_i(:,2,:), ZFCDWN_i, ZFLUC_i(:,2,:), & 1438 ! UP flux :1438 ! UP flux : 1439 1439 & ZFSUP_i, ZFLUX_i(:,1,:), ZFCUP_i, ZFLUC_i(:,1,:), & 1440 ! Surf Direct flux : ATTENTION1440 ! Surf Direct flux : ATTENTION 1441 1441 & ZFLUX_DIR_i, ZFLUX_DIR_CLEAR_i, ZFLUX_DIR_INTO_SUN, & 1442 ! UV and para flux1442 ! UV and para flux 1443 1443 & ZFLUX_UV, ZFLUX_PAR, ZFLUX_PAR_CLEAR, & 1444 ! & ZFLUX_SW_DN_TOA,1444 ! & ZFLUX_SW_DN_TOA, 1445 1445 & ZEMIS_OUT, ZLWDERIVATIVE, & 1446 1446 & PSFSWDIF, PSFSWDIR, &
Note: See TracChangeset
for help on using the changeset viewer.