wiki:model/S3AextAerFeedbck

Externalization of S3A aerosol radiative feedback in a config file

File to update for doing it (see in attachment):

/ccc/work/cont003/gen2211/lebasn/LMDZORSTRATAER_v6/modipsl/modeles/LMDZ/libf/phylmd/physiq_mod.F90
/ccc/work/cont003/gen2211/lebasn/LMDZORSTRATAER_v6/modipsl/modeles/LMDZ/libf/phylmd/conf_phys_m.F90
/ccc/work/cont003/gen2211/lebasn/LMDZORSTRATAER_v6/modipsl/modeles/LMDZ/libf/phylmd/radlwsw_m.F90
/ccc/work/cont003/gen2211/lebasn/LMDZORSTRATAER_v6/modipsl/modeles/LMDZ/libf/phylmd/rrtm/recmwf_aero.F90
/ccc/work/cont003/gen2211/lebasn/LMDZORSTRATAER_v6/modipsl/modeles/LMDZ/libf/dynphy_lonlat/phylmd/etat0phys_netcdf.F90

Modifications

physiq_mod.F90

@@ -1000,6 +1000,33 @@
     !$OMP THREADPRIVATE(flag_aerosol_strat)
     !c-fin STRAT AEROSOL
     !
+    !Aerosol radiative feedback (recmwf_aero.F90) - NL: 13/06/2017
+    INTEGER, SAVE :: flag_aer_feedback      ! aerosol radiative feedback active or not

@@ -1147,12 +1174,21 @@
             fact_cldcon, facttemps,ok_newmicro,iflag_radia, &
             iflag_cld_th,iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs, &
             ok_ade, ok_aie, ok_alw, ok_cdnc, aerosol_couple,  &
-            flag_aerosol, flag_aerosol_strat, new_aod, &
+            flag_aerosol, flag_aerosol_strat, flag_aer_feedback, new_aod, &
             flag_bc_internal_mixture, bl95_b0, bl95_b1, &
                                 ! nv flags pour la convection et les
                                 ! poches froides
             read_climoz, &


@@ -3617,7 +3653,7 @@
                t_seri,q_seri,wo, &
                cldfrarad, cldemirad, cldtaurad, &
                ok_ade.OR.flag_aerosol_strat.GT.0, ok_aie, flag_aerosol, &
-               flag_aerosol_strat, &
+               flag_aerosol_strat, flag_aer_feedback, & !NL ajout aer radiative feedbk
                tau_aero, piz_aero, cg_aero, &
                tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm, &

@@ -3682,7 +3718,7 @@
                      t_seri,q_seri,wo, &
                      cldfrarad, cldemirad, cldtaurad, &
                      ok_ade.OR.flag_aerosol_strat.GT.0, ok_aie, flag_aerosol, &
-                     flag_aerosol_strat, &
+                     flag_aerosol_strat, flag_aer_feedback,& !NL ajout aer radiative feedbk
                      tau_aero, piz_aero, cg_aero, &
                      tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm, &

conf_phys_m.F90

@@ -17,10 +17,18 @@
        iflag_cld_th, &
        iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs, &
        ok_ade, ok_aie, ok_alw, ok_cdnc, aerosol_couple, &
-       flag_aerosol, flag_aerosol_strat, new_aod, &
+       flag_aerosol, flag_aerosol_strat, flag_aer_feedback, new_aod, &
        flag_bc_internal_mixture, bl95_b0, bl95_b1,&

@@ -83,6 +91,31 @@
     REAL                 :: fact_cldcon, facttemps,ratqsbas,ratqshaut,tau_ratqs
     INTEGER              :: iflag_cld_th
     INTEGER              :: iflag_ratqs
+    ! flag to (de)active aerosol radiative feedback
+    INTEGER              :: flag_aer_feedback

@@ -1009,7 +1042,44 @@
     IF (iflag_rrtm_omp==1) THEN
       CALL getin('flag_aerosol_strat',flag_aerosol_strat_omp)
     ENDIF
+
+    !Aer radiative feedback - NL: 13/06/2017
+    flag_aer_feedback = 1
+    IF (iflag_rrtm_omp==1) THEN
+       CALL getin('flag_aer_feedback',flag_aer_feedback)
+    ENDIF

radlwsw_m.F90

@@ -16,7 +16,7 @@
    cldfra, cldemi, cldtaupd,&
    ok_ade, ok_aie, flag_aerosol,&
-   flag_aerosol_strat,&
+   flag_aerosol_strat, flag_aer_feedback,& ! ajout aer feedbk NL 13/06/2017
    tau_aero, piz_aero, cg_aero,&
    tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm,& ! rajoute par OB pour RRTM

@@ -101,6 +101,7 @@
   ! flag_aerosol-input-I- aerosol flag from 0 to 6
   ! flag_aerosol_strat-input-I- use stratospheric aerosols flag (0, 1, 2)
+  ! flag_aer_feedback-input-I- use aerosols radiative effect flag (0, 1)
   ! tau_ae, piz_ae, cg_ae-input-R- aerosol optical properties (calculated in aeropt.F)
   ! cldtaupi-input-R- epaisseur optique des nuages dans le visible

