Changeset 5983
- Timestamp:
- Dec 19, 2025, 3:10:52 PM (3 weeks ago)
- File:
-
- 1 edited
-
LMDZ6/trunk/libf/phylmd/pbl_surface_mod.F90 (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/pbl_surface_mod.F90
r5978 r5983 2554 2554 REAL, DIMENSION(klon,klev+1,nbsrf+1), INTENT(INOUT) :: eps_x ! TKE dissipation rate 2555 2555 2556 REAL, DIMENSION(klon), INTENT( OUT) :: cdragh ! drag coefficient for T and Q2557 REAL, DIMENSION(klon), INTENT( OUT) :: cdragm ! drag coefficient for wind2558 REAL, DIMENSION(klon), INTENT( OUT) :: alb3_lic2559 REAL, DIMENSION(klon), INTENT( OUT) :: icesub_lic ! ice (no snow!) sublimation over ice sheet2556 REAL, DIMENSION(klon), INTENT(INOUT) :: cdragh ! drag coefficient for T and Q 2557 REAL, DIMENSION(klon), INTENT(INOUT) :: cdragm ! drag coefficient for wind 2558 REAL, DIMENSION(klon), INTENT(INOUT) :: alb3_lic 2559 REAL, DIMENSION(klon), INTENT(INOUT) :: icesub_lic ! ice (no snow!) sublimation over ice sheet 2560 2560 REAL, DIMENSION(klon,klev), INTENT(INOUT) :: d_t_w ! ! 2561 2561 REAL, DIMENSION(klon,klev), INTENT(INOUT) :: d_q_w ! ! Tendances dans les poches … … 2576 2576 ! coef for turbulent diffusion of U and V (?), mean for each grid point 2577 2577 #ifdef ISO 2578 REAL, DIMENSION(ntraciso,klon), INTENT( OUT) :: zxxtevap ! water vapour flux at surface, positiv upwards2579 REAL, DIMENSION(ntraciso,klon, klev), INTENT( OUT) :: d_xt ! change in water vapour2580 REAL, DIMENSION(klon), INTENT( OUT) :: runoff_diag2581 REAL, DIMENSION(niso,klon), INTENT( OUT) :: xtrunoff_diag2582 REAL, DIMENSION(ntraciso,klon,klev), INTENT( OUT) :: d_xt_w2583 REAL, DIMENSION(ntraciso,klon,klev), INTENT( OUT) :: d_xt_x2578 REAL, DIMENSION(ntraciso,klon), INTENT(INOUT) :: zxxtevap ! water vapour flux at surface, positiv upwards 2579 REAL, DIMENSION(ntraciso,klon, klev), INTENT(INOUT) :: d_xt ! change in water vapour 2580 REAL, DIMENSION(klon), INTENT(INOUT) :: runoff_diag 2581 REAL, DIMENSION(niso,klon), INTENT(INOUT) :: xtrunoff_diag 2582 REAL, DIMENSION(ntraciso,klon,klev), INTENT(INOUT) :: d_xt_w 2583 REAL, DIMENSION(ntraciso,klon,klev), INTENT(INOUT) :: d_xt_x 2584 2584 #endif 2585 2585 ! Output only for diagnostics … … 2591 2591 REAL, DIMENSION(klon), INTENT(INOUT) :: kh_x 2592 2592 REAL, DIMENSION(klon), INTENT(INOUT) :: kh_w 2593 REAL, DIMENSION(klon), INTENT( OUT) :: slab_wfbils! heat balance at surface only for slab at ocean points2594 REAL, DIMENSION(klon), INTENT( OUT) :: qsol ! water height in the soil (mm)2595 REAL, DIMENSION(klon), INTENT( OUT) :: s_pblh ! height of the planetary boundary layer(HPBL)2596 REAL, DIMENSION(klon), INTENT( OUT) :: s_pblh_x ! height of the PBL in the off-wake region2597 REAL, DIMENSION(klon), INTENT( OUT) :: s_pblh_w ! height of the PBL in the wake region2598 REAL, DIMENSION(klon), INTENT( OUT) :: delta_qsurf! humidity difference at surface, mean for each grid point2593 REAL, DIMENSION(klon), INTENT(INOUT) :: slab_wfbils! heat balance at surface only for slab at ocean points 2594 REAL, DIMENSION(klon), INTENT(INOUT) :: qsol ! water height in the soil (mm) 2595 REAL, DIMENSION(klon), INTENT(INOUT) :: s_pblh ! height of the planetary boundary layer(HPBL) 2596 REAL, DIMENSION(klon), INTENT(INOUT) :: s_pblh_x ! height of the PBL in the off-wake region 2597 REAL, DIMENSION(klon), INTENT(INOUT) :: s_pblh_w ! height of the PBL in the wake region 2598 REAL, DIMENSION(klon), INTENT(INOUT) :: delta_qsurf! humidity difference at surface, mean for each grid point 2599 2599 REAL, DIMENSION(klon), INTENT(INOUT) :: rh2m ! relative humidity at 2m 2600 2600 REAL, DIMENSION(klon, nbsrf+1), INTENT(INOUT) :: z0m,z0h ! rugosity length (m) … … 2602 2602 REAL, DIMENSION(klon, nbsrf), INTENT(IN) :: solsw ! net shortwave radiation at surface 2603 2603 REAL, DIMENSION(klon, nbsrf), INTENT(IN) :: sollw ! net longwave radiation at surface 2604 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: d_ts ! change in temperature at surface2604 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: d_ts ! change in temperature at surface 2605 2605 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: evap ! evaporation at surface 2606 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: fluxlat ! latent flux2607 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: t2m ! temperature at 2 meter height2608 REAL, DIMENSION(klon, klev, nbsrf), INTENT( OUT) :: flux_t ! sensible heat flux (CpT) J/m**2/s (W/m**2)2606 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: fluxlat ! latent flux 2607 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: t2m ! temperature at 2 meter height 2608 REAL, DIMENSION(klon, klev, nbsrf), INTENT(INOUT) :: flux_t ! sensible heat flux (CpT) J/m**2/s (W/m**2) 2609 2609 ! positve orientation downwards 2610 REAL, DIMENSION(klon, klev, nbsrf), INTENT( OUT) :: flux_u ! u wind tension (kg m/s)/(m**2 s) or Pascal2611 REAL, DIMENSION(klon, klev, nbsrf), INTENT( OUT) :: flux_v ! v wind tension (kg m/s)/(m**2 s) or Pascal2610 REAL, DIMENSION(klon, klev, nbsrf), INTENT(INOUT) :: flux_u ! u wind tension (kg m/s)/(m**2 s) or Pascal 2611 REAL, DIMENSION(klon, klev, nbsrf), INTENT(INOUT) :: flux_v ! v wind tension (kg m/s)/(m**2 s) or Pascal 2612 2612 REAL, DIMENSION(klon, klev, nbsrf), INTENT(INOUT) :: treedrg ! tree drag (m) 2613 2613 !AM heterogeneous continental sub-surfaces … … 2623 2623 REAL, DIMENSION(klon, nsoilmx, nbtersrf), INTENT(INOUT) :: tsoil_tersrf ! soil temperature of continental sub-surfaces (K) 2624 2624 #ifdef ISO 2625 REAL, DIMENSION(niso,klon), INTENT( OUT) :: xtsol ! water height in the soil (mm)2625 REAL, DIMENSION(niso,klon), INTENT(INOUT) :: xtsol ! water height in the soil (mm) 2626 2626 REAL, DIMENSION(ntraciso,klon, nbsrf) :: xtevap ! evaporation at surface 2627 REAL, DIMENSION(klon), INTENT( OUT) :: h1_diag ! just diagnostic, not useful2627 REAL, DIMENSION(klon), INTENT(INOUT) :: h1_diag ! just diagnostic, not useful 2628 2628 #endif 2629 2629 2630 2630 ! Output not needed 2631 REAL, DIMENSION(klon), INTENT( OUT) :: dflux_t ! change of sensible heat flux2632 REAL, DIMENSION(klon), INTENT( OUT) :: dflux_q ! change of water vapour flux2633 REAL, DIMENSION(klon, nbsrf),INTENT( OUT) :: q2m ! water vapour at 2 meter height2634 REAL, DIMENSION(klon, klev, nbsrf), INTENT( OUT) :: flux_q ! water vapour flux(latent flux) (kg/m**2/s)2635 REAL, DIMENSION(klon, klev, nbsrf), INTENT( OUT) :: flux_qbs ! blowind snow vertical flux (kg/m**22631 REAL, DIMENSION(klon), INTENT(INOUT) :: dflux_t ! change of sensible heat flux 2632 REAL, DIMENSION(klon), INTENT(INOUT) :: dflux_q ! change of water vapour flux 2633 REAL, DIMENSION(klon, nbsrf),INTENT(INOUT) :: q2m ! water vapour at 2 meter height 2634 REAL, DIMENSION(klon, klev, nbsrf), INTENT(INOUT) :: flux_q ! water vapour flux(latent flux) (kg/m**2/s) 2635 REAL, DIMENSION(klon, klev, nbsrf), INTENT(INOUT) :: flux_qbs ! blowind snow vertical flux (kg/m**2 2636 2636 2637 2637 #ifdef ISO 2638 REAL, DIMENSION(ntraciso,klon), INTENT( OUT) :: dflux_xt ! change of water vapour flux2639 REAL, DIMENSION(niso,klon), INTENT( OUT) :: zxxtsnow ! snow at surface, mean for each grid point2640 REAL, DIMENSION(ntraciso,klon, klev), INTENT( OUT) :: zxfluxxt ! water vapour flux, mean for each grid point2641 REAL, DIMENSION(ntraciso,klon, klev, nbsrf), INTENT( OUT) :: flux_xt ! water vapour flux(latent flux) (kg/m**2/s)2642 #endif 2643 2644 REAL, DIMENSION(klon), INTENT( OUT) :: qsnow ! snow water content2645 REAL, DIMENSION(klon), INTENT( OUT) :: snowhgt ! snow height2646 REAL, DIMENSION(klon), INTENT( OUT) :: to_ice ! snow passed to ice2647 REAL, DIMENSION(klon), INTENT( OUT) :: sissnow ! snow in snow model2648 REAL, DIMENSION(klon), INTENT( OUT) :: runoff ! runoff on land ice2638 REAL, DIMENSION(ntraciso,klon), INTENT(INOUT) :: dflux_xt ! change of water vapour flux 2639 REAL, DIMENSION(niso,klon), INTENT(INOUT) :: zxxtsnow ! snow at surface, mean for each grid point 2640 REAL, DIMENSION(ntraciso,klon, klev), INTENT(INOUT) :: zxfluxxt ! water vapour flux, mean for each grid point 2641 REAL, DIMENSION(ntraciso,klon, klev, nbsrf), INTENT(INOUT) :: flux_xt ! water vapour flux(latent flux) (kg/m**2/s) 2642 #endif 2643 2644 REAL, DIMENSION(klon), INTENT(INOUT) :: qsnow ! snow water content 2645 REAL, DIMENSION(klon), INTENT(INOUT) :: snowhgt ! snow height 2646 REAL, DIMENSION(klon), INTENT(INOUT) :: to_ice ! snow passed to ice 2647 REAL, DIMENSION(klon), INTENT(INOUT) :: sissnow ! snow in snow model 2648 REAL, DIMENSION(klon), INTENT(INOUT) :: runoff ! runoff on land ice 2649 2649 REAL, DIMENSION(klon), INTENT(INOUT) :: hice ! hice 2650 2650 REAL, DIMENSION(klon), INTENT(INOUT) :: tice ! tice … … 2661 2661 ! variables temporaires en "klon" (nom compressée) passée en argument pour les sous-surface 2662 2662 2663 INTEGER, DIMENSION(klon, nbsrf, 6), INTENT( OUT) :: n2mout2664 INTEGER, DIMENSION(klon, nbsrf, 6), INTENT( OUT) :: n2mout_x2665 INTEGER, DIMENSION(klon, nbsrf, 6), INTENT( OUT) :: n2mout_w2666 REAL, DIMENSION(klon, klev), INTENT( OUT) :: d_u_x2667 REAL, DIMENSION(klon, klev), INTENT( OUT) :: d_u_w2668 REAL, DIMENSION(klon, klev), INTENT( OUT) :: d_v_x2669 REAL, DIMENSION(klon, klev), INTENT( OUT) :: d_v_w2663 INTEGER, DIMENSION(klon, nbsrf, 6), INTENT(INOUT) :: n2mout 2664 INTEGER, DIMENSION(klon, nbsrf, 6), INTENT(INOUT) :: n2mout_x 2665 INTEGER, DIMENSION(klon, nbsrf, 6), INTENT(INOUT) :: n2mout_w 2666 REAL, DIMENSION(klon, klev), INTENT(INOUT) :: d_u_x 2667 REAL, DIMENSION(klon, klev), INTENT(INOUT) :: d_u_w 2668 REAL, DIMENSION(klon, klev), INTENT(INOUT) :: d_v_x 2669 REAL, DIMENSION(klon, klev), INTENT(INOUT) :: d_v_w 2670 2670 REAL, DIMENSION(klon, nbsrf), INTENT(IN) :: windsp 2671 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: t2m_x2672 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: q2m_x2671 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: t2m_x 2672 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: q2m_x 2673 2673 REAL, DIMENSION(klon), INTENT(INOUT) :: rh2m_x 2674 2674 REAL, DIMENSION(klon), INTENT(INOUT) :: qsat2m_x 2675 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: u10m_x2676 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: v10m_x2677 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: ustar_x2678 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: wstar_x2679 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: pblh_x2680 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: plcl_x2681 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: capCL_x2682 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: oliqCL_x2683 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: cteiCL_x2684 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: pblt_x2685 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: therm_x2686 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: trmb1_x2687 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: trmb2_x2688 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: trmb3_x2689 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: t2m_w2690 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: q2m_w2675 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: u10m_x 2676 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: v10m_x 2677 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: ustar_x 2678 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: wstar_x 2679 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: pblh_x 2680 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: plcl_x 2681 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: capCL_x 2682 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: oliqCL_x 2683 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: cteiCL_x 2684 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: pblt_x 2685 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: therm_x 2686 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: trmb1_x 2687 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: trmb2_x 2688 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: trmb3_x 2689 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: t2m_w 2690 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: q2m_w 2691 2691 REAL, DIMENSION(klon), INTENT(INOUT) :: rh2m_w 2692 2692 REAL, DIMENSION(klon), INTENT(INOUT) :: qsat2m_w 2693 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: u10m_w2694 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: v10m_w2695 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: ustar_w2696 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: wstar_w2693 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: u10m_w 2694 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: v10m_w 2695 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: ustar_w 2696 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: wstar_w 2697 2697 ! 2698 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: pblh_w2699 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: plcl_w2700 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: capCL_w2701 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: oliqCL_w2702 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: cteiCL_w2703 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: pblt_w2704 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: therm_w2705 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: trmb1_w2706 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: trmb2_w2707 REAL, DIMENSION(klon, nbsrf), INTENT( OUT) :: trmb3_w2708 ! 2709 REAL, DIMENSION(klon,nbsrf), INTENT( OUT) :: pblh ! height of the planetary boundary layer2710 REAL, DIMENSION(klon,nbsrf), INTENT( OUT) :: plcl ! condensation level2711 REAL, DIMENSION(klon,nbsrf), INTENT( OUT) :: capCL2712 REAL, DIMENSION(klon,nbsrf), INTENT( OUT) :: oliqCL2713 REAL, DIMENSION(klon,nbsrf), INTENT( OUT) :: cteiCL2714 REAL, DIMENSION(klon,nbsrf), INTENT( OUT) :: pblT2715 REAL, DIMENSION(klon,nbsrf), INTENT( OUT) :: therm2716 REAL, DIMENSION(klon,nbsrf), INTENT( OUT) :: trmb1 ! deep cape2717 REAL, DIMENSION(klon,nbsrf), INTENT( OUT) :: trmb2 ! inhibition2718 REAL, DIMENSION(klon,nbsrf), INTENT( OUT) :: trmb3 ! point Omega2698 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: pblh_w 2699 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: plcl_w 2700 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: capCL_w 2701 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: oliqCL_w 2702 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: cteiCL_w 2703 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: pblt_w 2704 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: therm_w 2705 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: trmb1_w 2706 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: trmb2_w 2707 REAL, DIMENSION(klon, nbsrf), INTENT(INOUT) :: trmb3_w 2708 ! 2709 REAL, DIMENSION(klon,nbsrf), INTENT(INOUT) :: pblh ! height of the planetary boundary layer 2710 REAL, DIMENSION(klon,nbsrf), INTENT(INOUT) :: plcl ! condensation level 2711 REAL, DIMENSION(klon,nbsrf), INTENT(INOUT) :: capCL 2712 REAL, DIMENSION(klon,nbsrf), INTENT(INOUT) :: oliqCL 2713 REAL, DIMENSION(klon,nbsrf), INTENT(INOUT) :: cteiCL 2714 REAL, DIMENSION(klon,nbsrf), INTENT(INOUT) :: pblT 2715 REAL, DIMENSION(klon,nbsrf), INTENT(INOUT) :: therm 2716 REAL, DIMENSION(klon,nbsrf), INTENT(INOUT) :: trmb1 ! deep cape 2717 REAL, DIMENSION(klon,nbsrf), INTENT(INOUT) :: trmb2 ! inhibition 2718 REAL, DIMENSION(klon,nbsrf), INTENT(INOUT) :: trmb3 ! point Omega 2719 2719 REAL, DIMENSION(klon, nbsrf), INTENT(IN) :: alb ! mean albedo for whole SW interval 2720 REAL, DIMENSION(klon,nbsrf), INTENT( OUT) :: snowerosion2720 REAL, DIMENSION(klon,nbsrf), INTENT(INOUT) :: snowerosion 2721 2721 INTEGER, INTENT(INOUT) :: iflag_split_ref 2722 2722 … … 2862 2862 REAL, DIMENSION(knon,klev) :: y_d_t_x, y_d_q_x, y_d_t_w, y_d_q_w 2863 2863 REAL, DIMENSION(knon,klev) :: y_d_t_diss_x, y_d_t_diss_w 2864 REAL, DIMENSION(k non,klev), INTENT(INOUT) :: d_t_diss_x, d_t_diss_w2864 REAL, DIMENSION(klon,klev), INTENT(INOUT) :: d_t_diss_x, d_t_diss_w 2865 2865 REAL, DIMENSION(knon,klev) :: y_d_u_x, y_d_v_x, y_d_u_w, y_d_v_w 2866 2866 REAL, DIMENSION(klon, klev, nbsrf), INTENT(INOUT) :: flux_t_x, flux_q_x, flux_t_w, flux_q_w
Note: See TracChangeset
for help on using the changeset viewer.
