/[lmdze]/trunk/dyn3d/dynredem1.f
ViewVC logotype

Contents of /trunk/dyn3d/dynredem1.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 62 - (show annotations)
Thu Jul 26 14:37:37 2012 UTC (11 years, 9 months ago) by guez
Original Path: trunk/libf/dyn3d/dynredem1.f90
File size: 2116 byte(s)
Changed handling of compiler in compilation system.

Removed the prefix letters "y", "p", "t" or "z" in some names of variables.

Replaced calls to NetCDF by calls to NetCDF95.

Extracted "ioget_calendar" procedures from "calendar.f90" into a
separate file.

Extracted to a separate file, "mathop2.f90", procedures that were not
part of the generic interface "mathop" in "mathop.f90".

Removed computation of "dq" in "bilan_dyn", which was not used.

In "iniadvtrac", removed schemes 20 Slopes and 30 Prather. Was not
compatible with declarations of array sizes.

In "clcdrag", "ustarhb", "vdif_kcay", "yamada4" and "coefkz", changed
the size of some arrays from "klon" to "knon".

Removed possible call to "conema3" in "physiq".

Removed unused argument "cd" in "yamada".

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

  ViewVC Help
Powered by ViewVC 1.1.21