source: LMDZ6/branches/Amaury_dev/libf/dyn3d_common/adaptdt.f90 @ 5139

Last change on this file since 5139 was 5136, checked in by abarral, 3 months ago

Put comgeom.h, comgeom2.h into modules

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.1 KB
Line 
1
2! $Id: adaptdt.f90 5136 2024-07-28 14:17:54Z abarral $
3
4SUBROUTINE adaptdt(nadv,dtbon,n,pbaru, &
5        masse)
6
7  USE comconst_mod, ONLY: dtvr
8  USE lmdz_description, ONLY: descript
9  USE lmdz_comdissip, ONLY: coefdis, tetavel, tetatemp, gamdissip, niterdis
10  USE lmdz_comgeom2
11
12  IMPLICIT NONE
13
14  INCLUDE "dimensions.h"
15  INCLUDE "paramet.h"
16
17  !----------------------------------------------------------
18  ! Arguments
19  !----------------------------------------------------------
20  INTEGER :: n,nadv
21  REAL :: dtbon
22  REAL :: pbaru(iip1,jjp1,llm)
23  REAL :: masse(iip1,jjp1,llm)
24  !----------------------------------------------------------
25  ! Local
26  !----------------------------------------------------------
27  INTEGER :: i,j,l
28  REAL :: CFLmax,aaa,bbb
29
30    CFLmax=0.
31    do l=1,llm
32     do j=2,jjm
33      do i=1,iim
34         aaa=pbaru(i,j,l)*dtvr/masse(i,j,l)
35         CFLmax=max(CFLmax,aaa)
36         bbb=-pbaru(i,j,l)*dtvr/masse(i+1,j,l)
37         CFLmax=max(CFLmax,bbb)
38      enddo
39     enddo
40    enddo
41    n=int(CFLmax)+1
42  ! pour reproduire cas VL du code qui appele x,y,z,y,x
43     ! if (nadv.EQ.30) n=n/2   ! Pour Prather
44    dtbon=dtvr/n
45
46   RETURN
47END SUBROUTINE adaptdt
48
49
50
51
52
53
54
Note: See TracBrowser for help on using the repository browser.