diff --git a/src/MNH/ini_spectren.f90 b/src/MNH/ini_spectren.f90 index cf5344c7b9af5d06fc6aebc8615948a6878b27a1..06c9124d7611046193156575e1994fd46803e300 100644 --- a/src/MNH/ini_spectren.f90 +++ b/src/MNH/ini_spectren.f90 @@ -80,7 +80,7 @@ USE MODD_DIM_n USE MODD_BUDGET USE MODD_RADIATIONS_n USE MODD_SHADOWS_n -USE MODD_PARAM_RAD_n, ONLY : CLW, CAER, LRAD_DUST +USE MODD_PARAM_RAD_n, ONLY : CLW, CAER USE MODD_VAR_ll, ONLY : IP ! USE MODD_STAND_ATM, ONLY : XSTROATM, XSMLSATM, XSMLWATM, XSPOSATM, XSPOWATM diff --git a/src/MNH/modd_param_radn.f90 b/src/MNH/modd_param_radn.f90 index 75867c48489d1682c81ed5c1b22e1fbdf5354182..51f4260ecb1049ebe73299cb74159f5401bf036f 100644 --- a/src/MNH/modd_param_radn.f90 +++ b/src/MNH/modd_param_radn.f90 @@ -84,7 +84,6 @@ TYPE PARAM_RAD_t ! aerosol and ozone distribution LOGICAL :: LFIX_DAT ! logical switch to fix the date to a constant ! perpetual day ( diurnal cycle is conserved) - LOGICAL:: LRAD_DUST ! .TRUE. the radiativ effect of dusts is take into account !------------------------------------------------------------------------------- ! @@ -116,7 +115,6 @@ CHARACTER (LEN=4), POINTER :: COPWSW=>NULL() CHARACTER (LEN=4), POINTER :: COPISW=>NULL() LOGICAL, POINTER :: LAERO_FT=>NULL() LOGICAL, POINTER :: LFIX_DAT=>NULL() -LOGICAL, POINTER :: LRAD_DUST=>NULL() CONTAINS @@ -144,7 +142,6 @@ COPWSW=>PARAM_RAD_MODEL(KTO)%COPWSW COPISW=>PARAM_RAD_MODEL(KTO)%COPISW LAERO_FT=>PARAM_RAD_MODEL(KTO)%LAERO_FT LFIX_DAT=>PARAM_RAD_MODEL(KTO)%LFIX_DAT -LRAD_DUST=>PARAM_RAD_MODEL(KTO)%LRAD_DUST END SUBROUTINE PARAM_RAD_GOTO_MODEL diff --git a/src/MNH/modn_param_radn.f90 b/src/MNH/modn_param_radn.f90 index 32715edf36ccac93f21d73209f179739e7539c3d..87f962d7566c2554ad56786ef60b26e72bbe5f5e 100644 --- a/src/MNH/modn_param_radn.f90 +++ b/src/MNH/modn_param_radn.f90 @@ -34,8 +34,7 @@ USE MODD_PARAM_RAD_n, ONLY: & COPISW_n => COPISW, & XFUDG_n => XFUDG, & LAERO_FT_n => LAERO_FT, & - LFIX_DAT_n => LFIX_DAT, & - LRAD_DUST_n => LRAD_DUST + LFIX_DAT_n => LFIX_DAT ! IMPLICIT NONE @@ -57,11 +56,10 @@ CHARACTER (LEN=4), SAVE :: COPISW REAL, SAVE :: XFUDG LOGICAL,SAVE :: LAERO_FT LOGICAL,SAVE :: LFIX_DAT -LOGICAL,SAVE :: LRAD_DUST ! NAMELIST/NAM_PARAM_RADn/XDTRAD,XDTRAD_CLONLY,LCLEAR_SKY,NRAD_COLNBR,& NRAD_DIAG,CLW,CAER,CAOP,CEFRADL,CEFRADI,COPWLW,& - COPILW,COPWSW,COPISW,XFUDG,LAERO_FT,LFIX_DAT,LRAD_DUST + COPILW,COPWSW,COPISW,XFUDG,LAERO_FT,LFIX_DAT ! CONTAINS ! @@ -83,7 +81,6 @@ SUBROUTINE INIT_NAM_PARAM_RADn XFUDG = XFUDG_n LAERO_FT = LAERO_FT_n LFIX_DAT = LFIX_DAT_n - LRAD_DUST = LRAD_DUST_n END SUBROUTINE INIT_NAM_PARAM_RADn SUBROUTINE UPDATE_NAM_PARAM_RADn @@ -104,7 +101,6 @@ SUBROUTINE UPDATE_NAM_PARAM_RADn XFUDG_n = XFUDG LAERO_FT_n = LAERO_FT LFIX_DAT_n = LFIX_DAT - LRAD_DUST_n = LRAD_DUST END SUBROUTINE UPDATE_NAM_PARAM_RADn END MODULE MODN_PARAM_RAD_n diff --git a/src/MNH/radiations.f90 b/src/MNH/radiations.f90 index 2ad56d3d79371aabb49a1f8b591b1fb17cd855c3..8bd7efe647032013d4da18c36be72bcc068b3a68 100644 --- a/src/MNH/radiations.f90 +++ b/src/MNH/radiations.f90 @@ -210,6 +210,7 @@ END MODULE MODI_RADIATIONS !! A. Grini 05/20/05 dust direct effect (optical properties) !! V.Masson, C.Lac 08/10 Correction of inversion of Diffuse and direct albedo !! B.Aouizerats 2010 Explicit aerosol optical properties +!! C.Lac 11/2015 Correction on aerosols !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -237,7 +238,7 @@ USE MODE_THERMO USE MODD_DUST, ONLY: LDUST USE MODD_SALT, ONLY: LSALT USE MODD_CH_AEROSOL, ONLY: LORILAM -USE MODD_PARAM_RAD_n, ONLY: CAOP,LRAD_DUST +USE MODD_PARAM_RAD_n, ONLY: CAOP USE MODE_DUSTOPT USE MODE_SALTOPT USE MODI_AEROOPT_GET @@ -944,7 +945,10 @@ IF (CAOP=='EXPL') THEN ZTAUREL_EQ_TMP(:,:,:,:)=ZTAUREL_DST_TMP(:,:,:,:)+ZTAUREL_AER_TMP(:,:,:,:)+ZTAUREL_SLT_TMP(:,:,:,:) - PAER(:,:,:,3)=PAER_AER(:,:,:)+PAER_SLT(:,:,:)+PAER_DST(:,:,:) +!PAER(:,:,:,3)=PAER_AER(:,:,:)+PAER_SLT(:,:,:)+PAER_DST(:,:,:) + PAER(:,:,:,2)=PAER_SLT(:,:,:) + PAER(:,:,:,3)=PAER_DST(:,:,:) + PAER(:,:,:,4)=PAER_AER(:,:,:) WHERE (ZTAUREL_EQ_TMP(:,:,:,:).GT.0.0) @@ -1021,18 +1025,35 @@ ENDDO ! ALLOCATE(ZAER(KDLON,KFLEV,KAER)) -IF (LRAD_DUST.AND.LDUST) THEN +! Aerosol classes +! 1=Continental 2=Maritime 3=Desert 4=Urban 5=Volcanic 6=Stratos.Bckgnd +DO JJ=IJB,IJE + DO JI=IIB,IIE + IIJ = 1 + (JI-IIB) + (IIE-IIB+1)*(JJ-IJB) + ZAER (IIJ,:,:) = PAER_CLIM (JI,JJ,:,:) + END DO +END DO +IF ((CAOP=='EXPL') .AND. LDUST ) THEN DO JJ=IJB,IJE DO JI=IIB,IIE IIJ = 1 + (JI-IIB) + (IIE-IIB+1)*(JJ-IJB) - ZAER (IIJ,:,:) = PAER_CLIM (JI,JJ,:,:) + ZAER (IIJ,:,3) = PAER (JI,JJ,:,3) END DO END DO -ELSE +END IF +IF ((CAOP=='EXPL') .AND. LSALT ) THEN + DO JJ=IJB,IJE + DO JI=IIB,IIE + IIJ = 1 + (JI-IIB) + (IIE-IIB+1)*(JJ-IJB) + ZAER (IIJ,:,2) = PAER (JI,JJ,:,2) + END DO + END DO +END IF +IF ((CAOP=='EXPL') .AND. LORILAM ) THEN DO JJ=IJB,IJE DO JI=IIB,IIE IIJ = 1 + (JI-IIB) + (IIE-IIB+1)*(JJ-IJB) - ZAER (IIJ,:,:) = PAER (JI,JJ,:,:) + ZAER (IIJ,:,4) = PAER (JI,JJ,:,4) END DO END DO END IF