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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 5 by guez, Mon Mar 3 16:32:04 2008 UTC revision 18 by guez, Thu Aug 7 12:29:13 2008 UTC
# Line 8  SUBROUTINE dynredem1(fichnom, time, vcov Line 8  SUBROUTINE dynredem1(fichnom, time, vcov
8    USE paramet_m, ONLY : ip1jm, ip1jmp1    USE paramet_m, ONLY : ip1jm, ip1jmp1
9    USE temps, ONLY : itaufin, itau_dyn    USE temps, ONLY : itaufin, itau_dyn
10    USE abort_gcm_m, ONLY : abort_gcm    USE abort_gcm_m, ONLY : abort_gcm
11    USE advtrac_m, ONLY : tname    USE iniadvtrac_m, ONLY : tname
12      use netcdf, only: nf90_open, nf90_write, nf90_noerr, nf90_inq_varid
13    
14    IMPLICIT NONE    IMPLICIT NONE
15    
# Line 35  SUBROUTINE dynredem1(fichnom, time, vcov Line 36  SUBROUTINE dynredem1(fichnom, time, vcov
36    PRINT *, 'Call sequence information: dynredem1'    PRINT *, 'Call sequence information: dynredem1'
37    
38    modname = 'dynredem1'    modname = 'dynredem1'
39    ierr = nf_open(fichnom, nf_write, nid)    ierr = nf90_open(fichnom, nf90_write, nid)
40    IF (ierr/=nf_noerr) THEN    IF (ierr/=nf90_noerr) THEN
41       PRINT *, 'Pb. d ouverture ' // fichnom       PRINT *, 'Pb. d ouverture ' // fichnom
42       STOP 1       STOP 1
43    END IF    END IF
# Line 44  SUBROUTINE dynredem1(fichnom, time, vcov Line 45  SUBROUTINE dynredem1(fichnom, time, vcov
45    !  Ecriture/extension de la coordonnee temps    !  Ecriture/extension de la coordonnee temps
46    
47    nb = nb + 1    nb = nb + 1
48    ierr = nf_inq_varid(nid, 'temps', nvarid)    ierr = nf90_inq_varid(nid, 'temps', nvarid)
49    IF (ierr/=nf_noerr) THEN    IF (ierr/=nf90_noerr) THEN
50       PRINT *, nf_strerror(ierr)       PRINT *, nf_strerror(ierr)
51       abort_message = 'Variable temps n est pas definie'       abort_message = 'Variable temps n est pas definie'
52       CALL abort_gcm(modname, abort_message, ierr)       CALL abort_gcm(modname, abort_message, ierr)
# Line 56  SUBROUTINE dynredem1(fichnom, time, vcov Line 57  SUBROUTINE dynredem1(fichnom, time, vcov
57    
58    !  Re-ecriture du tableau de controle, itaufin n'est plus defini quand    !  Re-ecriture du tableau de controle, itaufin n'est plus defini quand
59    !  on passe dans dynredem0    !  on passe dans dynredem0
60    ierr = nf_inq_varid(nid, 'controle', nvarid)    ierr = nf90_inq_varid(nid, 'controle', nvarid)
61    IF (ierr/=nf_noerr) THEN    IF (ierr/=nf90_noerr) THEN
62       abort_message = 'dynredem1: Le champ <controle> est absent'       abort_message = 'dynredem1: Le champ <controle> est absent'
63       ierr = 1       ierr = 1
64       CALL abort_gcm(modname, abort_message, ierr)       CALL abort_gcm(modname, abort_message, ierr)
# Line 68  SUBROUTINE dynredem1(fichnom, time, vcov Line 69  SUBROUTINE dynredem1(fichnom, time, vcov
69    
70    !  Ecriture des champs    !  Ecriture des champs
71    
72    ierr = nf_inq_varid(nid, 'ucov', nvarid)    ierr = nf90_inq_varid(nid, 'ucov', nvarid)
73    IF (ierr/=nf_noerr) THEN    IF (ierr/=nf90_noerr) THEN
74       PRINT *, 'Variable ucov n est pas definie'       PRINT *, 'Variable ucov n est pas definie'
75       STOP 1       STOP 1
76    END IF    END IF
77    ierr = nf_put_var_real(nid, nvarid, ucov)    ierr = nf_put_var_real(nid, nvarid, ucov)
78    
79    ierr = nf_inq_varid(nid, 'vcov', nvarid)    ierr = nf90_inq_varid(nid, 'vcov', nvarid)
80    IF (ierr/=nf_noerr) THEN    IF (ierr/=nf90_noerr) THEN
81       PRINT *, 'Variable vcov n est pas definie'       PRINT *, 'Variable vcov n est pas definie'
82       STOP 1       STOP 1
83    END IF    END IF
84    ierr = nf_put_var_real(nid, nvarid, vcov)    ierr = nf_put_var_real(nid, nvarid, vcov)
85    
86    ierr = nf_inq_varid(nid, 'teta', nvarid)    ierr = nf90_inq_varid(nid, 'teta', nvarid)
87    IF (ierr/=nf_noerr) THEN    IF (ierr/=nf90_noerr) THEN
88       PRINT *, 'Variable teta n est pas definie'       PRINT *, 'Variable teta n est pas definie'
89       STOP 1       STOP 1
90    END IF    END IF
91    ierr = nf_put_var_real(nid, nvarid, teta)    ierr = nf_put_var_real(nid, nvarid, teta)
92    
93    DO iq = 1, nqmx    DO iq = 1, nqmx
94       ierr = nf_inq_varid(nid, tname(iq), nvarid)       ierr = nf90_inq_varid(nid, tname(iq), nvarid)
95       IF (ierr/=nf_noerr) THEN       IF (ierr/=nf90_noerr) THEN
96          PRINT *, 'Variable  ', tname(iq), 'n''est pas définie'          PRINT *, 'Variable  ', tname(iq), 'n''est pas définie'
97          STOP 1          STOP 1
98       END IF       END IF
99       ierr = nf_put_var_real(nid, nvarid, q(1, 1, iq))       ierr = nf_put_var_real(nid, nvarid, q(1, 1, iq))
100    END DO    END DO
101    
102    ierr = nf_inq_varid(nid, 'masse', nvarid)    ierr = nf90_inq_varid(nid, 'masse', nvarid)
103    IF (ierr/=nf_noerr) THEN    IF (ierr/=nf90_noerr) THEN
104       PRINT *, 'Variable masse n est pas definie'       PRINT *, 'Variable masse n est pas definie'
105       STOP 1       STOP 1
106    END IF    END IF
107    ierr = nf_put_var_real(nid, nvarid, masse)    ierr = nf_put_var_real(nid, nvarid, masse)
108    
109    ierr = nf_inq_varid(nid, 'ps', nvarid)    ierr = nf90_inq_varid(nid, 'ps', nvarid)
110    IF (ierr/=nf_noerr) THEN    IF (ierr/=nf90_noerr) THEN
111       PRINT *, 'Variable ps n est pas definie'       PRINT *, 'Variable ps n est pas definie'
112       STOP 1       STOP 1
113    END IF    END IF

Legend:
Removed from v.5  
changed lines
  Added in v.18

  ViewVC Help
Powered by ViewVC 1.1.21