Changeset 2707 for LMDZ5/trunk
- Timestamp:
- Nov 21, 2016, 5:44:17 PM (8 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/clesphys.h
r2580 r2707 13 13 LOGICAL ok_limitvrai 14 14 LOGICAL ok_all_xml 15 INTEGER nbapp_rad, iflag_con, iflag_ener_conserv15 INTEGER nbapp_rad, iflag_con, nbapp_cv, iflag_ener_conserv 16 16 REAL co2_ppm, co2_ppm0, solaire 17 17 LOGICAL ok_suntime_rrtm … … 113 113 & , top_height & 114 114 & , cycle_diurne, soil_model, new_oliq & 115 & , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad, iflag_con & 115 & , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad & 116 & , iflag_con, nbapp_cv & 116 117 & , iflag_ener_conserv & 117 118 & , ok_4xCO2atm & -
LMDZ5/trunk/libf/phylmd/conf_phys_m.F90
r2704 r2707 207 207 LOGICAL,SAVE :: ok_orodr_omp, ok_orolf_omp, ok_limitvrai_omp 208 208 INTEGER, SAVE :: nbapp_rad_omp, iflag_con_omp 209 INTEGER, SAVE :: nbapp_cv_omp 209 210 INTEGER, SAVE :: iflag_ener_conserv_omp 210 211 LOGICAL, SAVE :: ok_conserv_q_omp … … 776 777 iflag_con_omp = 2 777 778 CALL getin('iflag_con',iflag_con_omp) 779 780 !Config Key = nbapp_cv 781 !Config Desc = Frequence d'appel a la convection 782 !Config Def = 0 783 !Config Help = Nombre d'appels des routines de convection 784 !Config par jour. Si =0, appel a chaque pas de temps physique. 785 nbapp_cv_omp = 0 786 CALL getin('nbapp_cv',nbapp_cv_omp) 778 787 779 788 !Config Key = iflag_ener_conserv … … 2052 2061 nbapp_rad = nbapp_rad_omp 2053 2062 iflag_con = iflag_con_omp 2063 nbapp_cv = nbapp_cv_omp 2054 2064 iflag_ener_conserv = iflag_ener_conserv_omp 2055 2065 ok_conserv_q = ok_conserv_q_omp … … 2385 2395 write(lunout,*)'nbapp_rad=',nbapp_rad 2386 2396 write(lunout,*)'iflag_con=',iflag_con 2397 write(lunout,*)'nbapp_cv=',nbapp_cv 2387 2398 write(lunout,*)'iflag_ener_conserv=',iflag_ener_conserv 2388 2399 write(lunout,*)'ok_conserv_q=',ok_conserv_q -
LMDZ5/trunk/libf/phylmd/phys_state_var_mod.F90
r2635 r2707 17 17 INTEGER, PARAMETER :: napisccp=1 18 18 INTEGER, SAVE :: radpas 19 INTEGER, SAVE :: cvpas 19 20 REAL, PARAMETER :: missing_val_nf90=nf90_fill_real 20 21 !$OMP THREADPRIVATE(radpas) 22 !$OMP THREADPRIVATE(cvpas) 21 23 REAL, SAVE :: dtime, solaire_etat0 22 24 !$OMP THREADPRIVATE(dtime, solaire_etat0) -
LMDZ5/trunk/libf/phylmd/physiq_mod.F90
r2705 r2707 775 775 REAL s_trmb1(klon), s_trmb2(klon) 776 776 REAL s_trmb3(klon) 777 778 ! La convection n'est pas calculee tous les pas, il faut donc 779 ! sauvegarder les sorties de la convection 780 !ym SAVE 781 !ym SAVE 782 !ym SAVE 783 ! 784 INTEGER itapcv 785 SAVE itapcv 786 !$OMP THREADPRIVATE(itapcv) 787 777 788 !KE43 778 789 ! Variables locales pour la convection de K. Emanuel (sb): … … 1273 1284 itap = 0 1274 1285 itaprad = 0 1286 itapcv = 0 1275 1287 1276 1288 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 1299 1311 // 'de nbapp_rad' 1300 1312 CALL abort_physic(modname,abort_message,1) 1313 ENDIF 1314 IF (nbapp_cv .EQ. 0) nbapp_cv=86400./dtime 1315 print *,'physiq, nbapp_cv ',nbapp_cv 1316 IF (MOD(INT(86400./dtime),nbapp_cv).EQ.0) THEN 1317 cvpas = NINT( 86400./dtime/nbapp_cv) 1318 print *,'physiq, cvpas ',cvpas 1319 ELSE 1320 WRITE(lunout,*) 'le nombre de pas de temps physique doit etre un ', & 1321 'multiple de nbapp_cv' 1322 WRITE(lunout,*) 'changer nbapp_cv ou alors commenter ce test ', & 1323 'mais 1+1<>2' 1324 abort_message='nbre de pas de temps physique n est pas multiple ' & 1325 // 'de nbapp_cv' 1326 call abort_physic(modname,abort_message,1) 1301 1327 ENDIF 1302 1328 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 2335 2361 omega(igout, :) 2336 2362 2363 ! 2364 ! Appel de la convection tous les "cvpas" 2365 ! 2366 IF (MOD(itapcv,cvpas).EQ.0) THEN 2367 2337 2368 IF (iflag_con.EQ.1) THEN 2338 2369 abort_message ='reactiver le call conlmd dans physiq.F' … … 2586 2617 ! . d_u_con, d_v_con) 2587 2618 2619 itapcv = 0 2620 ENDIF ! (MOD(itapcv,cvpas).EQ.0) 2621 itapcv = itapcv+1 2622 2588 2623 CALL add_phys_tend(d_u_con, d_v_con, d_t_con, d_q_con, dql0, dqi0, paprs, & 2589 2624 'convection',abortphy,flag_inhib_tend) … … 2660 2695 ! 2661 2696 IF (iflag_wake>=1) THEN 2697 ! 2698 ! Call wakes only when convection has been called 2699 IF (itapcv .EQ. 1) THEN 2700 ! 2662 2701 DO k=1,klev 2663 2702 DO i=1,klon … … 2713 2752 wake_spread, wake_Cstar, d_deltat_wk_gw, & 2714 2753 d_deltat_wk, d_deltaq_wk, d_s_wk, d_dens_wk) 2754 ! 2755 ENDIF ! (mod(itapcv,cvpas) .EQ. 1) 2715 2756 ! 2716 2757 !-----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.