/[lmdze]/trunk/libf/dyn3d/dynredem1.f90
ViewVC logotype

Annotation of /trunk/libf/dyn3d/dynredem1.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 27 - (hide annotations)
Thu Mar 25 14:29:07 2010 UTC (14 years, 2 months ago) by guez
File size: 2114 byte(s)
"dyn3d" and "filtrez" do not contain any included file so make rules
have been updated.

"comdissip.f90" was useless, removed it.

"dynredem0" wrote undefined value in "controle(31)", that was
overwritten by "dynredem1". Now "dynredem0" just writes 0 to
"controle(31)".

Removed arguments of "inidissip". "inidissip" now accesses the
variables by use association.

In program "etat0_lim", "itaufin" is not defined so "dynredem1" wrote
undefined value to "controle(31)". Added argument "itau" of
"dynredem1" to correct that.

"itaufin" does not need to be a module variable (of "temps"), made it
a local variable of "leapfrog".

Removed calls to "diagedyn" from "leapfrog".

1 guez 27 module dynredem1_m
2 guez 3
3 guez 27 IMPLICIT NONE
4 guez 3
5 guez 27 contains
6 guez 3
7 guez 27 SUBROUTINE dynredem1(fichnom, vcov, ucov, teta, q, masse, ps, itau)
8 guez 3
9 guez 27 ! From dyn3d/dynredem.F, v 1.2 2004/06/22 11:45:30
10     ! Ecriture du fichier de redémarrage au format NetCDF
11 guez 3
12 guez 27 USE dimens_m, ONLY : iim, jjm, llm, nqmx
13     USE iniadvtrac_m, ONLY : tname
14     use netcdf, only: nf90_write
15     use netcdf95, only: nf95_close, nf95_inq_varid, nf95_open, nf95_put_var
16 guez 3
17 guez 27 CHARACTER(len=*), INTENT (IN) :: fichnom
18     REAL, INTENT (IN) :: vcov(iim + 1, jjm, llm), ucov(iim+1, jjm+1, llm)
19     REAL, INTENT (IN) :: teta(iim+1, jjm+1, llm)
20     REAL, INTENT (IN) :: q(iim+1, jjm+1, llm, nqmx)
21     REAL, INTENT (IN) :: ps(iim+1, jjm+1), masse(iim+1, jjm+1, llm)
22     INTEGER, INTENT (IN) :: itau
23 guez 3
24 guez 27 ! Variables local to the procedure:
25     INTEGER nid, nvarid
26     INTEGER iq
27     INTEGER:: nb = 0
28 guez 3
29 guez 27 !---------------------------------------------------------
30 guez 3
31 guez 27 PRINT *, 'Call sequence information: dynredem1'
32 guez 3
33 guez 27 call nf95_open(fichnom, nf90_write, nid)
34 guez 3
35 guez 27 ! Écriture/extension de la coordonnée temps
36     nb = nb + 1
37     call nf95_inq_varid(nid, 'temps', nvarid)
38     call nf95_put_var(nid, nvarid, values=0., start=(/nb/))
39     PRINT *, "Enregistrement pour nb = ", nb
40 guez 3
41 guez 27 ! Récriture du tableau de contrôle, "itaufin" n'est pas défini quand
42     ! on passe dans "dynredem0"
43     call nf95_inq_varid(nid, 'controle', nvarid)
44     call nf95_put_var(nid, nvarid, real(itau), start=(/31/))
45 guez 3
46 guez 27 ! Écriture des champs
47 guez 3
48 guez 27 call nf95_inq_varid(nid, 'ucov', nvarid)
49     call nf95_put_var(nid, nvarid, ucov)
50 guez 3
51 guez 27 call nf95_inq_varid(nid, 'vcov', nvarid)
52     call nf95_put_var(nid, nvarid, vcov)
53 guez 3
54 guez 27 call nf95_inq_varid(nid, 'teta', nvarid)
55     call nf95_put_var(nid, nvarid, teta)
56 guez 5
57 guez 27 DO iq = 1, nqmx
58     call nf95_inq_varid(nid, tname(iq), nvarid)
59     call nf95_put_var(nid, nvarid, q(:, :, :, iq))
60     END DO
61 guez 5
62 guez 27 call nf95_inq_varid(nid, 'masse', nvarid)
63     call nf95_put_var(nid, nvarid, masse)
64 guez 5
65 guez 27 call nf95_inq_varid(nid, 'ps', nvarid)
66     call nf95_put_var(nid, nvarid, ps)
67    
68     call nf95_close(nid)
69    
70     END SUBROUTINE dynredem1
71    
72     end module dynredem1_m

  ViewVC Help
Powered by ViewVC 1.1.21