--- trunk/phylmd/clesphys2.f 2014/07/02 18:39:15 99 +++ trunk/Sources/phylmd/clesphys2.f 2016/12/07 16:44:53 208 @@ -5,8 +5,8 @@ implicit none LOGICAL:: cycle_diurne = .TRUE. - ! Cette option permet d'éteindre le cycle diurne. - ! Peut être utile pour accélérer le code. + ! Cette option permet d'\'eteindre le cycle diurne. Peut \^etre utile + ! pour acc\'el\'erer le code. LOGICAL:: soil_model = .TRUE. ! Choix du modele de sol (Thermique ?) @@ -25,11 +25,7 @@ INTEGER:: nbapp_rad = 12 ! nombre d'appels des routines de rayonnements par jour - INTEGER:: iflag_con = 2 - ! Convection scheme: - ! 2 Tiedtke - ! 3 Emanuel - ! 4 Emanuel vect + logical:: conv_emanuel = .true. ! convection scheme of Emanuel, else Tiedtke contains @@ -37,16 +33,21 @@ use unit_nml_m, only: unit_nml use nr_util, only: assert + use conf_gcm_m, only: day_step, iphysiq - namelist /clesphys2_nml/cycle_diurne, soil_model, new_oliq, & - ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad, iflag_con + namelist /clesphys2_nml/cycle_diurne, soil_model, new_oliq, ok_orodr, & + ok_orolf, ok_limitvrai, nbapp_rad, conv_emanuel !------------------------------------ print *, "Enter namelist 'clesphys2_nml'." read(unit=*, nml=clesphys2_nml) write(unit_nml, nml=clesphys2_nml) - call assert(iflag_con >= 2, "read_clesphys2 iflag_con") + call assert(mod(day_step / iphysiq, nbapp_rad) == 0, & + "read_clesphys2 nbapp_rad") + call assert(nbapp_rad >= 4 .or. .not. cycle_diurne, & + "read_clesphys2: minimum 4 calls to radiative transfer per day if " & + // "cycle_diurne") end subroutine read_clesphys2