! $Id: adaptdt.f90 5114 2024-07-24 11:27:51Z abarral $ SUBROUTINE adaptdt(nadv,dtbon,n,pbaru, & masse) USE comconst_mod, ONLY: dtvr USE lmdz_description, ONLY: descript IMPLICIT NONE include "dimensions.h" include "paramet.h" include "comdissip.h" include "comgeom2.h" !---------------------------------------------------------- ! 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