Changeset 2524 for LMDZ5


Ignore:
Timestamp:
May 26, 2016, 7:39:44 AM (9 years ago)
Author:
oboucher
Message:

Enabling the possibility to prescribe daily values for solaire and RSUN
Only works for RRTM new radiation scheme
This is activated by ok_suntime_rrtm
This does not have any impact on REPROBUS

Location:
LMDZ5/trunk/libf/phylmd
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/clesphys.h

    r2254 r2524  
    1515       INTEGER nbapp_rad, iflag_con,iflag_ener_conserv
    1616       REAL co2_ppm, co2_ppm0, solaire
     17       LOGICAL ok_suntime_rrtm
    1718       REAL(kind=8) RCO2, RCH4, RN2O, RCFC11, RCFC12 
    1819       REAL(kind=8) RCO2_act, RCH4_act, RN2O_act, RCFC11_act, RCFC12_act 
     
    110111     &     , top_height                                                 &
    111112     &     , cycle_diurne, soil_model, new_oliq                         &
    112      &     ,ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad, iflag_con      &
     113     &     , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad, iflag_con     &
    113114     &     , iflag_ener_conserv                                         &
    114115     &     , ok_4xCO2atm                                                &
     116     &     , ok_suntime_rrtm                                            &
    115117     &     , overlap                                                    &
    116118     &     , ok_kzmin                                                   &
     
    129131       save /clesphys/
    130132!$OMP THREADPRIVATE(/clesphys/)
    131  
  • LMDZ5/trunk/libf/phylmd/conf_phys_m.F90

    r2481 r2524  
    148148
    149149    REAL,SAVE :: R_ecc_omp,R_peri_omp,R_incl_omp,solaire_omp
     150    LOGICAL,SAVE :: ok_suntime_rrtm_omp
    150151    REAL,SAVE :: co2_ppm_omp, RCO2_omp, co2_ppm_per_omp, RCO2_per_omp
    151152    REAL,SAVE :: CH4_ppb_omp, RCH4_omp, CH4_ppb_per_omp, RCH4_per_omp
     
    515516    call getin('solaire', solaire_omp)
    516517    !
     518    !Config Key  = ok_sun_time
     519    !Config Desc = oui ou non variabilite solaire
     520    !Config Def  = .false.
     521    !Config Help =
     522    !
     523    !
     524    !valeur AMIP II
     525    ok_suntime_rrtm_omp = .false.
     526    call getin('ok_suntime_rrtm',ok_suntime_rrtm_omp)
     527    !
    517528    !Config Key  = co2_ppm
    518529    !Config Desc = concentration du gaz carbonique en ppmv
     
    19671978    R_incl = R_incl_omp
    19681979    solaire = solaire_omp
     1980    ok_suntime_rrtm = ok_suntime_rrtm_omp
    19691981    co2_ppm = co2_ppm_omp
    19701982    RCO2 = RCO2_omp
     
    22812293    write(lunout,*)' Inclinaison =',R_incl
    22822294    write(lunout,*)' Constante solaire =',solaire
     2295    write(lunout,*)' ok_suntime_rrtm =',ok_suntime_rrtm
    22832296    write(lunout,*)' co2_ppm =',co2_ppm
    22842297    write(lunout,*)' RCO2_act = ',RCO2_act
  • LMDZ5/trunk/libf/phylmd/physiq_mod.F90

    r2517 r2524  
    6969#ifdef CPP_RRTM
    7070    USE YOERAD, ONLY : NRADLP
     71    USE YOESW, ONLY : RSUN
    7172#endif
    7273    USE ioipsl_getin_p_mod, ONLY : getin_p
     
    432433    REAL d_t_adjwk(klon,klev)                !jyg
    433434    REAL d_q_adjwk(klon,klev)                !jyg
    434 
    435     REAL,SAVE :: oliqmax=999.    ! Seuil en kg/kg pour le contenu max
    436     !$OMP THREADPRIVATE(oliqmax) ! en eau liquide dans l'atmosphère.
    437 
    438435    LOGICAL,SAVE :: ok_adjwk=.FALSE.
    439436    !$OMP THREADPRIVATE(ok_adjwk)
     
    10541051       CALL getin_p('random_notrig_max',random_notrig_max)
    10551052       CALL getin_p('ok_adjwk',ok_adjwk)
    1056        CALL getin_p('oliqmax',oliqmax)
    10571053    ENDIF
    10581054
     
    28842880    CALL add_phys_tend(du0,dv0,d_t_lsc,d_q_lsc,d_ql_lsc,d_qi_lsc,paprs, &
    28852881         'lsc',abortphy)
    2886 
    2887    !---------------------------------------------------------------------------
    2888    ! Elimination d'eau liquide > oliqmax
    2889    !---------------------------------------------------------------------------
    2890     rain_num(:)=0.
    2891     DO k = 1, klev 
    2892        DO i = 1, klon
    2893           IF (ql_seri(i,k)>oliqmax) THEN
    2894              rain_num(i)=rain_num(i)+(ql_seri(i,k)-oliqmax)*zmasse(i,k)/pdtphys
    2895              ql_seri(i,k)=oliqmax
    2896           ENDIF
    2897        ENDDO
    2898     ENDDO
    2899     rain_lsc(:)=rain_lsc(:)+rain_num(:)
    2900 
     2882    !---------------------------------------------------------------------------
    29012883    DO k = 1, klev
    29022884       DO i = 1, klon
     
    34293411       !enddo
    34303412       !albedo SB <<<
     3413
     3414!--if ok_suntime_rrtm we use ancillay data for RSUN
     3415!--previous values are therefore overwritten
     3416!--this is needed for CMIP6 runs
     3417!--and only possible for new radiation scheme
     3418       IF (iflag_rrtm.EQ.1.AND.ok_suntime_rrtm) THEN
     3419         CALL read_rsun_rrtm(debut)
     3420       ENDIF
     3421
     3422       if (mydebug) then
     3423          call writefield_phy('u_seri',u_seri,nbp_lev)
     3424          call writefield_phy('v_seri',v_seri,nbp_lev)
     3425          call writefield_phy('t_seri',t_seri,nbp_lev)
     3426          call writefield_phy('q_seri',q_seri,nbp_lev)
     3427       endif
    34313428
    34323429       !
Note: See TracChangeset for help on using the changeset viewer.