- Timestamp:
- Jul 20, 2024, 12:00:23 PM (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/pbl_surface_mod.F90
r5082 r5087 241 241 IF (iso_eau >= 0) THEN 242 242 CALL iso_verif_egalite_vect2D( & 243 &xtsnow,snow, &244 &'pbl_surface_mod 170',niso,klon,nbsrf)243 xtsnow,snow, & 244 'pbl_surface_mod 170',niso,klon,nbsrf) 245 245 DO i=1,klon 246 246 IF (iso_eau >= 0) THEN 247 247 CALL iso_verif_egalite(Rland_ice(iso_eau,i),1.0, & 248 &'pbl_surf_mod 177')248 'pbl_surf_mod 177') 249 249 ENDIF 250 250 ENDDO … … 319 319 !!! 320 320 #ifdef ISO 321 &,xtrain_f, xtsnow_f,xt, &322 &wake_dlxt,zxxtevap,xtevap, &323 &d_xt,d_xt_w,d_xt_x, &324 &xtsol,dflux_xt,zxxtsnow,zxfluxxt,flux_xt, &325 &h1_diag,runoff_diag,xtrunoff_diag &321 ,xtrain_f, xtsnow_f,xt, & 322 wake_dlxt,zxxtevap,xtevap, & 323 d_xt,d_xt_w,d_xt_x, & 324 xtsol,dflux_xt,zxxtsnow,zxfluxxt,flux_xt, & 325 h1_diag,runoff_diag,xtrunoff_diag & 326 326 #endif 327 &)327 ) 328 328 !**************************************************************************************** 329 329 ! Auteur(s) Z.X. Li (LMD/CNRS) date: 19930818 … … 1102 1102 IF (iso_eau >= 0) THEN 1103 1103 CALL iso_verif_egalite_choix(Rland_ice(iso_eau,i),1.0, & 1104 &'pbl_surf_mod 585',errmax,errmaxrel)1104 'pbl_surf_mod 585',errmax,errmaxrel) 1105 1105 CALL iso_verif_egalite_choix(xtsnow_f(iso_eau,i),snow_f(i), & 1106 &'pbl_surf_mod 594',errmax,errmaxrel)1106 'pbl_surf_mod 594',errmax,errmaxrel) 1107 1107 IF (iso_verif_egalite_choix_nostop(xtsol(iso_eau,i),qsol(i), & 1108 &'pbl_surf_mod 596',errmax,errmaxrel) == 1) THEN1108 'pbl_surf_mod 596',errmax,errmaxrel) == 1) THEN 1109 1109 WRITE(*,*) 'i=',i 1110 1110 STOP … … 1112 1112 DO nsrf=1,nbsrf 1113 1113 CALL iso_verif_egalite_choix(xtsnow(iso_eau,i,nsrf),snow(i,nsrf), & 1114 &'pbl_surf_mod 598',errmax,errmaxrel)1114 'pbl_surf_mod 598',errmax,errmaxrel) 1115 1115 ENDDO 1116 1116 ENDIF !IF (iso_eau >= 0) THEN … … 1120 1120 IF (iso_eau >= 0) THEN 1121 1121 CALL iso_verif_egalite_choix(xt(iso_eau,i,k),q(i,k), & 1122 &'pbl_surf_mod 595',errmax,errmaxrel)1122 'pbl_surf_mod 595',errmax,errmaxrel) 1123 1123 ENDIF !IF (iso_eau >= 0) THEN 1124 1124 ENDDO !DO i=1,knon … … 1708 1708 IF (iso_eau >= 0) THEN 1709 1709 call iso_verif_egalite_choix(ysnow_f(j), & 1710 &yxtsnow_f(iso_eau,j),'pbl_surf_mod 862', &1711 &errmax,errmaxrel)1710 yxtsnow_f(iso_eau,j),'pbl_surf_mod 862', & 1711 errmax,errmaxrel) 1712 1712 call iso_verif_egalite_choix(ysnow(j), & 1713 &yxtsnow(iso_eau,j),'pbl_surf_mod 872', &1714 &errmax,errmaxrel)1713 yxtsnow(iso_eau,j),'pbl_surf_mod 872', & 1714 errmax,errmaxrel) 1715 1715 ENDIF 1716 1716 #endif … … 2144 2144 AcoefH, AcoefQ, BcoefH, BcoefQ & 2145 2145 #ifdef ISO 2146 & ,yxt, CcoefXT, DcoefXT, gama_xt, AcoefXT, BcoefXT &2146 ,yxt, CcoefXT, DcoefXT, gama_xt, AcoefXT, BcoefXT & 2147 2147 #endif 2148 &)2148 ) 2149 2149 ELSE !(iflag_split .eq.0) 2150 2150 CALL climb_hq_down(knon, ycoefh_x, ypaprs, ypplay, & … … 2156 2156 AcoefH_x, AcoefQ_x, BcoefH_x, BcoefQ_x & 2157 2157 #ifdef ISO 2158 & ,yxt_x, CcoefXT_x, DcoefXT_x, gama_xt_x, AcoefXT_x, BcoefXT_x &2158 ,yxt_x, CcoefXT_x, DcoefXT_x, gama_xt_x, AcoefXT_x, BcoefXT_x & 2159 2159 #endif 2160 &)2160 ) 2161 2161 !!! 2162 2162 IF (prt_level >=10) THEN … … 2175 2175 AcoefH_w, AcoefQ_w, BcoefH_w, BcoefQ_w & 2176 2176 #ifdef ISO 2177 & ,yxt_w, CcoefXT_w, DcoefXT_w, gama_xt_w, AcoefXT_w, BcoefXT_w &2177 ,yxt_w, CcoefXT_w, DcoefXT_w, gama_xt_w, AcoefXT_w, BcoefXT_w & 2178 2178 #endif 2179 &)2179 ) 2180 2180 !!! 2181 2181 IF (prt_level >=10) THEN … … 2431 2431 yveget,ylai,yheight & 2432 2432 #ifdef ISO 2433 &,yxtrain_f, yxtsnow_f,yxt1, &2434 &yxtsnow,yxtsol,yxtevap,h1, &2435 &yrunoff_diag,yxtrunoff_diag,yRland_ice &2433 ,yxtrain_f, yxtsnow_f,yxt1, & 2434 yxtsnow,yxtsol,yxtevap,h1, & 2435 yrunoff_diag,yxtrunoff_diag,yRland_ice & 2436 2436 #endif 2437 &)2437 ) 2438 2438 2439 2439 !FC quid qd yveget ylai yheight ne sont pas definit … … 2470 2470 DO ixt=1,ntraciso 2471 2471 CALL iso_verif_noNaN(yxtevap(ixt,j), & 2472 &'pbl_surface 1056a: apres surf_land')2472 'pbl_surface 1056a: apres surf_land') 2473 2473 ENDDO 2474 2474 DO ixt=1,niso 2475 2475 CALL iso_verif_noNaN(yxtsol(ixt,j), & 2476 &'pbl_surface 1056b: apres surf_land')2476 'pbl_surface 1056b: apres surf_land') 2477 2477 ENDDO 2478 2478 ENDDO … … 2483 2483 IF (iso_eau >= 0) THEN 2484 2484 CALL iso_verif_egalite(yxtsnow(iso_eau,j), & 2485 &ysnow(j),'pbl_surf_mod 1043')2485 ysnow(j),'pbl_surf_mod 1043') 2486 2486 ENDIF !if (iso_eau.gt.0) then 2487 2487 ENDDO !DO i=1,klon … … 2510 2510 y_flux_u1, y_flux_v1 & 2511 2511 #ifdef ISO 2512 &,yxtrain_f, yxtsnow_f,yxt1,yRland_ice &2513 &,yxtsnow,yxtsol,yxtevap &2512 ,yxtrain_f, yxtsnow_f,yxt1,yRland_ice & 2513 ,yxtsnow,yxtsol,yxtevap & 2514 2514 #endif 2515 &)2515 ) 2516 2516 2517 2517 !jyg< … … 2540 2540 DO ixt=1,ntraciso 2541 2541 CALL iso_verif_noNaN(yxtevap(ixt,j), & 2542 &'pbl_surface 1095a: apres surf_landice')2542 'pbl_surface 1095a: apres surf_landice') 2543 2543 ENDDO 2544 2544 do ixt=1,niso 2545 2545 call iso_verif_noNaN(yxtsol(ixt,j), & 2546 &'pbl_surface 1095b: apres surf_landice')2546 'pbl_surface 1095b: apres surf_landice') 2547 2547 enddo 2548 2548 enddo … … 2553 2553 IF (iso_eau >= 0) THEN 2554 2554 CALL iso_verif_egalite(yxtsnow(iso_eau,j), & 2555 &ysnow(j),'pbl_surf_mod 1064')2555 ysnow(j),'pbl_surf_mod 1064') 2556 2556 ENDIF !if (iso_eau >= 0) THEN 2557 2557 ENDDO !DO i=1,klon … … 2576 2576 ydt_ds(:knon), ytkt(:knon), ytks(:knon), ytaur(:knon), ysss & 2577 2577 #ifdef ISO 2578 &,yxtrain_f, yxtsnow_f,yxt1,Roce, &2579 &yxtsnow,yxtevap,h1 &2578 ,yxtrain_f, yxtsnow_f,yxt1,Roce, & 2579 yxtsnow,yxtevap,h1 & 2580 2580 #endif 2581 &)2581 ) 2582 2582 IF (prt_level >=10) THEN 2583 2583 print *,'arg de surf_ocean: ycdragh ',ycdragh(1:knon) … … 2622 2622 y_flux_u1, y_flux_v1 & 2623 2623 #ifdef ISO 2624 &,yxtrain_f, yxtsnow_f,yxt1,Roce, &2625 &yxtsnow,yxtsol,yxtevap,Rland_ice &2624 ,yxtrain_f, yxtsnow_f,yxt1,Roce, & 2625 yxtsnow,yxtsol,yxtevap,Rland_ice & 2626 2626 #endif 2627 &)2627 ) 2628 2628 2629 2629 ! Special DICE MPL 05082013 puis BOMEX MPL 20150410 … … 2639 2639 DO ixt=1,ntraciso 2640 2640 CALL iso_verif_noNaN(yxtevap(ixt,j), & 2641 &'pbl_surface 1165a: apres surf_seaice')2641 'pbl_surface 1165a: apres surf_seaice') 2642 2642 ENDDO 2643 2643 DO ixt=1,niso 2644 2644 CALL iso_verif_noNaN(yxtsol(ixt,j), & 2645 &'pbl_surface 1165b: apres surf_seaice')2645 'pbl_surface 1165b: apres surf_seaice') 2646 2646 ENDDO 2647 2647 ENDDO … … 2652 2652 IF (iso_eau >= 0) THEN 2653 2653 CALL iso_verif_egalite(yxtsnow(iso_eau,j), & 2654 &ysnow(j),'pbl_surf_mod 1106')2654 ysnow(j),'pbl_surf_mod 1106') 2655 2655 ENDIF !IF (iso_eau >= 0) THEN 2656 2656 ENDDO !DO i=1,klon … … 2763 2763 DO j=1,knon 2764 2764 print*,'y_flux_t1,yfluxlat,wakes' & 2765 &, y_flux_t1(j), yfluxlat(j), ywake_s(j)2765 , y_flux_t1(j), yfluxlat(j), ywake_s(j) 2766 2766 print*,'beta_prev, beta, ytsurf_new', ybeta_prev(j), ybeta(j), ytsurf_new(j) 2767 2767 print*,'inertia,facteur,cstar', inertia, facteur,wake_cstar(j) … … 2937 2937 print*,'Khx,Khw,Kh', Kech_h_x(j), Kech_h_w(j), Kech_h(j) 2938 2938 print*,'t1x, t1w, t1, t1_ancien', & 2939 &yt_x(j,1), yt_w(j,1), yt(j,1), t(j,1)2939 yt_x(j,1), yt_w(j,1), yt(j,1), t(j,1) 2940 2940 print*,'delta_coef,delta_flux,delta_tsurf,tau', delta_coef(j), y_delta_flux_t1(j), y_delta_tsurf(j), tau_eq(j) 2941 2941 ENDDO … … 2943 2943 DO j=1,knon 2944 2944 print*,'fluxT_x, fluxT_w, y_flux_t1, fluxQ_x, fluxQ_w, yfluxlat, wakes' & 2945 &, y_flux_t1_x(j), y_flux_t1_w(j), y_flux_t1(j), y_flux_q1_x(j)*RLVTT, y_flux_q1_w(j)*RLVTT, yfluxlat(j), ywake_s(j)2945 , y_flux_t1_x(j), y_flux_t1_w(j), y_flux_t1(j), y_flux_q1_x(j)*RLVTT, y_flux_q1_w(j)*RLVTT, yfluxlat(j), ywake_s(j) 2946 2946 print*,'beta, ytsurf_new ', ybeta(j), ytsurf_new(j) 2947 2947 print*,'inertia, facteur, cstar', inertia, facteur,wake_cstar(j) … … 2966 2966 y_flux_q(:,:), y_flux_t(:,:), y_d_q(:,:), y_d_t(:,:) & 2967 2967 #ifdef ISO 2968 &,yxt,y_flux_xt1 &2969 &,AcoefXT,BcoefXT,CcoefXT,DcoefXT,gama_xt &2970 &,y_flux_xt(:,:,:),y_d_xt(:,:,:) &2971 #endif 2972 & )2968 ,yxt,y_flux_xt1 & 2969 ,AcoefXT,BcoefXT,CcoefXT,DcoefXT,gama_xt & 2970 ,y_flux_xt(:,:,:),y_d_xt(:,:,:) & 2971 #endif 2972 ) 2973 2973 ELSE !(iflag_split .eq.0) 2974 2974 CALL climb_hq_up(knon, dtime, yt_x, yq_x, & … … 2981 2981 y_flux_q_x(:,:), y_flux_t_x(:,:), y_d_q_x(:,:), y_d_t_x(:,:) & 2982 2982 #ifdef ISO 2983 &,yxt_x,y_flux_xt1_x &2984 &,AcoefXT_x,BcoefXT_x,CcoefXT_x,DcoefXT_x,gama_xt_x &2985 &,y_flux_xt_x(:,:,:),y_d_xt_x(:,:,:) &2986 #endif 2987 & )2983 ,yxt_x,y_flux_xt1_x & 2984 ,AcoefXT_x,BcoefXT_x,CcoefXT_x,DcoefXT_x,gama_xt_x & 2985 ,y_flux_xt_x(:,:,:),y_d_xt_x(:,:,:) & 2986 #endif 2987 ) 2988 2988 ! 2989 2989 CALL climb_hq_up(knon, dtime, yt_w, yq_w, & … … 2996 2996 y_flux_q_w(:,:), y_flux_t_w(:,:), y_d_q_w(:,:), y_d_t_w(:,:) & 2997 2997 #ifdef ISO 2998 &,yxt_w,y_flux_xt1_w &2999 &,AcoefXT_w,BcoefXT_w,CcoefXT_w,DcoefXT_w,gama_xt_w &3000 &,y_flux_xt_w(:,:,:),y_d_xt_w(:,:,:) &3001 #endif 3002 & )2998 ,yxt_w,y_flux_xt1_w & 2999 ,AcoefXT_w,BcoefXT_w,CcoefXT_w,DcoefXT_w,gama_xt_w & 3000 ,y_flux_xt_w(:,:,:),y_d_xt_w(:,:,:) & 3001 #endif 3002 ) 3003 3003 !!! 3004 3004 ENDIF ! (iflag_split .eq.0) … … 3019 3019 IF (iflag_pbl>=20 .and. iflag_pbl<30) THEN 3020 3020 CALL yamada_c(knon,dtime,ypaprs,ypplay & 3021 &,yu,yv,yt,y_d_u,y_d_v,y_d_t,ycdragm,ytke,ycoefm,ycoefh,ycoefq,y_d_t_diss,yustar &3022 &,iflag_pbl)3021 ,yu,yv,yt,y_d_u,y_d_v,y_d_t,ycdragm,ytke,ycoefm,ycoefh,ycoefq,y_d_t_diss,yustar & 3022 ,iflag_pbl) 3023 3023 ENDIF 3024 3024 ! print*,'yamada_c OK' … … 3036 3036 IF (iflag_pbl>=20 .and. iflag_pbl<30) THEN 3037 3037 CALL yamada_c(knon,dtime,ypaprs,ypplay & 3038 &,yu_x,yv_x,yt_x,y_d_u_x,y_d_v_x,y_d_t_x,ycdragm_x,ytke_x,ycoefm_x,ycoefh_x &3038 ,yu_x,yv_x,yt_x,y_d_u_x,y_d_v_x,y_d_t_x,ycdragm_x,ytke_x,ycoefm_x,ycoefh_x & 3039 3039 ,ycoefq_x,y_d_t_diss_x,yustar_x & 3040 &,iflag_pbl)3040 ,iflag_pbl) 3041 3041 ENDIF 3042 3042 ! print*,'yamada_c OK' … … 3053 3053 IF (iflag_pbl>=20 .and. iflag_pbl<30) THEN 3054 3054 CALL yamada_c(knon,dtime,ypaprs,ypplay & 3055 &,yu_w,yv_w,yt_w,y_d_u_w,y_d_v_w,y_d_t_w,ycdragm_w,ytke_w,ycoefm_w,ycoefh_w &3055 ,yu_w,yv_w,yt_w,y_d_u_w,y_d_v_w,y_d_t_w,ycdragm_w,ytke_w,ycoefm_w,ycoefh_w & 3056 3056 ,ycoefq_w,y_d_t_diss_w,yustar_w & 3057 &,iflag_pbl)3057 ,iflag_pbl) 3058 3058 ENDIF 3059 3059 ! print*,'yamada_c OK' … … 3277 3277 IF (iso_eau.gt.0) THEN 3278 3278 call iso_verif_egalite_choix(Rland_ice(iso_eau,i),1.0, & 3279 &'pbl_surf_mod 1230',errmax,errmaxrel)3279 'pbl_surf_mod 1230',errmax,errmaxrel) 3280 3280 ENDIF !if (iso_eau.gt.0) then 3281 3281 #endif … … 3489 3489 ! write(*,*) 'iso_eau.gt.0=',iso_eau.gt.0 3490 3490 call iso_verif_noNaN_vect2D( & 3491 &d_xt, &3492 & 'pbl_surface 1385',ntraciso,klon,klev)3491 d_xt, & 3492 'pbl_surface 1385',ntraciso,klon,klev) 3493 3493 IF (iso_eau >= 0) THEN 3494 3494 call iso_verif_egalite_vect2D( &
Note: See TracChangeset
for help on using the changeset viewer.