Changeset 5775 for LMDZ6/trunk/libf/phylmd
- Timestamp:
- Jul 12, 2025, 8:27:38 PM (7 days ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/lmdz_wake.f90
r5763 r5775 2478 2478 ! Cgw : vitesse de propagation de onde de gravite 2479 2479 ! LL : distance between 2 wakes 2480 ! Tgen : 1 sur le temps caracteristique d'amortissement par les naissances de poches 2480 2481 2481 2482 ! ------------------------------------------------------------------------- … … 2573 2574 REAL, DIMENSION (klon, klev) :: cgw 2574 2575 REAL, DIMENSION (klon, klev) :: tgw 2576 REAL, DIMENSION (klon, klev) :: tgen 2575 2577 2576 2578 ! Variables liees au calcul de hw … … 2931 2933 dp_omgb(:,:) = 0. 2932 2934 dp_deltomg(:,:) = 0. 2935 tgen(:,:) = 0. 2933 2936 hw(:) = 0. 2934 2937 wape(:) = 0. … … 3817 3820 entr(i, k) = entr_p(i,k) + gfl(i)*cstar(i) + & 3818 3821 sigmaw(i)*(1.-sigmaw(i))*dp_deltomg(i, k) 3822 tgen(i,k) = entr_p(i,k)/sigmaw(i) 3819 3823 !>jyg 3820 3824 wkspread(i, k) = (entr(i,k)-detr(i,k))/sigmaw(i) … … 3848 3852 !! term (d_deltat_dadv); hence only the entrainment due to population dynamics (entr_p) 3849 3853 !! appears in the expression of d_deltatw. 3850 IF (dtimesub* tgw(i,k)<1.E-10) THEN3854 IF (dtimesub*(tgw(i,k)+tgen(i,k))<1.E-10) THEN 3851 3855 !!! d_deltatw(i, k) = dtimesub*(ff(i)+dtke(i,k) - & ! nouvelle notation 3852 3856 d_deltatw(i, k) = dtimesub*(d_deltat_dadv(i,k)+d_deltat_lsadv(i,k)+d_deltat_dcv(i,k) - & 3853 entr_p(i,k)*deltatw(i,k)/sigmaw(i) - &3854 3857 (death_rate(i)*sigmaw(i)+detr(i,k))*deltatw(i,k)/(1.-sigmaw(i)) - & ! cc 3855 tgw(i,k)*deltatw(i,k) )3858 (tgw(i,k)+tgen(i,k))*deltatw(i,k) ) 3856 3859 ELSE 3857 d_deltatw(i, k) = 1/ tgw(i, k)*(1-exp(-dtimesub*tgw(i,k)))* &3860 d_deltatw(i, k) = 1/(tgw(i,k)+tgen(i,k))*(1-exp(-dtimesub*(tgw(i,k)+tgen(i,k))))* & 3858 3861 !!! (ff(i)+dtke(i,k) - & ! nouvelle notation 3859 3862 (d_deltat_dadv(i,k)+d_deltat_lsadv(i,k)+d_deltat_dcv(i,k) - & 3860 entr_p(i,k)*deltatw(i,k)/sigmaw(i) - &3861 3863 (death_rate(i)*sigmaw(i)+detr(i,k))*deltatw(i,k)/(1.-sigmaw(i)) - & 3862 tgw(i,k)*deltatw(i,k) )3864 (tgw(i,k)+tgen(i,k))*deltatw(i,k) ) 3863 3865 END IF 3864 3866 … … 3868 3870 !! term (d_deltaq_dadv); hence only the entrainment due to population dynamics (entr_p) 3869 3871 !! appears in the expression of d_deltaqw. 3870 d_deltaqw(i, k) = dtimesub*(d_deltaq_dadv(i,k)+d_deltaq_lsadv(i,k)+d_deltaq_dcv(i,k) - & 3871 entr_p(i,k)*deltaqw(i,k)/sigmaw(i) - & 3872 (death_rate(i)*sigmaw(i)+detr(i,k))*deltaqw(i,k)/(1.-sigmaw(i))) 3872 IF (dtimesub*tgen(i,k)<1.E-10) THEN 3873 d_deltaqw(i, k) = dtimesub*(d_deltaq_dadv(i,k)+d_deltaq_lsadv(i,k)+d_deltaq_dcv(i,k) - & 3874 (death_rate(i)*sigmaw(i)+detr(i,k))*deltaqw(i,k)/(1.-sigmaw(i)) - & 3875 tgen(i,k)*deltaqw(i,k)) 3876 ELSE 3877 d_deltaqw(i, k) = 1/tgen(i,k)*(1-exp(-dtimesub*tgen(i,k))) * & 3878 (d_deltaq_dadv(i,k)+d_deltaq_lsadv(i,k)+d_deltaq_dcv(i,k) - & 3879 (death_rate(i)*sigmaw(i)+detr(i,k))*deltaqw(i,k)/(1.-sigmaw(i)) - & 3880 tgen(i,k)*deltaqw(i,k)) 3881 END IF 3873 3882 ! cc 3874 3883 … … 3885 3894 PRINT *, 'wake-4.4, isubstep= ', isubstep,' deltatw(igout,k) ', (k,deltatw(igout,k), k=1,klev) 3886 3895 PRINT *, 'wake-4.4, isubstep= ', isubstep,' d_deltat_dcv(igout,k) ', (k,d_deltat_dcv(igout,k), k=1,klev) 3896 PRINT *, 'wake-4.4, isubstep= ', isubstep,' d_deltat_dadv(igout,k) ', (k,d_deltat_dadv(igout,k), k=1,klev) 3897 PRINT *, 'wake-4.4, isubstep= ', isubstep,' d_deltat_lsadv(igout,k) ', (k,d_deltat_lsadv(igout,k), k=1,klev) 3898 PRINT *, 'wake-4.4, isubstep= ', isubstep,' tgen(igout,k)*deltatw(igout,k) ', (k,tgen(igout,k)*deltatw(igout,k), k=1,klev) 3887 3899 PRINT *, 'wake-4.4, isubstep= ', isubstep,' tgw(igout,k)*deltatw(igout,k) ', (k,tgw(igout,k)*deltatw(igout,k), k=1,klev) 3888 3900 PRINT *, 'wake-4.4, isubstep= ', isubstep,' death_rate(igout) ', death_rate(igout)
Note: See TracChangeset
for help on using the changeset viewer.