Changeset 2640
- Timestamp:
- Sep 29, 2016, 6:42:07 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/physiq_mod.F90
r2639 r2640 3432 3432 ELSE 3433 3433 tausum_aero(:,:,:) = 0. 3434 mass_solu_aero(:,:) = 0. 3435 mass_solu_aero_pi(:,:) = 0. 3434 3436 IF (iflag_rrtm .EQ. 0) THEN !--old radiation 3435 3437 tau_aero(:,:,:,:) = 1.e-15 … … 3582 3584 CALL readchlorophyll(debut) 3583 3585 ENDIF 3584 3585 !3586 !jq - introduce the aerosol direct and first indirect radiative forcings3587 !jq - Johannes Quaas, 27/11/2003 (quaas@lmd.jussieu.fr)3588 IF (flag_aerosol .gt. 0) THEN3589 IF (iflag_rrtm .EQ. 0) THEN !--old radiation3590 IF (.NOT. aerosol_couple) THEN3591 !3592 CALL readaerosol_optic( &3593 debut, new_aod, flag_aerosol, itap, jD_cur-jD_ref, &3594 pdtphys, pplay, paprs, t_seri, rhcl, presnivs, &3595 mass_solu_aero, mass_solu_aero_pi, &3596 tau_aero, piz_aero, cg_aero, &3597 tausum_aero, tau3d_aero)3598 ENDIF3599 ELSE ! RRTM radiation3600 IF (aerosol_couple .AND. config_inca == 'aero' ) THEN3601 abort_message='config_inca=aero et rrtm=1 impossible'3602 call abort_physic(modname,abort_message,1)3603 ELSE3604 !3605 #ifdef CPP_RRTM3606 IF (NSW.EQ.6) THEN3607 !--new aerosol properties3608 !3609 CALL readaerosol_optic_rrtm( debut, aerosol_couple, &3610 new_aod, flag_aerosol, itap, jD_cur-jD_ref, &3611 pdtphys, pplay, paprs, t_seri, rhcl, presnivs, &3612 tr_seri, mass_solu_aero, mass_solu_aero_pi, &3613 tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm, &3614 tausum_aero, tau3d_aero)3615 3616 ELSE IF (NSW.EQ.2) THEN3617 !--for now we use the old aerosol properties3618 !3619 CALL readaerosol_optic( &3620 debut, new_aod, flag_aerosol, itap, jD_cur-jD_ref, &3621 pdtphys, pplay, paprs, t_seri, rhcl, presnivs, &3622 mass_solu_aero, mass_solu_aero_pi, &3623 tau_aero, piz_aero, cg_aero, &3624 tausum_aero, tau3d_aero)3625 !3626 !--natural aerosols3627 tau_aero_sw_rrtm(:,:,1,:)=tau_aero(:,:,3,:)3628 piz_aero_sw_rrtm(:,:,1,:)=piz_aero(:,:,3,:)3629 cg_aero_sw_rrtm (:,:,1,:)=cg_aero (:,:,3,:)3630 !--all aerosols3631 tau_aero_sw_rrtm(:,:,2,:)=tau_aero(:,:,2,:)3632 piz_aero_sw_rrtm(:,:,2,:)=piz_aero(:,:,2,:)3633 cg_aero_sw_rrtm (:,:,2,:)=cg_aero (:,:,2,:)3634 ELSE3635 abort_message='Only NSW=2 or 6 are possible with ' &3636 // 'aerosols and iflag_rrtm=1'3637 call abort_physic(modname,abort_message,1)3638 ENDIF3639 3640 !--call LW optical properties for tropospheric aerosols3641 !--only works for INCA aerosol (aerosol_couple = TRUE)3642 CALL aeropt_lw_rrtm(aerosol_couple,paprs,tr_seri)3643 !3644 #else3645 abort_message='You should compile with -rrtm if running ' &3646 // 'with iflag_rrtm=1'3647 call abort_physic(modname,abort_message,1)3648 #endif3649 !3650 ENDIF3651 ENDIF3652 ELSE3653 tausum_aero(:,:,:) = 0.3654 mass_solu_aero(:,:) = 0.3655 mass_solu_aero_pi(:,:) = 0.3656 IF (iflag_rrtm .EQ. 0) THEN !--old radiation3657 tau_aero(:,:,:,:) = 1.e-153658 piz_aero(:,:,:,:) = 1.3659 cg_aero(:,:,:,:) = 0.3660 ELSE3661 tau_aero_sw_rrtm(:,:,:,:) = 1.e-153662 tau_aero_lw_rrtm(:,:,:,:) = 1.e-153663 piz_aero_sw_rrtm(:,:,:,:) = 1.03664 cg_aero_sw_rrtm(:,:,:,:) = 0.03665 ENDIF3666 ENDIF3667 !3668 !--STRAT AEROSOL3669 !--updates tausum_aero,tau_aero,piz_aero,cg_aero3670 IF (flag_aerosol_strat.GT.0) THEN3671 IF (prt_level .GE.10) THEN3672 PRINT *,'appel a readaerosolstrat', mth_cur3673 ENDIF3674 IF (iflag_rrtm.EQ.0) THEN3675 IF (flag_aerosol_strat.EQ.1) THEN3676 CALL readaerosolstrato(debut)3677 ELSE3678 abort_message='flag_aerosol_strat must equal 1 for rrtm=0'3679 call abort_physic(modname,abort_message,1)3680 ENDIF3681 ELSE3682 #ifdef CPP_RRTM3683 IF (flag_aerosol_strat.EQ.1) THEN3684 CALL readaerosolstrato1_rrtm(debut)3685 ELSEIF (flag_aerosol_strat.EQ.2) THEN3686 CALL stratosphere_mask(t_seri, pplay, latitude_deg)3687 CALL readaerosolstrato2_rrtm(debut)3688 ELSE3689 abort_message='flag_aerosol_strat must equal 1 or 2 for rrtm=1'3690 call abort_physic(modname,abort_message,1)3691 ENDIF3692 #else3693 abort_message='You should compile with -rrtm if running ' &3694 // 'with iflag_rrtm=1'3695 call abort_physic(modname,abort_message,1)3696 #endif3697 ENDIF3698 ENDIF3699 !--fin STRAT AEROSOL3700 3586 3701 3587 !--if ok_suntime_rrtm we use ancillay data for RSUN … … 3830 3716 !albedo SB <<< 3831 3717 t_seri,q_seri,wo, & 3832 cldfra , cldemi, cldtau, &3718 cldfrarad, cldemirad, cldtaurad, & 3833 3719 ok_ade.OR.flag_aerosol_strat.GT.0, ok_aie, flag_aerosol, & 3834 3720 flag_aerosol_strat, &
Note: See TracChangeset
for help on using the changeset viewer.