Changeset 2638 for LMDZ5/trunk
- Timestamp:
- Sep 29, 2016, 1:18:14 PM (8 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/cv3_routines.F90
r2605 r2638 1060 1060 p, ph, h, tv, lv, lf, pbase, buoybase, plcl, & 1061 1061 inb, tp, tvp, clw, hp, ep, sigp, buoy, frac) 1062 USE print_control_mod, ONLY: prt_level 1062 1063 IMPLICIT NONE 1063 1064 … … 1118 1119 REAL fracg 1119 1120 REAL deltap 1121 1122 IF (prt_level >= 10) THEN 1123 print *,'cv3_undilute2.0. t(1,k), q(1,k), qs(1,k) ', & 1124 (k, t(1,k), q(1,k), qs(1,k), k = 1,nl) 1125 ENDIF 1120 1126 1121 1127 ! ===================================================================== … … 1304 1310 END DO 1305 1311 END DO 1312 1313 IF (prt_level >= 10) THEN 1314 print *,'cv3_undilute2.1. tp(1,k), tvp(1,k) ', & 1315 (k, tp(1,k), tvp(1,k), k = 1,nl) 1316 ENDIF 1306 1317 1307 1318 ! ===================================================================== -
LMDZ5/trunk/libf/phylmd/cva_driver.F90
r2628 r2638 675 675 END IF 676 676 ! print*,'t1, q1 ',t1,q1 677 if (prt_level >= 9) & 678 PRINT *, 'cva_driver -> cv3_prelim' 677 679 CALL cv3_prelim(len, nd, ndp1, t1, q1, p1, ph1, & ! nd->na 678 680 lv1, lf1, cpn1, tv1, gz1, h1, hm1, th1) 679 681 680 682 683 if (prt_level >= 9) & 684 PRINT *, 'cva_driver -> cv3_prelim' 681 685 CALL cv3_prelim(len, nd, ndp1, t1_wake, q1_wake, p1, ph1, & ! nd->na 682 686 lv1_wake, lf1_wake, cpn1_wake, tv1_wake, gz1_wake, & … … 687 691 IF (iflag_con==4) THEN 688 692 PRINT *, 'Emanuel version 4 ' 693 if (prt_level >= 9) & 694 PRINT *, 'cva_driver -> cv_prelim' 689 695 CALL cv_prelim(len, nd, ndp1, t1, q1, p1, ph1, & 690 696 lv1, cpn1, tv1, gz1, h1, hm1) … … 730 736 ! write(*,'(64i1)') iflag1(2:klon-1) 731 737 738 if (prt_level >= 9) & 739 PRINT *, 'cva_driver -> cv3_feed' 732 740 CALL cv3_feed(len, nd, ok_conserv_q, & ! nd->na 733 741 t1, q1, u1, v1, p1, ph1, hm1, gz1, & … … 742 750 743 751 IF (iflag_con==4) THEN 752 if (prt_level >= 9) & 753 PRINT *, 'cva_driver -> cv_feed' 744 754 CALL cv_feed(len, nd, t1, q1, qs1, p1, hm1, gz1, & 745 755 nk1, icb1, icbmax, iflag1, tnk1, qnk1, gznk1, plcl1) … … 757 767 IF (iflag_con==3) THEN 758 768 769 if (prt_level >= 9) & 770 PRINT *, 'cva_driver -> cv3_undilute1' 759 771 CALL cv3_undilute1(len, nd, t1, qs1, gz1, plcl1, p1, icb1, tnk1, qnk1, & ! nd->na 760 772 gznk1, tp1, tvp1, clw1, icbs1) … … 763 775 764 776 IF (iflag_con==4) THEN 777 if (prt_level >= 9) & 778 PRINT *, 'cva_driver -> cv_undilute1' 765 779 CALL cv_undilute1(len, nd, t1, q1, qs1, gz1, p1, nk1, icb1, icbmax, & 766 780 tp1, tvp1, clw1) … … 775 789 IF (iflag_con==3) THEN 776 790 791 if (prt_level >= 9) & 792 PRINT *, 'cva_driver -> cv3_trigger' 777 793 CALL cv3_trigger(len, nd, icb1, plcl1, p1, th1, tv1, tvp1, thnk1, & ! nd->na 778 794 pbase1, buoybase1, iflag1, sig1, w01) … … 787 803 788 804 IF (iflag_con==4) THEN 805 if (prt_level >= 9) & 806 PRINT *, 'cva_driver -> cv_trigger' 789 807 CALL cv_trigger(len, nd, icb1, cbmf1, tv1, tvp1, iflag1) 790 808 END IF … … 833 851 ! 834 852 !>jyg 853 if (prt_level >= 9) & 854 PRINT *, 'cva_driver -> cv3a_compress' 835 855 CALL cv3a_compress(len, nloc, ncum, nd, ntra, compress, & 836 856 iflag1, nk1, icb1, icbs1, & … … 861 881 862 882 IF (iflag_con==4) THEN 883 if (prt_level >= 9) & 884 PRINT *, 'cva_driver -> cv_compress' 863 885 CALL cv_compress(len, nloc, ncum, nd, & 864 886 iflag1, nk1, icb1, & … … 883 905 884 906 IF (iflag_con==3) THEN 907 if (prt_level >= 9) & 908 PRINT *, 'cva_driver -> cv3_undilute2' 885 909 CALL cv3_undilute2(nloc, ncum, nd, icb, icbs, nk, & !na->nd 886 910 tnk, qnk, gznk, hnk, t, q, qs, gz, & … … 891 915 892 916 IF (iflag_con==4) THEN 917 if (prt_level >= 9) & 918 PRINT *, 'cva_driver -> cv_undilute2' 893 919 CALL cv_undilute2(nloc, ncum, nd, icb, nk, & 894 920 tnk, qnk, gznk, t, q, qs, gz, & … … 899 925 ! epmax_cape 900 926 ! on recalcule ep et hp 927 if (prt_level >= 9) & 928 PRINT *, 'cva_driver -> cv3_epmax_cape' 901 929 call cv3_epmax_fn_cape(nloc,ncum,nd & 902 930 , ep,hp,icb,inb,clw,nk,t,h,hnk,lv,lf,frac & … … 915 943 IF (iflag_mix>=1) THEN 916 944 CALL zilch(supmax, nloc*klev) 945 if (prt_level >= 9) & 946 PRINT *, 'cva_driver -> cv3p_mixing' 917 947 CALL cv3p_mixing(nloc, ncum, nd, nd, ntra, icb, nk, inb, & ! na->nd 918 948 ph, t, q, qs, u, v, tra, h, lv, lf, frac, qnk, & … … 933 963 IF (iflag_con==3) THEN 934 964 IF (iflag_clos==0) THEN 965 if (prt_level >= 9) & 966 PRINT *, 'cva_driver -> cv3_closure' 935 967 CALL cv3_closure(nloc, ncum, nd, icb, inb, & ! na->nd 936 968 pbase, p, ph, tv, buoy, & … … 949 981 950 982 IF (iflag_clos==2) THEN 983 if (prt_level >= 9) & 984 PRINT *, 'cva_driver -> cv3p1_closure' 951 985 CALL cv3p1_closure(nloc, ncum, nd, icb, inb, & ! na->nd 952 986 pbase, plcl, p, ph, tv, tvp, buoy, & … … 960 994 961 995 IF (iflag_clos==3) THEN 996 if (prt_level >= 9) & 997 PRINT *, 'cva_driver -> cv3p2_closure' 962 998 CALL cv3p2_closure(nloc, ncum, nd, icb, inb, & ! na->nd 963 999 pbase, plcl, p, ph, tv, tvp, buoy, & … … 972 1008 973 1009 IF (iflag_con==4) THEN 1010 if (prt_level >= 9) & 1011 PRINT *, 'cva_driver -> cv_closure' 974 1012 CALL cv_closure(nloc, ncum, nd, nk, icb, & 975 1013 tv, tvp, p, ph, dph, plcl, cpn, & … … 985 1023 IF (iflag_con==3) THEN 986 1024 IF (iflag_mix==0) THEN 1025 if (prt_level >= 9) & 1026 PRINT *, 'cva_driver -> cv3_mixing' 987 1027 CALL cv3_mixing(nloc, ncum, nd, nd, ntra, icb, nk, inb, & ! na->nd 988 1028 ph, t, q, qs, u, v, tra, h, lv, lf, frac, qnk, & … … 999 1039 1000 1040 IF (iflag_con==4) THEN 1041 if (prt_level >= 9) & 1042 PRINT *, 'cva_driver -> cv_mixing' 1001 1043 CALL cv_mixing(nloc, ncum, nd, icb, nk, inb, inbis, & 1002 1044 ph, t, q, qs, u, v, h, lv, qnk, & … … 1020 1062 END IF !(debut) THEN 1021 1063 1064 if (prt_level >= 9) & 1065 PRINT *, 'cva_driver -> cv3_unsat' 1022 1066 CALL cv3_unsat(nloc, ncum, nd, nd, ntra, icb, inb, iflag, & ! na->nd 1023 1067 t_wake, q_wake, qs_wake, gz, u, v, tra, p, ph, & … … 1046 1090 1047 1091 IF (iflag_con==4) THEN 1092 if (prt_level >= 9) & 1093 PRINT *, 'cva_driver -> cv_unsat' 1048 1094 CALL cv_unsat(nloc, ncum, nd, inb, t, q, qs, gz, u, v, p, ph, & 1049 1095 h, lv, ep, sigp, clw, m, ment, elij, & … … 1065 1111 IF (iflag_con==3) THEN 1066 1112 1113 if (prt_level >= 9) & 1114 PRINT *, 'cva_driver -> cv3_yield' 1067 1115 CALL cv3_yield(nloc, ncum, nd, nd, ntra, ok_conserv_q, & ! na->nd 1068 1116 icb, inb, delt, & … … 1094 1142 1095 1143 IF (iflag_con==4) THEN 1144 if (prt_level >= 9) & 1145 PRINT *, 'cva_driver -> cv_yield' 1096 1146 CALL cv_yield(nloc, ncum, nd, nk, icb, inb, delt, & 1097 1147 t, q, u, v, & … … 1112 1162 IF (iflag_con==3) THEN 1113 1163 !RomP >>> 1164 if (prt_level >= 9) & 1165 PRINT *, 'cva_driver -> cv3_tracer' 1114 1166 CALL cv3_tracer(nloc, len, ncum, nd, nd, & 1115 1167 ment, sigij, da, phi, phi2, d1a, dam, & … … 1127 1179 1128 1180 IF (iflag_con==3) THEN 1181 if (prt_level >= 9) & 1182 PRINT *, 'cva_driver -> cv3a_uncompress' 1129 1183 CALL cv3a_uncompress(nloc, len, ncum, nd, ntra, idcum, compress, & 1130 1184 iflag, icb, inb, & … … 1157 1211 1158 1212 IF (iflag_con==4) THEN 1213 if (prt_level >= 9) & 1214 PRINT *, 'cva_driver -> cv_uncompress' 1159 1215 CALL cv_uncompress(nloc, len, ncum, nd, idcum, & 1160 1216 iflag, & -
LMDZ5/trunk/libf/phylmd/physiq_mod.F90
r2635 r2638 1124 1124 if (first) then 1125 1125 1126 CALL iophys_ini 1127 1126 1128 !CR:nvelles variables convection/poches froides 1127 1129 … … 1401 1403 ! 11/09/06 rajout initialisation ALE et ALP du wake et PBL(YU) 1402 1404 ! print*,'apres ini_wake iflag_cld_th=', iflag_cld_th 1405 ! 1406 ! Initialize tendencies of wake state variables (for some flag values 1407 ! they are not computed). 1408 d_deltat_wk(:,:) = 0. 1409 d_deltaq_wk(:,:) = 0. 1410 d_deltat_wk_gw(:,:) = 0. 1411 d_deltaq_wk_gw(:,:) = 0. 1412 d_deltat_vdf(:,:) = 0. 1413 d_deltaq_vdf(:,:) = 0. 1414 d_deltat_the(:,:) = 0. 1415 d_deltaq_the(:,:) = 0. 1416 d_deltat_ajs_cv(:,:) = 0. 1417 d_deltaq_ajs_cv(:,:) = 0. 1418 d_s_wk(:) = 0. 1419 d_dens_wk(:) = 0. 1403 1420 endif 1404 1421 … … 2420 2437 CALL ajsec(paprs, pplay, t_w, q_w, limbas, & 2421 2438 d_t_adjwk, d_q_adjwk) 2422 ENDIF2423 !2424 DO k=1,klev2425 DO i=1,klon2426 IF (wake_s(i) .GT. 1.e-3) THEN2427 t_w(i,k) = t_w(i,k) + d_t_adjwk(i,k)2428 q_w(i,k) = q_w(i,k) + d_q_adjwk(i,k)2429 d_deltat_ajs_cv(i,k) = d_t_adjwk(i,k)2430 d_deltaq_ajs_cv(i,k) = d_q_adjwk(i,k)2431 ELSE2432 d_deltat_ajs_cv(i,k) = 0.2433 d_deltaq_ajs_cv(i,k) = 0.2434 END IF2439 ! 2440 DO k=1,klev 2441 DO i=1,klon 2442 IF (wake_s(i) .GT. 1.e-3) THEN 2443 t_w(i,k) = t_w(i,k) + d_t_adjwk(i,k) 2444 q_w(i,k) = q_w(i,k) + d_q_adjwk(i,k) 2445 d_deltat_ajs_cv(i,k) = d_t_adjwk(i,k) 2446 d_deltaq_ajs_cv(i,k) = d_q_adjwk(i,k) 2447 ELSE 2448 d_deltat_ajs_cv(i,k) = 0. 2449 d_deltaq_ajs_cv(i,k) = 0. 2450 ENDIF 2451 ENDDO 2435 2452 ENDDO 2436 ENDDO2437 CALL add_wake_tend &2438 (d_deltat_ajs_cv, d_deltaq_ajs_cv, dsig0, ddens0, wkoccur1, 'ajs_cv', abortphy)2453 CALL add_wake_tend & 2454 (d_deltat_ajs_cv, d_deltaq_ajs_cv, dsig0, ddens0, wkoccur1, 'ajs_cv', abortphy) 2455 ENDIF ! (ok_adjwk) 2439 2456 ENDIF ! (iflag_wake>=1) 2440 2457 !>jyg 2441 2458 ! 2459 2460 !! print *,'physiq. q_w(1,k), q_x(1,k) ', & 2461 !! (k, q_w(1,k), q_x(1,k),k=1,25) 2462 2442 2463 !jyg< 2443 2464 CALL alpale( debut, itap, dtime, paprs, omega, t_seri, & … … 2885 2906 ENDDO 2886 2907 ENDDO 2887 ENDIF2888 ! 2889 CALL add_wake_tend &2890 (d_deltat_the, d_deltaq_the, dsig0, ddens0, wkoccur1, 'the', abortphy)2891 ! 2908 ! 2909 CALL add_wake_tend & 2910 (d_deltat_the, d_deltaq_the, dsig0, ddens0, wkoccur1, 'the', abortphy) 2911 ! 2912 ENDIF ! (mod(iflag_pbl_split/2,2) .EQ. 1) 2892 2913 ! 2893 2914 CALL add_phys_tend(d_u_ajs,d_v_ajs,d_t_ajs,d_q_ajs, &
Note: See TracChangeset
for help on using the changeset viewer.