source: LMDZ6/trunk/libf/dyn3d_common/adaptdt.f90 @ 5274

Last change on this file since 5274 was 5272, checked in by abarral, 8 days ago

Turn paramet.h into a module

  • 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.2 KB
Line 
1!
2! $Id: adaptdt.f90 5272 2024-10-24 15:53:15Z abarral $
3!
4subroutine adaptdt(nadv,dtbon,n,pbaru, &
5        masse)
6
7  USE comconst_mod, ONLY: dtvr
8  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
9USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
10          ip1jmi1, ijp1llm, ijmllm, mvar, jcfil, jcfllm
11IMPLICIT NONE
12
13
14
15  include "comdissip.h"
16  include "comgeom2.h"
17  include "description.h"
18
19  !----------------------------------------------------------
20  ! Arguments
21  !----------------------------------------------------------
22  INTEGER :: n,nadv
23  REAL :: dtbon
24  REAL :: pbaru(iip1,jjp1,llm)
25  REAL :: masse(iip1,jjp1,llm)
26  !----------------------------------------------------------
27  ! Local
28  !----------------------------------------------------------
29  INTEGER :: i,j,l
30  REAL :: CFLmax,aaa,bbb
31
32    CFLmax=0.
33    do l=1,llm
34     do j=2,jjm
35      do i=1,iim
36         aaa=pbaru(i,j,l)*dtvr/masse(i,j,l)
37         CFLmax=max(CFLmax,aaa)
38         bbb=-pbaru(i,j,l)*dtvr/masse(i+1,j,l)
39         CFLmax=max(CFLmax,bbb)
40      enddo
41     enddo
42    enddo
43    n=int(CFLmax)+1
44  ! pour reproduire cas VL du code qui appele x,y,z,y,x
45     ! if (nadv.eq.30) n=n/2   ! Pour Prather
46    dtbon=dtvr/n
47
48   return
49end subroutine adaptdt
50
51
52
53
54
55
56
Note: See TracBrowser for help on using the repository browser.