source: LMDZ5/branches/LMDZ5-DOFOCO/libf/dyn3dmem/adaptdt.F @ 4106

Last change on this file since 4106 was 1658, checked in by Laurent Fairhead, 12 years ago

Phasage de la dynamique parallele localisee (petite memoire) avec le tronc LMDZ4 (HEAD)
Validation effectuee par comparaison des fichiers de sorties debug (u, v, t, q, masse, etc ...) d'une simulation sans physique
faite avec la version du modele donnee par Y. Meurdesoif et la version phasee avec la r1428 (fin du tronc LMDZ4)


Phasing of the localised (low memory) parallel dynamics package with the LMDZ4 trunk version of LMDZ
Validation consisted in comparing output debug files (u, v, t, q, masse, etc... ) of a no physics simulation
run with the version of the code given by Y. Meurdesoif and this version phased with r1428 (HEAD of the LMDZ4 trunk)

File size: 1.3 KB
Line 
1!
2! $Id: adaptdt.F 1403 2010-07-01 09:02:53Z fairhead $
3!
4      subroutine adaptdt(nadv,dtbon,n,pbaru,
5     c                   masse)
6
7      USE control_mod
8
9      IMPLICIT NONE
10
11#include "dimensions.h"
12c#include "paramr2.h"
13#include "paramet.h"
14#include "comconst.h"
15#include "comdissip.h"
16#include "comvert.h"
17#include "comgeom2.h"
18#include "logic.h"
19#include "temps.h"
20#include "ener.h"
21#include "description.h"
22
23c----------------------------------------------------------
24c     Arguments
25c----------------------------------------------------------
26      INTEGER n,nadv
27      REAL dtbon
28      REAL pbaru(iip1,jjp1,llm)
29      REAL masse(iip1,jjp1,llm)
30c----------------------------------------------------------   
31c     Local
32c----------------------------------------------------------
33      INTEGER i,j,l
34      REAL CFLmax,aaa,bbb
35     
36        CFLmax=0.
37        do l=1,llm
38         do j=2,jjm
39          do i=1,iim
40             aaa=pbaru(i,j,l)*dtvr/masse(i,j,l)
41             CFLmax=max(CFLmax,aaa)
42             bbb=-pbaru(i,j,l)*dtvr/masse(i+1,j,l)
43             CFLmax=max(CFLmax,bbb)
44          enddo
45         enddo
46        enddo             
47        n=int(CFLmax)+1
48c pour reproduire cas VL du code qui appele x,y,z,y,x
49c        if (nadv.eq.30) n=n/2   ! Pour Prather
50        dtbon=dtvr/n
51       
52       return
53       end
54
55
56
57
58
59
60
Note: See TracBrowser for help on using the repository browser.