Changeset 6092 for LMDZ6


Ignore:
Timestamp:
Mar 5, 2026, 9:26:31 PM (5 weeks ago)
Author:
asima
Message:

For SP aerosols (flag_aerosol=7):

  • new diagnostic od550SPaer,
  • corrected diagnostics od550lt1aer and dryod550aer
Location:
LMDZ6/trunk/libf/phylmd
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/macv2sp.f90

    r6091 r6092  
    1717  USE dimphy
    1818  USE aero_mod
    19   USE phys_local_var_mod, ONLY: t_seri, od443aer, od550aer, od865aer, ec550aer, dryod550aer, od550lt1aer, dNovrN
     19  USE phys_local_var_mod, ONLY: t_seri, od443aer, od550aer, od865aer, ec550aer, dryod550aer, od550lt1aer, od550SPaer, dNovrN
    2020  !!USE YOMCST, ONLY : RD, RG
    2121  !
     
    107107  !
    108108  !--AOD calculations for diagnostics
    109   od550aer(:)=od550aer(:)+SUM(aod_prof(:,:),dim=2)
     109  ! (ASima : new diagnostic od550SPaer; corrected od550lt1aer and dryod550aer)
     110  !--a/ AOD of SP aerosols = vertical sum of SP aod profile
     111  od550SPaer(:)=SUM(aod_prof(:,:),dim=2)
    110112  !
    111   !--dry AOD calculation for diagnostics
    112   dryod550aer(:)=dryod550aer(:)+od550aer(:)
     113  !--b/ total AOD = Inca1850 + SP
     114  od550aer(:)=od550aer(:)+od550SPaer(:)
    113115  !
    114   !--fine-mode AOD calculation for diagnostics
    115   od550lt1aer(:)=od550lt1aer(:)+od550aer(:)
     116  !--c/ fine-mode AOD = Inca1850(fine mode) + SP
     117  ! original, bugged : includes od550aer of Inca1850
     118  !od550lt1aer(:)=od550lt1aer(:)+od550aer(:)
     119  od550lt1aer(:)=od550lt1aer(:)+od550SPaer(:)
     120  !
     121  !--d/ dry AOD
     122  ! original, bugged : includes od550aer of Inca1850
     123  !dryod550aer(:)=dryod550aer(:)+od550aer(:)
     124  dryod550aer(:)=dryod550aer(:)+od550SPaer(:)
     125  !
    116126  !
    117127  !--extinction coefficient for diagnostic
     
    175185  ENDDO
    176186  !
    177   !--renpomalizing cg and piz now that MACv2SP increments have been added
     187  !--renormalizing cg and piz now that MACv2SP increments have been added
    178188  cg_allaer(:,:,2,:) =cg_allaer(:,:,2,:) /piz_allaer(:,:,2,:)
    179189  piz_allaer(:,:,2,:)=piz_allaer(:,:,2,:)/tau_allaer(:,:,2,:)
  • LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90

    r6059 r6092  
    261261      !$OMP THREADPRIVATE(ec550aer)
    262262      REAL, SAVE, ALLOCATABLE :: od550lt1aer(:)
    263       !$OMP THREADPRIVATE(od550lt1aer)
     263      !$OMP THREADPRIVATE(od550lt1aer)
     264      REAL, SAVE, ALLOCATABLE :: od550SPaer(:)
     265      !$OMP THREADPRIVATE(od550SPaer)
    264266      REAL, SAVE, ALLOCATABLE :: sconcso4(:)
    265267      !$OMP THREADPRIVATE(sconcso4)
     
    10011003      ALLOCATE(ec550aer(klon,klev))
    10021004      ALLOCATE(od550lt1aer(klon))
     1005      ALLOCATE(od550SPaer(klon))
    10031006      ALLOCATE(sconcso4(klon))
    10041007      ALLOCATE(sconcno3(klon))
     
    14711474      DEALLOCATE(ec550aer)
    14721475      DEALLOCATE(od550lt1aer)
     1476      DEALLOCATE(od550SPaer)
    14731477      DEALLOCATE(sconcso4)
    14741478      DEALLOCATE(sconcno3)
  • LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90

    r6053 r6092  
    17561756  TYPE(ctrl_out), SAVE :: o_od550lt1aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    17571757    'od550lt1aer', 'Fine mode optical depth', '-', (/ ('', i=1, 10) /))
     1758  TYPE(ctrl_out), SAVE :: o_od550SPaer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1759    'od550SPaer', 'Simple Plume aerosol optical depth', '-', (/ ('', i=1, 10) /))
    17581760  TYPE(ctrl_out), SAVE :: o_sconcso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    17591761    'sconcso4', 'Surface Concentration of Sulfate ', 'kg/m3', (/ ('', i=1, 10) /))
  • LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90

    r6059 r6092  
    124124         o_solldown, o_dtsvdfo, o_dtsvdft, &
    125125         o_dtsvdfg, o_dtsvdfi, o_z0m, o_z0h,  o_od443aer, o_od550aer, &
    126          o_dryod550aer, o_od865aer, o_abs550aer, o_od550lt1aer, &
     126         o_dryod550aer, o_od865aer, o_abs550aer, o_od550lt1aer, o_od550SPaer,  &
    127127         o_sconcso4, o_sconcno3, o_sconcoa, o_sconcbc, &
    128128         o_sconcss, o_sconcdust, o_concso4, o_concno3, &
     
    402402         pmflxr, pmflxs, prfl, psfl,bsfl, re, fl, rh2m, &
    403403         qsat2m, tpote, tpot, d_ts, od443aer, od550aer, dryod550aer, &
    404          od865aer, abs550aer, od550lt1aer, sconcso4, sconcno3, &
     404         od865aer, abs550aer, od550lt1aer, od550SPaer, sconcso4, sconcno3, &
    405405         sconcoa, sconcbc, sconcss, sconcdust, concso4, concno3, &
    406406         concoa, concbc, concss, concdust, loadso4, &
     
    20942094             CALL histwrite_phy(o_loadno3, loadno3)
    20952095             CALL histwrite_phy(o_dryod550aer, dryod550aer)
     2096             IF (flag_aerosol.EQ.7) THEN
     2097                ! (ASima) od550 for Simple Plume aerosols
     2098                CALL histwrite_phy(o_od550SPaer, od550SPaer)
     2099             ENDIF
    20962100             DO naero = 1, naero_tot-1
    20972101                CALL histwrite_phy(o_drytausumaero(naero),drytausum_aero(:,naero))
Note: See TracChangeset for help on using the changeset viewer.