Changeset 2231


Ignore:
Timestamp:
Mar 12, 2015, 5:46:56 PM (10 years ago)
Author:
oboucher
Message:

Putting minimum values for SW and LW aerosol optical depth values
Putting default value for aerosol single scattering albedo if no aerosol
Doing this consistently in all cases covered by flag_aerosol and flag_aerosol_strat

Location:
LMDZ5/trunk/libf/phylmd
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/physiq.F90

    r2227 r2231  
    30263026        tausum_aero(:,:,:) = 0.
    30273027        IF (iflag_rrtm .EQ. 0) THEN !--old radiation
    3028            tau_aero(:,:,:,:) = 0.
    3029            piz_aero(:,:,:,:) = 0.
     3028           tau_aero(:,:,:,:) = 1.e-15
     3029           piz_aero(:,:,:,:) = 1.
    30303030           cg_aero(:,:,:,:)  = 0.
    30313031        ELSE
    3032            tau_aero_sw_rrtm(:,:,:,:)=0.0
    3033            piz_aero_sw_rrtm(:,:,:,:)=0.0
    3034            cg_aero_sw_rrtm(:,:,:,:)=0.0
     3032           tau_aero_sw_rrtm(:,:,:,:) = 1.e-15
     3033           tau_aero_lw_rrtm(:,:,:,:) = 1.e-15
     3034           piz_aero_sw_rrtm(:,:,:,:) = 1.0
     3035           cg_aero_sw_rrtm(:,:,:,:)  = 0.0
    30353036        ENDIF
    30363037     ENDIF
  • LMDZ5/trunk/libf/phylmd/rrtm/aeropt_6bands_rrtm.F90

    r2216 r2231  
    473473                               tau_ae(i,k,id_ASSSM_phy,inu)+tau_ae(i,k,id_CSSSM_phy,inu)+   &
    474474                               tau_ae(i,k,id_SSSSM_phy,inu)+ tau_ae(i,k,id_CIDUSTM_phy,inu)
    475          tau_allaer(i,k,2,inu)=MAX(tau_allaer(i,k,2,inu),1e-5)
     475         tau_allaer(i,k,2,inu)=MAX(tau_allaer(i,k,2,inu),1e-15)
    476476
    477477         piz_allaer(i,k,2,inu)=(tau_ae(i,k,id_ASSO4M_phy,inu)*piz_ae(i,k,id_ASSO4M_phy,inu)+ &
     
    486486                                tau_ae(i,k,id_CIDUSTM_phy,inu)*piz_ae(i,k,id_CIDUSTM_phy,inu)) &
    487487                                /tau_allaer(i,k,2,inu)
    488          piz_allaer(i,k,2,inu)=MAX(piz_allaer(i,k,2,inu),0.1)
     488         piz_allaer(i,k,2,inu)=MAX(piz_allaer(i,k,2,inu),0.01)
    489489
    490490         cg_allaer(i,k,2,inu)=(tau_ae(i,k,id_ASSO4M_phy,inu)*piz_ae(i,k,id_ASSO4M_phy,inu)*cg_ae(i,k,id_ASSO4M_phy,inu)+ &
     
    506506                               tau_ae_pi(i,k,id_ASSSM_phy,inu)+tau_ae_pi(i,k,id_CSSSM_phy,inu)+   &
    507507                               tau_ae_pi(i,k,id_SSSSM_phy,inu)+ tau_ae_pi(i,k,id_CIDUSTM_phy,inu)
    508          tau_allaer(i,k,1,inu)=MAX(tau_allaer(i,k,1,inu),1e-5)
     508         tau_allaer(i,k,1,inu)=MAX(tau_allaer(i,k,1,inu),1e-15)
    509509
    510510         piz_allaer(i,k,1,inu)=(tau_ae_pi(i,k,id_ASSO4M_phy,inu)*piz_ae(i,k,id_ASSO4M_phy,inu)+ &
     
    519519                                tau_ae_pi(i,k,id_CIDUSTM_phy,inu)*piz_ae(i,k,id_CIDUSTM_phy,inu)) &
    520520                                /tau_allaer(i,k,1,inu)
    521          piz_allaer(i,k,1,inu)=MAX(piz_allaer(i,k,1,inu),0.1)
     521         piz_allaer(i,k,1,inu)=MAX(piz_allaer(i,k,1,inu),0.01)
    522522
    523523         cg_allaer(i,k,1,inu)=(tau_ae_pi(i,k,id_ASSO4M_phy,inu)*piz_ae(i,k,id_ASSO4M_phy,inu)*cg_ae(i,k,id_ASSO4M_phy,inu)+ &
  • LMDZ5/trunk/libf/phylmd/rrtm/aeropt_lw_rrtm.F90

    r2214 r2231  
    99  IMPLICIT NONE
    1010
    11   tau_aero_lw_rrtm(:,:,:,:)=0.0
     11  tau_aero_lw_rrtm(:,:,:,:) = 1.e-15
    1212
    1313END SUBROUTINE AEROPT_LW_RRTM
  • LMDZ5/trunk/libf/phylmd/rrtm/readaerosolstrato_rrtm.F90

    r2183 r2231  
    211211    ENDDO
    212212
     213!--default SSA value if there is no aerosol
     214!--to avoid 0 values that seems to cause some problem to RRTM
     215    WHERE (tau_aero_sw_rrtm.LT.1.e-14)
     216      piz_aero_sw_rrtm = 1.0
     217    ENDWHERE
     218
     219!--in principle this should not be necessary
     220!--as these variables have min values already but just in case
     221!--put 1e-15 min value to both SW and LW AOD
     222    tau_aero_sw_rrtm = MAX(tau_aero_sw_rrtm,1.e-15)
     223    tau_aero_lw_rrtm = MAX(tau_aero_lw_rrtm,1.e-15)
     224
    213225end subroutine readaerosolstrato_rrtm
Note: See TracChangeset for help on using the changeset viewer.