! ! $Id: adaptdt.f90 5285 2024-10-28 13:33:29Z abarral $ ! subroutine adaptdt(nadv,dtbon,n,pbaru, & masse) USE comgeom2_mod_h USE comdissip_mod_h USE comconst_mod, ONLY: dtvr USE dimensions_mod, ONLY: iim, jjm, llm, ndm USE paramet_mod_h IMPLICIT NONE !---------------------------------------------------------- ! Arguments !---------------------------------------------------------- INTEGER :: n,nadv REAL :: dtbon REAL :: pbaru(iip1,jjp1,llm) REAL :: masse(iip1,jjp1,llm) !---------------------------------------------------------- ! Local !---------------------------------------------------------- INTEGER :: i,j,l REAL :: CFLmax,aaa,bbb CFLmax=0. do l=1,llm do j=2,jjm do i=1,iim aaa=pbaru(i,j,l)*dtvr/masse(i,j,l) CFLmax=max(CFLmax,aaa) bbb=-pbaru(i,j,l)*dtvr/masse(i+1,j,l) CFLmax=max(CFLmax,bbb) enddo enddo enddo n=int(CFLmax)+1 ! pour reproduire cas VL du code qui appele x,y,z,y,x ! if (nadv.eq.30) n=n/2 ! Pour Prather dtbon=dtvr/n return end subroutine adaptdt