LMDZ
ecribin.F90
Go to the documentation of this file.
1 
2 ! $Id$
3 
4 SUBROUTINE ecribins(unit, pz)
5  USE dimphy
6  IMPLICIT NONE
7  ! -----------------------------------------------------------------------
8  include "dimensions.h"
9  ! ccc#include "dimphy.h"
10  include "paramet.h"
11  include "comgeom.h"
12  include "comvert.h"
13 
14  ! arguments:
15  ! ----------
16  INTEGER unit
17  REAL pz(klon)
18 
19  ! local:
20  ! ------
21  INTEGER i, j, ig
22  REAL zz(iim+1, jjm+1)
23  ! -----------------------------------------------------------------------
24  ! passage a la grille dynamique:
25  ! ------------------------------
26  DO i = 1, iim + 1
27  zz(i, 1) = pz(1)
28  zz(i, jjm+1) = pz(klon)
29  END DO
30  ! traitement des point normaux
31  DO j = 2, jjm
32  ig = 2 + (j-2)*iim
33  CALL scopy(iim, pz(ig), 1, zz(1,j), 1)
34  zz(iim+1, j) = zz(1, j)
35  END DO
36  ! -----------------------------------------------------------------------
37 #ifdef VPP
38  CALL ecriture(unit, zz, (iim+1)*(jjm+1))
39 #else
40  WRITE (unit) zz
41 #endif
42 
43 
44  RETURN
45 END SUBROUTINE ecribins
46 SUBROUTINE ecribina(unit, pz)
47  USE dimphy
48  IMPLICIT NONE
49  ! -----------------------------------------------------------------------
50  include "dimensions.h"
51  ! ccc#include "dimphy.h"
52  include "paramet.h"
53  include "comgeom.h"
54  include "comvert.h"
55 
56  ! arguments:
57  ! ----------
58  INTEGER unit
59  REAL pz(klon, klev)
60 
61  ! local:
62  ! ------
63  INTEGER i, j, ilay, ig
64  REAL zz(iim+1, jjm+1, llm)
65  ! -----------------------------------------------------------------------
66  ! passage a la grille dynamique:
67  ! ------------------------------
68  DO ilay = 1, llm
69  ! traitement des poles
70  DO i = 1, iim + 1
71  zz(i, 1, ilay) = pz(1, ilay)
72  zz(i, jjm+1, ilay) = pz(klon, ilay)
73  END DO
74  ! traitement des point normaux
75  DO j = 2, jjm
76  ig = 2 + (j-2)*iim
77  CALL scopy(iim, pz(ig,ilay), 1, zz(1,j,ilay), 1)
78  zz(iim+1, j, ilay) = zz(1, j, ilay)
79  END DO
80  END DO
81  ! -----------------------------------------------------------------------
82  DO ilay = 1, llm
83 #ifdef VPP
84  CALL ecriture(unit, zz(1,1,ilay), (iim+1)*(jjm+1))
85 #else
86  WRITE (unit)((zz(i,j,ilay),i=1,iim+1), j=1, jjm+1)
87 #endif
88  END DO
89 
90  RETURN
91 END SUBROUTINE ecribina
92 #ifdef VPP
93 @options nodouble
94 SUBROUTINE ecriture(nunit, r8, n)
95  INTEGER nunit, n, i
96  REAL (KIND=8) r8(n)
97  REAL r4(n)
98 
99  DO i = 1, n
100  r4(i) = r8(i)
101  END DO
102  WRITE (nunit) r4
103  RETURN
104 END SUBROUTINE ecriture
105 #endif
subroutine ecribina(unit, pz)
Definition: ecribin.F90:46
integer, save klon
Definition: dimphy.F90:3
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
integer, save klev
Definition: dimphy.F90:7
subroutine scopy(n, sx, incx, sy, incy)
Definition: cray.F:9
c c zjulian c cym CALL iim cym klev iim
Definition: ini_bilKP_ave.h:24
Definition: dimphy.F90:1
subroutine ecribins(unit, pz)
Definition: ecribin.F90:5