Changeset 5903


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

correction les flux spectraux

Location:
LMDZ6/trunk/libf/phylmd
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90

    r5813 r5903  
    485485  !    (/ ('', i=1, 10) /))
    486486  !FC
     487
    487488  TYPE(ctrl_out), SAVE :: o_lwtoab130 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    488489    'lwtoab130', 'LW TOA  band 130cm-1 ', 'W m-2', (/ ('', i=1, 10) /))
     
    553554 TYPE(ctrl_out), SAVE :: o_lwtoa0btot = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    554555    'lwtoa0btot', 'LW TOA  band total CS', 'W m-2', (/ ('', i=1, 10) /))
    555   TYPE(ctrl_out), SAVE :: o_lwtoa0b = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    556     'lwtoa0b', 'LW TOA CS band ', 'W m-2', (/ ('', i=1, 10) /))
     556!  TYPE(ctrl_out), SAVE :: o_lwtoa0b = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     557!    'lwtoa0b', 'LW TOA CS band ', 'W m-2', (/ ('', i=1, 10) /))
    557558  TYPE(ctrl_out), SAVE :: o_lwtoab4co2 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    558559    'lwtoab4co2', 'LW TOA  band 4xCO2', 'W m-2', (/ ('', i=1, 10) /))
  • LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90

    r5890 r5903  
    258258         o_lwtoa0b2165, o_lwtoa0b2315, o_lwtoa0b2490, o_lwtoa0b2800, &
    259259         o_lwtoabtot, o_lwtoa0btot, &  !Somme de tous les canaux
    260          o_lwtoa0b, &  ! les 16 canaux FC
    261260         o_lwtoab4co2,o_lwtoacsb4co2,                            &   ! les 16 canaux FC
    262 !FC
    263261!GG         o_zxfluxt,o_zxfluxq
    264262         o_fcds, o_fcdi, o_dh_basal_growth, o_dh_basal_melt, &
     
    512510        iflag_seaice, iflag_seaice_alb
    513511    !GG
    514     USE aero_mod, ONLY: naero_tot, id_STRAT_phy
     512    USE aero_mod, ONLY: naero_tot, id_STRAT_phy,nbands_lw_rrtm
    515513    USE ioipsl, ONLY: histend, histsync
    516514    USE iophy, ONLY: set_itau_iophy, histwrite_phy
     
    997995!FC
    998996      IF (vars_defined) THEN
    999                 DO i=1, klon
    1000              zx_tmp_fi2d(i)=0.
    1001           DO ll=1,nlw
    1002 !             zx_tmp_fi2d(i)=zx_tmp_fi2d(i)+lwtoab(i,ll)*deltanu(ll)
    1003              zx_tmp_fi2d(i)=zx_tmp_fi2d(i)+lwtoab(i,ll)
     997!                DO i=1, klon
     998             zx_tmp_fi2d(:)=0.
     999!          DO ll=1,nlw
     1000          DO ll=1,nbands_lw_rrtm
     1001             zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+lwtoab(:,ll)
    10041002          ENDDO
    1005           ENDDO
     1003!          ENDDO
    10061004       ENDIF
    10071005       CALL histwrite_phy(o_lwtoabtot, zx_tmp_fi2d)
    10081006           IF (vars_defined) THEN
    1009                 DO i=1, klon
    1010              zx_tmp_fi2d(i)=0.
    1011           DO ll=1,nlw
    1012              zx_tmp_fi2d(i)=zx_tmp_fi2d(i)+lwtoa0b(i,ll)
     1007!                DO i=1, klon
     1008             zx_tmp_fi2d(:)=0.
     1009!          DO ll=1,nlw
     1010          DO ll=1,nbands_lw_rrtm
     1011             zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+lwtoa0b(:,ll)
    10131012          ENDDO
    1014           ENDDO
     1013!          ENDDO
    10151014       ENDIF
    10161015       CALL histwrite_phy(o_lwtoa0btot, zx_tmp_fi2d)
     
    10181017
    10191018       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,1)
    1020 !       CALL histwrite_phy(o_lwtoab, zx_tmp_fi3dsplw)
    10211019       CALL histwrite_phy(o_lwtoab130, zx_tmp_fi2d)
    10221020
     
    18641862          ENDIF
    18651863               CALL histwrite_phy(o_delta_tsurf,zx_tmp_fi2d)
     1864
     1865
    18661866               CALL histwrite_phy(o_cdragh_x   ,cdragh_x   )
    18671867               CALL histwrite_phy(o_cdragh_w   ,cdragh_w   )
  • LMDZ6/trunk/libf/phylmd/radlwsw_m.F90

    r5786 r5903  
    998998               ok_ade, ok_aie, ok_volcan, flag_aerosol,flag_aerosol_strat, flag_aer_feedback) ! flags aerosols
    999999
     1000          !   write(*,*)  ' apres recmwf_aero '
     1001          !   write(*,*) 'ok_ade, ok_aie, ok_volcan, flag_aerosol,flag_aerosol_strat, flag_aer_feedback)'
     1002          !   write(*,*)  ok_ade, ok_aie, ok_volcan, flag_aerosol,flag_aerosol_strat, flag_aer_feedback
    10001003          !--OB diagnostics
    10011004          ! & PTOPSWAIAERO,PSOLSWAIAERO,&
  • 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.