Ignore:
Timestamp:
Dec 13, 2018, 1:07:06 PM (6 years ago)
Author:
Laurent Fairhead
Message:

Followup to r3408 modifications for VolMIP
NL

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/IPSLCM6.0.15/libf/phylmd/rrtm/readaerosolstrato2_rrtm.F90

    r3408 r3425  
    22! $Id: readaerosolstrato2_rrtm.F90 2526 2016-05-26 22:13:40Z oboucher $
    33!
    4 SUBROUTINE readaerosolstrato2_rrtm(debut)
     4SUBROUTINE readaerosolstrato2_rrtm(debut, ok_volcan)
    55
    66    USE netcdf95, ONLY: nf95_close, nf95_gw_var, nf95_inq_dimid, &
     
    2929! Variable input
    3030    LOGICAL, INTENT(IN) ::  debut
     31    LOGICAL, INTENT(IN) ::  ok_volcan !activate volcanic diags
    3132
    3233! Variables locales
     
    290291    ENDDO
    291292
     293    IF ( .not. ok_volcan) THEN
    292294!--weighted average for cg, piz and tau, adding strat aerosols on top of tropospheric ones
    293295    DO band=1, NSW
     
    303305        tau_aero_sw_rrtm(:,:,2,band)  = tau_aero_sw_rrtm(:,:,2,band) + tau_aer_strat(:,:,band)
    304306!--natural aerosols bands 1 to NSW
    305 !        cg_aero_sw_rrtm(:,:,1,band)  = ( cg_aero_sw_rrtm(:,:,1,band)*piz_aero_sw_rrtm(:,:,1,band)*tau_aero_sw_rrtm(:,:,1,band) + &
    306 !                                         cg_aer_strat(:,:,band)*piz_aer_strat(:,:,band)*tau_aer_strat(:,:,band) ) /              &
    307 !                                    MAX( piz_aero_sw_rrtm(:,:,1,band)*tau_aero_sw_rrtm(:,:,1,band) +                             &
    308 !                                         piz_aer_strat(:,:,band)*tau_aer_strat(:,:,band), 1.e-15 )
    309 !        piz_aero_sw_rrtm(:,:,1,band) = ( piz_aero_sw_rrtm(:,:,1,band)*tau_aero_sw_rrtm(:,:,1,band) +                             &
    310 !                                         piz_aer_strat(:,:,band)*tau_aer_strat(:,:,band) ) /                                     &
    311 !                                    MAX( tau_aero_sw_rrtm(:,:,1,band) + tau_aer_strat(:,:,band), 1.e-15 )
    312 !        tau_aero_sw_rrtm(:,:,1,band)  = tau_aero_sw_rrtm(:,:,1,band) + tau_aer_strat(:,:,band)
     307! BEWARE: if you change stings here, you'll also need to change them a few
     308! lines down after the ELSE
     309        cg_aero_sw_rrtm(:,:,1,band)  = ( cg_aero_sw_rrtm(:,:,1,band)*piz_aero_sw_rrtm(:,:,1,band)*tau_aero_sw_rrtm(:,:,1,band) + &
     310                cg_aer_strat(:,:,band)*piz_aer_strat(:,:,band)*tau_aer_strat(:,:,band) ) /              &
     311                MAX( piz_aero_sw_rrtm(:,:,1,band)*tau_aero_sw_rrtm(:,:,1,band) +                             &
     312                piz_aer_strat(:,:,band)*tau_aer_strat(:,:,band), 1.e-15 )
     313        piz_aero_sw_rrtm(:,:,1,band) = ( piz_aero_sw_rrtm(:,:,1,band)*tau_aero_sw_rrtm(:,:,1,band) +                             &
     314                piz_aer_strat(:,:,band)*tau_aer_strat(:,:,band) ) /                                     &
     315                MAX( tau_aero_sw_rrtm(:,:,1,band) + tau_aer_strat(:,:,band), 1.e-15 )
     316        tau_aero_sw_rrtm(:,:,1,band)  = tau_aero_sw_rrtm(:,:,1,band) + tau_aer_strat(:,:,band)
     317    ENDWHERE
     318    ENDDO
    313319!--no stratospheric aerosol in index 1 for these tests
     320    ELSE
     321!--weighted average for cg, piz and tau, adding strat aerosols on top of tropospheric ones
     322    DO band=1, NSW
     323      WHERE (stratomask.GT.0.999999)
     324!--anthropogenic aerosols bands 1 to NSW
     325        cg_aero_sw_rrtm(:,:,2,band)  = ( cg_aero_sw_rrtm(:,:,2,band)*piz_aero_sw_rrtm(:,:,2,band)*tau_aero_sw_rrtm(:,:,2,band) + &
     326                                         cg_aer_strat(:,:,band)*piz_aer_strat(:,:,band)*tau_aer_strat(:,:,band) ) /              &
     327                                    MAX( piz_aero_sw_rrtm(:,:,2,band)*tau_aero_sw_rrtm(:,:,2,band) +                             &
     328                                         piz_aer_strat(:,:,band)*tau_aer_strat(:,:,band), 1.e-15 )
     329        piz_aero_sw_rrtm(:,:,2,band) = ( piz_aero_sw_rrtm(:,:,2,band)*tau_aero_sw_rrtm(:,:,2,band) +                             &
     330                                         piz_aer_strat(:,:,band)*tau_aer_strat(:,:,band) ) /                                     &
     331                                    MAX( tau_aero_sw_rrtm(:,:,2,band) + tau_aer_strat(:,:,band), 1.e-15 )
     332        tau_aero_sw_rrtm(:,:,2,band)  = tau_aero_sw_rrtm(:,:,2,band) + tau_aer_strat(:,:,band)
     333!--natural aerosols bands 1 to NSW
    314334        cg_aero_sw_rrtm(:,:,1,band)  =  cg_aero_sw_rrtm(:,:,1,band)
    315335        piz_aero_sw_rrtm(:,:,1,band)  = piz_aero_sw_rrtm(:,:,1,band)
    316336        tau_aero_sw_rrtm(:,:,1,band)  = tau_aero_sw_rrtm(:,:,1,band)
    317     ENDWHERE
    318     ENDDO
     337     ENDWHERE
     338  ENDDO
     339  ENDIF
    319340
    320341!--total vertical aod at 10 um
     
    331352    ENDDO
    332353
     354    IF ( .not. ok_volcan) THEN
    333355    DO band=1, NLW
    334356      WHERE (stratomask.GT.0.999999)
    335357        tau_aero_lw_rrtm(:,:,2,band)  = tau_aero_lw_rrtm(:,:,2,band) + taulw_aer_strat(:,:,band)
    336358        tau_aero_lw_rrtm(:,:,1,band)  = tau_aero_lw_rrtm(:,:,1,band) + taulw_aer_strat(:,:,band)
    337 !--no stratospheric aerosols in index 1 for these tests
    338 !    tau_aero_lw_rrtm(:,:,1,band)  = tau_aero_lw_rrtm(:,:,1,band)
    339359      ENDWHERE
    340360    ENDDO
     361    ELSE
     362    DO band=1, NLW
     363      WHERE (stratomask.GT.0.999999)
     364        tau_aero_lw_rrtm(:,:,2,band)  = tau_aero_lw_rrtm(:,:,2,band) + taulw_aer_strat(:,:,band)
     365        !--no stratospheric aerosols in index 1 for these tests
     366        tau_aero_lw_rrtm(:,:,1,band)  = tau_aero_lw_rrtm(:,:,2,band)
     367      ENDWHERE
     368    ENDDO
     369    ENDIF
    341370
    342371!--default SSA value if there is no aerosol
Note: See TracChangeset for help on using the changeset viewer.