Changeset 2351 for LMDZ5/trunk/libf/phylmd/physiq.F90
- Timestamp:
- Aug 25, 2015, 5:14:59 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/physiq.F90
r2345 r2351 12 12 USE ioipsl, only: histbeg, histvert, histdef, histend, histsync, & 13 13 histwrite, ju2ymds, ymds2ju, getin 14 USE comgeomphy14 USE geometry_mod, ONLY: cell_area, latitude_deg, longitude_deg 15 15 USE phys_cal_mod, only: year_len, mth_len, days_elapsed, jh_1jan, year_cur, & 16 16 mth_cur,jD_cur, jH_cur, jD_ref, phys_cal_update … … 923 923 igout=klon/2+1/klon 924 924 write(lunout,*) 'DEBUT DE PHYSIQ !!!!!!!!!!!!!!!!!!!!' 925 write(lunout,*) 'igout, rlat, rlon ',igout, rlatd(igout)*180./3.141593, rlond(igout)*180./3.141593925 write(lunout,*) 'igout, rlat, rlon ',igout, latitude_deg(igout), longitude_deg(igout) 926 926 write(lunout,*) & 927 927 'nlon,klev,nqtot,debut,lafin, jD_cur, jH_cur,pdtphys' … … 1356 1356 rg, & 1357 1357 ra, & 1358 airephy, &1358 cell_area, & 1359 1359 rlat, & 1360 1360 rlon, & … … 1563 1563 IF (ip_ebil_phy.ge.1) THEN 1564 1564 ztit='after dynamic' 1565 CALL diagetpq( airephy,ztit,ip_ebil_phy,1,1,dtime &1565 CALL diagetpq(cell_area,ztit,ip_ebil_phy,1,1,dtime & 1566 1566 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 1567 1567 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) … … 1570 1570 ! est egale a la variation de la physique au pas de temps precedent. 1571 1571 ! Donc la somme de ces 2 variations devrait etre nulle. 1572 call diagphy( airephy,ztit,ip_ebil_phy &1572 call diagphy(cell_area,ztit,ip_ebil_phy & 1573 1573 , zero_v, zero_v, zero_v, zero_v, zero_v & 1574 1574 , zero_v, zero_v, zero_v, ztsol & … … 1774 1774 IF (ip_ebil_phy.ge.2) THEN 1775 1775 ztit='after reevap' 1776 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,1,dtime &1776 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,1,dtime & 1777 1777 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 1778 1778 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 1779 call diagphy( airephy,ztit,ip_ebil_phy &1779 call diagphy(cell_area,ztit,ip_ebil_phy & 1780 1780 , zero_v, zero_v, zero_v, zero_v, zero_v & 1781 1781 , zero_v, zero_v, zero_v, ztsol & … … 2032 2032 IF (ip_ebil_phy.ge.2) THEN 2033 2033 ztit='after surface_main' 2034 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &2034 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 2035 2035 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 2036 2036 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 2037 call diagphy( airephy,ztit,ip_ebil_phy &2037 call diagphy(cell_area,ztit,ip_ebil_phy & 2038 2038 , zero_v, zero_v, zero_v, zero_v, sens & 2039 2039 , evap , zero_v, zero_v, ztsol & … … 2082 2082 ENDDO 2083 2083 IF (check) THEN 2084 za = qcheck(klon,klev,paprs,q_seri,ql_seri, airephy)2084 za = qcheck(klon,klev,paprs,q_seri,ql_seri,cell_area) 2085 2085 WRITE(lunout,*) "avantcon=", za 2086 2086 ENDIF … … 2102 2102 DO k = 1, klev 2103 2103 DO i = 1, klon 2104 omega(i,k) = RG*flxmass_w(i,k) / airephy(i)2104 omega(i,k) = RG*flxmass_w(i,k) / cell_area(i) 2105 2105 END DO 2106 2106 END DO … … 2488 2488 IF (ip_ebil_phy.ge.2) THEN 2489 2489 ztit='after convect' 2490 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &2490 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 2491 2491 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 2492 2492 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 2493 call diagphy( airephy,ztit,ip_ebil_phy &2493 call diagphy(cell_area,ztit,ip_ebil_phy & 2494 2494 , zero_v, zero_v, zero_v, zero_v, zero_v & 2495 2495 , zero_v, rain_con, snow_con, ztsol & … … 2499 2499 ! 2500 2500 IF (check) THEN 2501 za = qcheck(klon,klev,paprs,q_seri,ql_seri, airephy)2501 za = qcheck(klon,klev,paprs,q_seri,ql_seri,cell_area) 2502 2502 WRITE(lunout,*)"aprescon=", za 2503 2503 zx_t = 0.0 2504 2504 za = 0.0 2505 2505 DO i = 1, klon 2506 za = za + airephy(i)/REAL(klon)2506 za = za + cell_area(i)/REAL(klon) 2507 2507 zx_t = zx_t + (rain_con(i)+ & 2508 snow_con(i))* airephy(i)/REAL(klon)2508 snow_con(i))*cell_area(i)/REAL(klon) 2509 2509 ENDDO 2510 2510 zx_t = zx_t/za*dtime … … 2653 2653 IF (ip_ebil_phy.ge.2) THEN 2654 2654 ztit='after wake' 2655 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &2655 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 2656 2656 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 2657 2657 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 2658 call diagphy( airephy,ztit,ip_ebil_phy &2658 call diagphy(cell_area,ztit,ip_ebil_phy & 2659 2659 , zero_v, zero_v, zero_v, zero_v, zero_v & 2660 2660 , zero_v, zero_v, zero_v, ztsol & … … 2746 2746 ,ztv,zpspsk,ztla,zthl & 2747 2747 !cc nrlmd le 10/04/2012 2748 ,pbl_tke_input,pctsrf,omega, airephy&2748 ,pbl_tke_input,pctsrf,omega,cell_area & 2749 2749 ,zlcl_th,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 & 2750 2750 ,n2,s2,ale_bl_stat & … … 2970 2970 IF (ip_ebil_phy.ge.2) THEN 2971 2971 ztit='after dry_adjust' 2972 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &2972 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 2973 2973 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 2974 2974 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 2975 call diagphy( airephy,ztit,ip_ebil_phy &2975 call diagphy(cell_area,ztit,ip_ebil_phy & 2976 2976 , zero_v, zero_v, zero_v, zero_v, zero_v & 2977 2977 , zero_v, zero_v, zero_v, ztsol & … … 3023 3023 ENDDO 3024 3024 IF (check) THEN 3025 za = qcheck(klon,klev,paprs,q_seri,ql_seri, airephy)3025 za = qcheck(klon,klev,paprs,q_seri,ql_seri,cell_area) 3026 3026 WRITE(lunout,*)"apresilp=", za 3027 3027 zx_t = 0.0 3028 3028 za = 0.0 3029 3029 DO i = 1, klon 3030 za = za + airephy(i)/REAL(klon)3030 za = za + cell_area(i)/REAL(klon) 3031 3031 zx_t = zx_t + (rain_lsc(i) & 3032 + snow_lsc(i))* airephy(i)/REAL(klon)3032 + snow_lsc(i))*cell_area(i)/REAL(klon) 3033 3033 ENDDO 3034 3034 zx_t = zx_t/za*dtime … … 3038 3038 IF (ip_ebil_phy.ge.2) THEN 3039 3039 ztit='after fisrt' 3040 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &3040 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 3041 3041 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 3042 3042 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 3043 call diagphy( airephy,ztit,ip_ebil_phy &3043 call diagphy(cell_area,ztit,ip_ebil_phy & 3044 3044 , zero_v, zero_v, zero_v, zero_v, zero_v & 3045 3045 , zero_v, rain_lsc, snow_lsc, ztsol & … … 3308 3308 IF (ip_ebil_phy.ge.2) THEN 3309 3309 ztit="after diagcld" 3310 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &3310 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 3311 3311 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 3312 3312 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 3313 call diagphy( airephy,ztit,ip_ebil_phy &3313 call diagphy(cell_area,ztit,ip_ebil_phy & 3314 3314 , zero_v, zero_v, zero_v, zero_v, zero_v & 3315 3315 , zero_v, zero_v, zero_v, ztsol & … … 3377 3377 CALL AEROSOL_METEO_CALC( & 3378 3378 calday,pdtphys,pplay,paprs,t,pmflxr,pmflxs, & 3379 prfl,psfl,pctsrf, airephy,rlat,rlon,u10m,v10m)3379 prfl,psfl,pctsrf,cell_area,rlat,rlon,u10m,v10m) 3380 3380 END IF 3381 3381 … … 3388 3388 rlat, & 3389 3389 rlon, & 3390 airephy, &3390 cell_area, & 3391 3391 paprs, & 3392 3392 pplay, & … … 3735 3735 IF (ip_ebil_phy.ge.2) THEN 3736 3736 ztit='after rad' 3737 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &3737 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 3738 3738 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 3739 3739 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 3740 call diagphy( airephy,ztit,ip_ebil_phy &3740 call diagphy(cell_area,ztit,ip_ebil_phy & 3741 3741 , topsw, toplw, solsw, sollw, zero_v & 3742 3742 , zero_v, zero_v, zero_v, ztsol & … … 3953 3953 IF (ip_ebil_phy.ge.2) THEN 3954 3954 ztit='after orography' 3955 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &3955 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 3956 3956 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 3957 3957 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 3958 call diagphy( airephy,ztit,ip_ebil_phy &3958 call diagphy(cell_area,ztit,ip_ebil_phy & 3959 3959 , zero_v, zero_v, zero_v, zero_v, zero_v & 3960 3960 , zero_v, zero_v, zero_v, ztsol & … … 4061 4061 cdragh,coefh(1:klon,1:klev,is_ave),u1,v1,ftsol,pctsrf, & 4062 4062 frac_impa, frac_nucl, & 4063 pphis, airephy,dtime,itap, &4063 pphis,cell_area,dtime,itap, & 4064 4064 qx(:,:,ivap),da,phi,mp,upwd,dnwd) 4065 4065 … … 4101 4101 IF (ip_ebil_phy.ge.1) THEN 4102 4102 ztit='after physic' 4103 CALL diagetpq( airephy,ztit,ip_ebil_phy,1,1,dtime &4103 CALL diagetpq(cell_area,ztit,ip_ebil_phy,1,1,dtime & 4104 4104 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 4105 4105 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) … … 4109 4109 ! Donc la somme de ces 2 variations devrait etre nulle. 4110 4110 4111 call diagphy( airephy,ztit,ip_ebil_phy &4111 call diagphy(cell_area,ztit,ip_ebil_phy & 4112 4112 , topsw, toplw, solsw, sollw, sens & 4113 4113 , evap, rain_fall, snow_fall, ztsol & … … 4169 4169 paprs, & 4170 4170 q_seri, & 4171 airephy, &4171 cell_area, & 4172 4172 pphi, & 4173 4173 pphis, &
Note: See TracChangeset
for help on using the changeset viewer.