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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 22 - (show annotations)
Fri Jul 31 15:18:47 2009 UTC (14 years, 9 months ago) by guez
File size: 2238 byte(s)
Superficial modifications
1 SUBROUTINE dynredem1(fichnom, time, vcov, ucov, teta, q, masse, ps)
2
3 ! From dyn3d/dynredem.F, v 1.2 2004/06/22 11:45:30
4
5 ! Ecriture du fichier de redémarrage au format NetCDF
6
7 USE dimens_m, ONLY : iim, jjm, llm, nqmx
8 USE temps, ONLY : itaufin, itau_dyn
9 USE iniadvtrac_m, ONLY : tname
10 use netcdf, only: nf90_write
11 use netcdf95, only: nf95_close, nf95_gw_var, nf95_inq_varid, nf95_open, &
12 nf95_put_var
13
14 IMPLICIT NONE
15
16 CHARACTER(len=*), INTENT (IN) :: fichnom
17 REAL, INTENT (IN):: time
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
23 ! Variables local to the procedure:
24 INTEGER nid, nvarid, ierr
25 INTEGER iq
26 REAL, pointer:: tab_cntrl(:) ! tableau des paramètres du run
27 INTEGER :: nb = 0
28
29 !---------------------------------------------------------
30
31 PRINT *, 'Call sequence information: dynredem1'
32
33 call nf95_open(fichnom, nf90_write, nid)
34
35 ! É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, time, start=(/nb/))
39 PRINT *, 'Enregistrement pour :'
40 print *, "nb = ", nb
41 print *, "time = ", time
42
43 ! Récriture du tableau de contrôle, "itaufin" n'est plus défini quand
44 ! on passe dans "dynredem0"
45 call nf95_inq_varid(nid, 'controle', nvarid)
46 call nf95_gw_var(nid, nvarid, tab_cntrl)
47 tab_cntrl(31) = real(itau_dyn + itaufin)
48 call nf95_put_var(nid, nvarid, tab_cntrl)
49 deallocate(tab_cntrl) ! pointer
50
51 ! Écriture des champs
52
53 call nf95_inq_varid(nid, 'ucov', nvarid)
54 call nf95_put_var(nid, nvarid, ucov)
55
56 call nf95_inq_varid(nid, 'vcov', nvarid)
57 call nf95_put_var(nid, nvarid, vcov)
58
59 call nf95_inq_varid(nid, 'teta', nvarid)
60 call nf95_put_var(nid, nvarid, teta)
61
62 DO iq = 1, nqmx
63 call nf95_inq_varid(nid, tname(iq), nvarid)
64 call nf95_put_var(nid, nvarid, q(:, :, :, iq))
65 END DO
66
67 call nf95_inq_varid(nid, 'masse', nvarid)
68 call nf95_put_var(nid, nvarid, masse)
69
70 call nf95_inq_varid(nid, 'ps', nvarid)
71 call nf95_put_var(nid, nvarid, ps)
72
73 call nf95_close(nid)
74
75 END SUBROUTINE dynredem1

  ViewVC Help
Powered by ViewVC 1.1.21