Ignore:
Timestamp:
Dec 3, 2025, 6:01:05 PM (3 months ago)
Author:
fcheruy
Message:

correction les flux spectraux

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90

    r5677 r5903  
    349349  REAL(KIND=JPRB) ::  LWUP0_AERO(KPROMA,KLEV+1,5)
    350350  REAL(KIND=JPRB) ::  LWDN0_AERO(KPROMA,KLEV+1,5)
     351  !--LW SPEC FC) :
     352  REAL(KIND=JPRB) ::  PTOAB_AERO(KPROMA,NLW,5)
     353  REAL(KIND=JPRB) ::  PTOACB_AERO(KPROMA,NLW,5)
     354
    351355
    352356#include "radlsw.intfb.h"
     
    374378  LWUP0_AERO(:,:,:)=0.
    375379  LWDN0_AERO(:,:,:)=0.
     380
     381  !FC
     382  PTOAB_AERO (:,:,:) =0.
     383  PTOACB_AERO (:,:,:)=0.
    376384
    377385  PTAU_ZERO(:,:,:) =1.e-15
     
    473481  !----aerosol flags are on
    474482
     483!  write(*,*) ' FC flag_aerosol flag_aerosol_strat '
     484!  write(*,*) flag_aerosol, flag_aerosol_strat
     485!  write(*,*) ' FC ok_ade ok_aie swaero_diag '
     486!  write(*,*) ok_ade, ok_aie ,swaero_diag
     487
    475488  IF (flag_aerosol .GT. 0 .OR. flag_aerosol_strat) THEN
    476489
     
    501514             & PFSDN , PFSUP  , PFSCDN  , PFSCUP ,&
    502515             & PTOAB, PTOACB  )   !FC
     516!        write(*,*) 'FC cas 1'
    503517
    504518        !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
     
    514528        LWUP_AERO(:,:,1) = PFLUX(:,1,:)
    515529        LWDN_AERO(:,:,1) = PFLUX(:,2,:)
     530
     531        PTOAB_AERO(:,:,1)  = PTOAB(:,:)
     532        PTOACB_AERO(:,:,1)  = PTOACB(:,:)
    516533
    517534     ENDIF
     
    543560             & PTOAB,  PTOACB )  !FC
    544561
     562!        write(*,*) 'FC cas 2 ok_ade ok_aie swaero_diag', ok_ade , ok_aie , swaero_diag
    545563        !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
    546564        ZFSUP0_AERO(:,:,2) = PFSCUP(:,:)
     
    555573        LWUP_AERO(:,:,2) = PFLUX(:,1,:)
    556574        LWDN_AERO(:,:,2) = PFLUX(:,2,:)
     575
     576        PTOAB_AERO(:,:,2)  = PTOAB(:,:)
     577        PTOACB_AERO(:,:,2)  = PTOACB(:,:)
    557578
    558579     ENDIF ! ok_aie     
     
    584605             & PTOAB,  PTOACB )   !FC
    585606
     607!        write(*,*) 'FC cas 3 ok_ade ok_aie swaero_diag' ,ok_ade , ok_aie , swaero_diag
    586608        !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
    587609        ZFSUP0_AERO(:,:,3) = PFSCUP(:,:)
     
    596618        LWUP_AERO(:,:,3) = PFLUX(:,1,:)
    597619        LWDN_AERO(:,:,3) = PFLUX(:,2,:)
     620
     621        PTOAB_AERO(:,:,3)  = PTOAB(:,:)
     622        PTOACB_AERO(:,:,3)  = PTOACB(:,:)
    598623
    599624     ENDIF !-end ok_ade
     
    624649             & PTOAB, PTOACB )   !FC
    625650
     651!        write(*,*) 'FC cas 4 ok_ade ok_aie ', ok_ade , ok_aie
    626652        !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
    627653        ZFSUP0_AERO(:,:,4) = PFSCUP(:,:)
     
    636662        LWUP_AERO(:,:,4) = PFLUX(:,1,:)
    637663        LWDN_AERO(:,:,4) = PFLUX(:,2,:)
     664
     665        PTOAB_AERO(:,:,4)  = PTOAB(:,:)
     666        PTOACB_AERO(:,:,4)  = PTOACB(:,:)
    638667
    639668     ENDIF ! ok_ade .and. ok_aie
     
    665694          & PFSDN , PFSUP  , PFSCDN  , PFSCUP , &
    666695          & PTOAB, PTOACB )   !FC
     696!        write(*,*) 'FC cas 5'
     697!        write(*,*) 'FC cas 5 AEROSOLFEEDBACK_ACTIVE  flag_aerosol  swaerofree_diag', AEROSOLFEEDBACK_ACTIVE , flag_aerosol , swaerofree_diag
    667698
    668699     !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
     
    678709     LWUP_AERO(:,:,5) = PFLUX(:,1,:)
    679710     LWDN_AERO(:,:,5) = PFLUX(:,2,:)
     711
     712     PTOAB_AERO(:,:,5)  = PTOAB(:,:)
     713     PTOACB_AERO(:,:,5)  = PTOACB(:,:)
    680714
    681715  ENDIF ! .not. AEROSOLFEEDBACK_ACTIVE
     
    754788        PFLUC(:,1,:) =  LWUP0_AERO(:,:,4)
    755789        PFLUC(:,2,:) =  LWDN0_AERO(:,:,4)   
     790
     791        PTOAB(:,:)  = PTOAB_AERO(:,:,4)
     792        PTOACB(:,:)  = PTOACB_AERO(:,:,4)
     793!        write(*,*) 'je remplis 4'
    756794     ENDIF
    757795
     
    766804        PFLUC(:,1,:) =  LWUP0_AERO(:,:,3)
    767805        PFLUC(:,2,:) =  LWDN0_AERO(:,:,3)
     806
     807        PTOAB(:,:)  = PTOAB_AERO(:,:,3)
     808        PTOACB(:,:)  = PTOACB_AERO(:,:,3)
     809!        write(*,*) 'je remplis 3'
    768810     ENDIF
    769811
     
    778820        PFLUC(:,1,:) =  LWUP0_AERO(:,:,2)
    779821        PFLUC(:,2,:) =  LWDN0_AERO(:,:,2)
     822
     823        PTOAB(:,:)  = PTOAB_AERO(:,:,2)
     824        PTOACB(:,:)  = PTOACB_AERO(:,:,2)
     825!        write(*,*) 'je remplis 2'
    780826     ENDiF
    781827
     
    790836        PFLUC(:,1,:) =  LWUP0_AERO(:,:,1)
    791837        PFLUC(:,2,:) =  LWDN0_AERO(:,:,1)
     838
     839        PTOAB(:,:)  = PTOAB_AERO(:,:,1)
     840        PTOACB(:,:)  = PTOACB_AERO(:,:,1)
     841!        write(*,*) 'je remplis 1'
    792842     ENDIF
    793843
    794844     ! The following allows to compute the forcing diagostics without
    795845     ! letting the aerosol forcing act on the meteorology
    796      ! SEE logic above
    797846
    798847  ELSE  !--not AEROSOLFEEDBACK_ACTIVE
     
    808857     PFLUC(:,2,:) =  LWDN0_AERO(:,:,5)
    809858
     859     PTOAB(:,:)  = PTOAB_AERO(:,:,5)
     860     PTOACB(:,:)  = PTOACB_AERO(:,:,5)
     861!        write(*,*) 'je remplis 5'
    810862  ENDIF
    811863
Note: See TracChangeset for help on using the changeset viewer.