C.Lac 11/2015 : Correction on aerosols for radiation (and remove LRAD_DUST)
authorGaelle Tanguy <gaelle.tanguy@meteo.fr>
Thu, 26 Nov 2015 14:58:42 +0000 (14:58 +0000)
committerPhilippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Thu, 19 May 2016 14:44:49 +0000 (16:44 +0200)
src/MNH/ini_spectren.f90
src/MNH/modd_param_radn.f90
src/MNH/modn_param_radn.f90
src/MNH/radiations.f90

index cf5344c..06c9124 100644 (file)
@@ -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
index 75867c4..51f4260 100644 (file)
@@ -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
 
index 32715ed..87f962d 100644 (file)
@@ -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
index 2ad56d3..8bd7efe 100644 (file)
@@ -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