@@ -190,6 +191,7 @@
   INTEGER, INTENT(in)  :: flag_aerosol                                   ! takes value 0 (no aerosol) or 1 to 6 (aerosols)
   INTEGER, INTENT(in)  :: flag_aerosol_strat                             ! use stratospheric aerosols
+  INTEGER, INTENT(in)  :: flag_aer_feedback                              ! use aerosols radiative effect
   REAL,    INTENT(in)  :: cldfra(KLON,KLEV), cldemi(KLON,KLEV), cldtaupd(KLON,KLEV)
   REAL,    INTENT(in)  :: tau_aero(KLON,KLEV,naero_grp,2)                        ! aerosol optical properties (see aeropt.F)

@@ -830,7 +832,7 @@
          ZTOPLWAD0AERO,ZSOLLWAD0AERO,&
          ZTOPLWAIAERO,ZSOLLWAIAERO, &
-         ok_ade, ok_aie, flag_aerosol,flag_aerosol_strat) ! flags aerosols
+         ok_ade, ok_aie, flag_aerosol,flag_aerosol_strat, flag_aer_feedback) ! flags aerosols

 !        print *,'RADLWSW: apres RECMWF'

rrtm/recmwf_aero.F90

@@ -34,7 +34,7 @@
  & PTOPLWAD0AERO,PSOLLWAD0AERO,&
  & PTOPLWAIAERO,PSOLLWAIAERO,&
 !..end
- & ok_ade, ok_aie, flag_aerosol,flag_aerosol_strat)
+ & ok_ade, ok_aie, flag_aerosol,flag_aerosol_strat,flag_aer_feedback)
 !--fin

 !**** *RECMWF* - METEO-FRANCE RADIATION INTERFACE TO ECMWF RADIATION SCHEME

@@ -83,6 +83,7 @@
 ! flag_aerosol-input-I- aerosol flag from 0 to 6
 ! flag_aerosol_strat-input-I- use stratospheric aerosols flag (T/F)
+! flag_aer_feedback-input-I- use aerosols radiative effect flag (T/F)
 ! PPIZA_NAT  : (KPROMA,KLEV,NSW); Single scattering albedo of natural aerosol
 ! PCGA_NAT   : (KPROMA,KLEV,NSW); Assymetry factor for natural aerosol

@@ -209,6 +210,7 @@
 LOGICAL, INTENT(in)  :: ok_ade, ok_aie         ! switches whether to use aerosol direct (indirect) effects or not
 INTEGER, INTENT(in)  :: flag_aerosol           ! takes value 0 (no aerosol) or 1 to 6 (aerosols)
 LOGICAL, INTENT(in)  :: flag_aerosol_strat     ! use stratospheric aerosols
+LOGICAL, INTENT(in)  :: flag_aer_feedback      ! use aerosols radiative feedback
 REAL(KIND=JPRB)   ,INTENT(out)   :: PTOPSWADAERO(KPROMA), PSOLSWADAERO(KPROMA)       ! Aerosol direct forcing at TOA and surface

@@ -289,6 +291,7 @@
 ! TRUE: fluxes use natural and/or anthropogenic aerosols according to ok_ade and ok_aie, DEFAULT
 ! FALSE: fluxes use no aerosols (case 1)
 ! to be used only for maintaining bit reproducibility with aerosol diagnostics activated
+!LOGICAL :: AEROSOLFEEDBACK_ACTIVE = .FALSE.
 LOGICAL :: AEROSOLFEEDBACK_ACTIVE = .TRUE.

 !OB - Fluxes including aerosol effects

@@ -327,6 +330,11 @@
 IEND=KEND

+!NL: 13/06/2017 - externalize aer feedback
+AEROSOLFEEDBACK_ACTIVE = flag_aer_feedback !NL: 13/06/2017- externalize parameter
+print *,'AEROSOLFEEDBACK_ACTIVE= ',AEROSOLFEEDBACK_ACTIVE
+
+
 !*       1.    PREPARATORY WORK

dynphy_lonlat/phylmd/etat0phys_netcdf.F90

@@ -110,13 +110,38 @@
   REAL    :: ratqsbas, ratqshaut, tau_ratqs
   LOGICAL :: ok_ade, ok_aie, ok_alw, ok_cdnc, aerosol_couple
   INTEGER :: flag_aerosol
   INTEGER :: flag_aerosol_strat
+  INTEGER :: flag_aer_feedback !NL: 13/06/2017 use radiative aer feedback

@@ -131,10 +156,20 @@
                    iflag_cldcon,                                        &
                    iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs,            &
                    ok_ade, ok_aie, ok_alw, ok_cdnc, aerosol_couple,     &
-                   flag_aerosol, flag_aerosol_strat, new_aod,           &
+                   flag_aerosol, flag_aerosol_strat, flag_aer_feedback, &
+                   new_aod,                                             &
                    flag_bc_internal_mixture, bl95_b0, bl95_b1,          &
Last modified 6 years ago Last modified on 12/13/17 14:28:08