Changeset 5918


Ignore:
Timestamp:
Dec 8, 2025, 5:23:42 PM (4 weeks ago)
Author:
Sebastien Nguyen
Message:

report FC changes to phylmd/physiq_mod.F90 in phylmdiso/physiq_mod.F90

Location:
LMDZ6/trunk/libf
Files:
3 edited

Legend:

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

    r5905 r5918  
    24472447    !Config Def  = .FALSE.
    24482448    !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry
    2449 
    24502449
    24512450    !$OMP END MASTER
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r5913 r5918  
    124124
    125125
    126     USE phytracr_spl_mod, ONLY: phytracr_spl, phytracr_spl_out_init
    127     USE phys_output_write_spl_mod, ONLY: phys_output_write_spl
     126!!SN    USE phytracr_spl_mod, ONLY: phytracr_spl, phytracr_spl_out_init
     127!!SN    USE phys_output_write_spl_mod, ONLY: phys_output_write_spl
    128128    USE phytrac_mod, ONLY: phytrac_init, phytrac
    129129    USE phys_output_write_mod, ONLY: phys_output_write
     
    924924    REAL zdtime, zdtime1, zdtime2, zlongi
    925925    !
    926     REAL z_avant(klon), z_apres(klon), z_factor(klon)
    927     LOGICAL zx_ajustq
     926!!SN plus utilise
     927!!SN    REAL qcheck ! besoin de definir le type de la fonction qcheck
     928!!SN    REAL z_avant(klon), z_apres(klon), z_factor(klon)
     929!!SN    LOGICAL zx_ajustq
    928930    !
    929931    REAL za
  • LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90

    r5912 r5918  
    11
    2 ! $Id: physiq_mod.F90 5842 2025-09-25 15:09:22Z rkazeroni $
     2! $Id: physiq_mod.F90 5913 2025-12-04 16:00:50Z fairhead $
    33!
    44!#define IO_DEBUG
     
    3131    USE change_srf_frac_mod
    3232    USE conf_phys_m, ONLY: conf_phys
    33     USE carbon_cycle_mod, ONLY : infocfields_init, RCO2_glo, carbon_cycle_rad
     33    USE carbon_cycle_mod, ONLY : infocfields_init, RCO2_glo, carbon_cycle_rad   ! PC
     34
    3435    USE CFMIP_point_locations   ! IM stations CFMIP
    3536    USE clouds_bigauss_mod, ONLY: clouds_bigauss
     
    143144#endif
    144145
     146    USE ch4n2o_correction_mod, ONLY: ch4n2o_init, ch4n2o_compute, &                       ! PC
     147  &                                  ok_CH4_eff_ppb, ok_N2O_eff_ppb, ghg_year, ghg_mode   ! PC
    145148    USE phys_local_var_mod, ONLY: d_q_emiss
    146149    USE strataer_local_var_mod, ONLY: strataer_init,flag_emit,flh2o,ok_qemiss,flag_verbose_strataer, &
     
    16751678       WRITE(lunout,*) 'Call to infocfields from physiq'
    16761679       CALL infocfields_init
     1680
     1681       !--PC:reads keys once: broadcasts config to all ranks
     1682       CALL ch4n2o_init()    ! reads getin_p, broadcasts configuration
     1683
    16771684
    16781685       !AI 08 2023
     
    21762183       IF (phys_tstep*REAL(radpas).GT.21600..AND.iflag_cycle_diurne.GE.1) THEN
    21772184          WRITE(lunout,*)'Nbre d appels au rayonnement insuffisant'
     2185          WRITE(lunout,*)'phys_tstep =', phys_tstep, radpas, iflag_cycle_diurne
    21782186          WRITE(lunout,*)"Au minimum 4 appels par jour si cycle diurne"
    21792187          abort_message='Nbre d appels au rayonnement insuffisant'
     
    33103318           do i=1,klon                                                       !
    33113319              t_env(i,k)=t_seri(i,k)                                         !
    3312               q_env(i,k)=q_seri(i,k)   
     3320              q_env(i,k)=q_seri(i,k)                                         !
    33133321#ifdef ISO
    33143322              do ixt=1,ntraciso
     
    35253533             (d_deltat_vdf, d_deltaq_vdf, dsig0, dsig0, ddens0, ddens0, wkoccur1, 'vdf', abortphy &
    35263534#ifdef ISO
    3527                ,d_deltaxt_vdf &
    3528 #endif
    3529                 )
     3535             ,d_deltaxt_vdf &
     3536#endif
     3537             )
    35303538       ELSE
    35313539          d_deltat_vdf(:,:) = 0.
     
    35523560               'vdf',abortphy,flag_inhib_tend,itap,0 &
    35533561#ifdef ISO
    3554      &    ,d_xt_vdf,dxtl0,dxti0 &
     3562     &         ,d_xt_vdf,dxtl0,dxti0 &
    35553563#endif     
    3556      &   )
     3564     &         )
    35573565       ENDIF
    35583566       CALL prt_enerbil('vdf',itap)
     
    39283936                 ,d_deltaxt_ajs_cv  &
    39293937#endif
    3930                  ) 
     3938                 )
    39313939             ENDIF  ! (iflag_adjwk == 2 .AND. OK_bug_ajs_cv)
    39323940          ENDIF  ! (iflag_adjwk >= 1)
     
    50435051                  , d_t_ajsb, d_q_ajsb &
    50445052#ifdef ISO
    5045      &      ,xt_seri,d_xt_ajsb      &
     5053     &            ,xt_seri,d_xt_ajsb      &
    50465054#endif         
    5047      &   )
     5055     &            )
    50485056          ELSE IF (iflag_thermals>0) THEN
    50495057             ! Calling adjustment above the top of thermal plumes
     
    50515059                  , d_t_ajsb, d_q_ajsb &
    50525060#ifdef ISO
    5053      &      ,xt_seri,d_xt_ajsb &     
     5061     &            ,xt_seri,d_xt_ajsb &     
    50545062#endif         
    5055      &   )
     5063     &            )
    50565064          ENDIF
    50575065
     
    50615069               'ajsb',abortphy,flag_inhib_tend,itap,0 &
    50625070#ifdef ISO
    5063      &    ,d_xt_ajsb,dxtl0,dxti0 &
     5071     &        ,d_xt_ajsb,dxtl0,dxti0 &
    50645072#endif     
    5065      &   )
     5073     &        )
    50665074          CALL prt_enerbil('ajsb',itap)
    50675075          d_t_ajs(:,:)=d_t_ajs(:,:)+d_t_ajsb(:,:)
     
    53025310         'lsc',abortphy,flag_inhib_tend,itap,0 &
    53035311#ifdef ISO
    5304      &    ,d_xt_lsc,d_xtl_lsc,d_xti_lsc &
     5312     &   ,d_xt_lsc,d_xtl_lsc,d_xti_lsc &
    53055313#endif     
    53065314     &   )
     
    61366144          !
    61376145          RCO2 = RCO2_act
     6146!          RCH4 = RCH4_act
     6147!          RN2O = RN2O_act
     6148#ifdef CPP_RRTM
     6149          ! PC
     6150          ! Only attempt to compute effective values if at least one
     6151          ! gas is actually routed as "effective"
     6152          IF (ok_CH4_eff_ppb .OR. ok_N2O_eff_ppb) THEN
     6153             ! ghg_year is provided by the driver (libIGCM); the transfer
     6154             ! functions currently ignore it and use it only for logging
     6155             CALL ch4n2o_compute(ghg_year, CH4_ppb, N2O_ppb, CH4_eff_ppb, N2O_eff_ppb)
     6156          END IF
     6157
     6158          ! CH4: choose which mass mixing ratio to feed RRTM
     6159          ! if "ok_CH4_eff_ppb" = .TRUE., we convert the effective
     6160          ! concentration (ppb) into a mass mixing ratio
     6161          ! Otherwise we use the "actual" RCH4_act
     6162          IF (ok_CH4_eff_ppb) THEN
     6163             RCH4 = CH4_eff_ppb * 1.0E-09 * RMCH4 / RMD
     6164             !RCH4_eff = CH4_eff_ppb * 1.0E-09 * RMCH4 / RMD
     6165          ELSE
     6166          RCH4 = RCH4_act
     6167          END IF
     6168
     6169          ! N2O: choose which mass mixing ratio to feed RRTM
     6170          ! if "ok_N2O_eff_ppb" = .TRUE., we convert the effective
     6171          ! concentration (ppb) into a mass mixing ratio
     6172          ! Othewise we use the "actual" RN2O_act           
     6173          IF (ok_N2O_eff_ppb) THEN
     6174             RN2O = N2O_eff_ppb * 1.0E-09 * RMN2O / RMD
     6175             !RN2O_eff = N2O_eff_ppb * 1.0E-09 * RMN2O / RMD
     6176          ELSE
     6177          RN2O = RN2O_act
     6178          END IF
     6179          ! PC
     6180#else
     6181          IF (ok_CH4_eff_ppb .OR. ok_N2O_eff_ppb .OR. &
     6182                  TRIM(ghg_mode) /= "identity") THEN
     6183
     6184                  abort_message = 'CH4/N2O effective mapping (ghg_mode=' // &
     6185                          TRIM(ghg_mode) // ') is only supported ' // &
     6186                          ' for RRTM (CPP_RRTM). Please recompile ' // &
     6187                          ' with -rrtm or set ok_CH4_eff_ppb=n, ' // &
     6188                          'ok_N2O_eff_ppb=n and ghg_mode="identity".'
     6189                  CALL abort_physic(modname,abort_message, 1)
     6190          ENDIF       
     6191
     6192          ! In all cases we feed the unmodified "actual" mixing ratios
     6193          ! to the radiation scheme when not using RRTM.
    61386194          RCH4 = RCH4_act
    61396195          RN2O = RN2O_act
     6196#endif
     6197
     6198
    61406199          RCFC11 = RCFC11_act
    61416200          RCFC12 = RCFC12_act
Note: See TracChangeset for help on using the changeset viewer.