--- trunk/Sources/phylmd/physiq.f 2016/06/08 12:23:41 202 +++ trunk/Sources/phylmd/physiq.f 2016/06/08 15:27:32 204 @@ -32,8 +32,6 @@ use conflx_m, only: conflx USE ctherm, ONLY: iflag_thermals, nsplit_thermals use diagcld2_m, only: diagcld2 - use diagetpq_m, only: diagetpq - use diagphy_m, only: diagphy USE dimens_m, ONLY: llm, nqmx USE dimphy, ONLY: klon USE dimsoil, ONLY: nsoilmx @@ -402,12 +400,6 @@ ! Variables li\'ees au bilan d'\'energie et d'enthalpie : REAL ztsol(klon) - REAL d_h_vcol, d_qt, d_ec - REAL, SAVE:: d_h_vcol_phy - REAL zero_v(klon) - CHARACTER(LEN = 20) tit - INTEGER:: ip_ebil = 0 ! print level for energy conservation diagnostics - INTEGER:: if_ebil = 0 ! verbosity for diagnostics of energy conservation REAL d_t_ec(klon, llm) ! tendance due \`a la conversion Ec en énergie thermique @@ -466,13 +458,12 @@ integer, save:: ncid_startphy - namelist /physiq_nml/ fact_cldcon, facttemps, ok_newmicro, & - iflag_cldcon, ratqsbas, ratqshaut, if_ebil, ok_ade, ok_aie, bl95_b0, & - bl95_b1, iflag_thermals, nsplit_thermals + namelist /physiq_nml/ fact_cldcon, facttemps, ok_newmicro, iflag_cldcon, & + ratqsbas, ratqshaut, ok_ade, ok_aie, bl95_b0, bl95_b1, & + iflag_thermals, nsplit_thermals !---------------------------------------------------------------- - IF (if_ebil >= 1) zero_v = 0. IF (nqmx < 2) CALL abort_gcm('physiq', & 'eaux vapeur et liquide sont indispensables') @@ -512,8 +503,6 @@ trmb2 =0. ! inhibition trmb3 =0. ! Point Omega - IF (if_ebil >= 1) d_h_vcol_phy = 0. - iflag_thermals = 0 nsplit_thermals = 1 print *, "Enter namelist 'physiq_nml'." @@ -572,20 +561,6 @@ ztsol = sum(ftsol * pctsrf, dim = 2) - IF (if_ebil >= 1) THEN - tit = 'after dynamics' - CALL diagetpq(airephy, tit, ip_ebil, 1, 1, dtphys, t_seri, q_seri, & - ql_seri, u_seri, v_seri, paprs, d_h_vcol, d_qt, d_ec) - ! Comme les tendances de la physique sont ajout\'es dans la - ! dynamique, la variation d'enthalpie par la dynamique devrait - ! \^etre \'egale \`a la variation de la physique au pas de temps - ! pr\'ec\'edent. Donc la somme de ces 2 variations devrait \^etre - ! nulle. - call diagphy(airephy, tit, ip_ebil, zero_v, zero_v, zero_v, zero_v, & - zero_v, zero_v, zero_v, zero_v, ztsol, d_h_vcol + d_h_vcol_phy, & - d_qt, 0.) - END IF - ! Diagnostic de la tendance dynamique : IF (ancien_ok) THEN DO k = 1, llm @@ -634,14 +609,6 @@ ENDDO ql_seri = 0. - IF (if_ebil >= 2) THEN - tit = 'after reevap' - CALL diagetpq(airephy, tit, ip_ebil, 2, 1, dtphys, t_seri, q_seri, & - ql_seri, u_seri, v_seri, paprs, d_h_vcol, d_qt, d_ec) - call diagphy(airephy, tit, ip_ebil, zero_v, zero_v, zero_v, zero_v, & - zero_v, zero_v, zero_v, zero_v, ztsol, d_h_vcol, d_qt, d_ec) - END IF - frugs = MAX(frugs, 0.000015) zxrugs = sum(frugs * pctsrf, dim = 2) @@ -711,14 +678,6 @@ ENDDO ENDDO - IF (if_ebil >= 2) THEN - tit = 'after clmain' - CALL diagetpq(airephy, tit, ip_ebil, 2, 2, dtphys, t_seri, q_seri, & - ql_seri, u_seri, v_seri, paprs, d_h_vcol, d_qt, d_ec) - call diagphy(airephy, tit, ip_ebil, zero_v, zero_v, zero_v, zero_v, & - sens, evap, zero_v, zero_v, ztsol, d_h_vcol, d_qt, d_ec) - END IF - ! Update surface temperature: DO i = 1, klon @@ -859,14 +818,6 @@ ENDDO ENDDO - IF (if_ebil >= 2) THEN - tit = 'after convect' - CALL diagetpq(airephy, tit, ip_ebil, 2, 2, dtphys, t_seri, q_seri, & - ql_seri, u_seri, v_seri, paprs, d_h_vcol, d_qt, d_ec) - call diagphy(airephy, tit, ip_ebil, zero_v, zero_v, zero_v, zero_v, & - zero_v, zero_v, rain_con, snow_con, ztsol, d_h_vcol, d_qt, d_ec) - END IF - IF (check) THEN za = qcheck(paprs, q_seri, ql_seri) print *, "aprescon = ", za @@ -912,12 +863,6 @@ q_seri, d_u_ajs, d_v_ajs, d_t_ajs, d_q_ajs, fm_therm, entr_therm) endif - IF (if_ebil >= 2) THEN - tit = 'after dry_adjust' - CALL diagetpq(airephy, tit, ip_ebil, 2, 2, dtphys, t_seri, q_seri, & - ql_seri, u_seri, v_seri, paprs, d_h_vcol, d_qt, d_ec) - END IF - ! Caclul des ratqs ! ratqs convectifs \`a l'ancienne en fonction de (q(z = 0) - q) / q @@ -986,14 +931,6 @@ print *, "Precip = ", zx_t ENDIF - IF (if_ebil >= 2) THEN - tit = 'after fisrt' - CALL diagetpq(airephy, tit, ip_ebil, 2, 2, dtphys, t_seri, q_seri, & - ql_seri, u_seri, v_seri, paprs, d_h_vcol, d_qt, d_ec) - call diagphy(airephy, tit, ip_ebil, zero_v, zero_v, zero_v, zero_v, & - zero_v, zero_v, rain_lsc, snow_lsc, ztsol, d_h_vcol, d_qt, d_ec) - END IF - ! PRESCRIPTION DES NUAGES POUR LE RAYONNEMENT ! 1. NUAGES CONVECTIFS @@ -1067,10 +1004,6 @@ snow_fall(i) = snow_con(i) + snow_lsc(i) ENDDO - IF (if_ebil >= 2) CALL diagetpq(airephy, "after diagcld", ip_ebil, 2, 2, & - dtphys, t_seri, q_seri, ql_seri, u_seri, v_seri, paprs, d_h_vcol, & - d_qt, d_ec) - ! Humidit\'e relative pour diagnostic : DO k = 1, llm DO i = 1, klon @@ -1132,14 +1065,6 @@ ENDDO ENDDO - IF (if_ebil >= 2) THEN - tit = 'after rad' - CALL diagetpq(airephy, tit, ip_ebil, 2, 2, dtphys, t_seri, q_seri, & - ql_seri, u_seri, v_seri, paprs, d_h_vcol, d_qt, d_ec) - call diagphy(airephy, tit, ip_ebil, topsw, toplw, solsw, sollw, & - zero_v, zero_v, zero_v, zero_v, ztsol, d_h_vcol, d_qt, d_ec) - END IF - ! Calculer l'hydrologie de la surface DO i = 1, klon zxqsurf(i) = 0. @@ -1228,10 +1153,6 @@ CALL aaam_bud(rg, romega, rlat, rlon, pphis, zustrdr, zustrli, zustrph, & zvstrdr, zvstrli, zvstrph, paprs, u, v, aam, torsfc) - IF (if_ebil >= 2) CALL diagetpq(airephy, 'after orography', ip_ebil, 2, & - 2, dtphys, t_seri, q_seri, ql_seri, u_seri, v_seri, paprs, d_h_vcol, & - d_qt, d_ec) - ! Calcul des tendances traceurs call phytrac(julien, time, firstcal, lafin, dtphys, t, paprs, play, mfu, & mfd, pde_u, pen_d, ycoefh, fm_therm, entr_therm, yu1, yv1, ftsol, & @@ -1263,19 +1184,6 @@ END DO END DO - IF (if_ebil >= 1) THEN - tit = 'after physic' - CALL diagetpq(airephy, tit, ip_ebil, 1, 1, dtphys, t_seri, q_seri, & - ql_seri, u_seri, v_seri, paprs, d_h_vcol, d_qt, d_ec) - ! Comme les tendances de la physique sont ajoute dans la dynamique, - ! on devrait avoir que la variation d'entalpie par la dynamique - ! est egale a la variation de la physique au pas de temps precedent. - ! Donc la somme de ces 2 variations devrait etre nulle. - call diagphy(airephy, tit, ip_ebil, topsw, toplw, solsw, sollw, sens, & - evap, rain_fall, snow_fall, ztsol, d_h_vcol, d_qt, d_ec) - d_h_vcol_phy = d_h_vcol - END IF - ! SORTIES ! prw = eau precipitable