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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 62 - (hide annotations)
Thu Jul 26 14:37:37 2012 UTC (11 years, 9 months ago) by guez
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 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 guez 62 INTEGER ncid, varid
26 guez 27 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 62 call nf95_open(fichnom, nf90_write, ncid)
34 guez 3
35 guez 27 ! Écriture/extension de la coordonnée temps
36     nb = nb + 1
37 guez 62 call nf95_inq_varid(ncid, 'temps', varid)
38     call nf95_put_var(ncid, varid, values=0., start=(/nb/))
39 guez 27 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 guez 62 call nf95_inq_varid(ncid, 'controle', varid)
44     call nf95_put_var(ncid, varid, real(itau), start=(/31/))
45 guez 3
46 guez 27 ! Écriture des champs
47 guez 3
48 guez 62 call nf95_inq_varid(ncid, 'ucov', varid)
49     call nf95_put_var(ncid, varid, ucov)
50 guez 3
51 guez 62 call nf95_inq_varid(ncid, 'vcov', varid)
52     call nf95_put_var(ncid, varid, vcov)
53 guez 3
54 guez 62 call nf95_inq_varid(ncid, 'teta', varid)
55     call nf95_put_var(ncid, varid, teta)
56 guez 5
57 guez 27 DO iq = 1, nqmx
58 guez 62 call nf95_inq_varid(ncid, tname(iq), varid)
59     call nf95_put_var(ncid, varid, q(:, :, :, iq))
60 guez 27 END DO
61 guez 5
62 guez 62 call nf95_inq_varid(ncid, 'masse', varid)
63     call nf95_put_var(ncid, varid, masse)
64 guez 5
65 guez 62 call nf95_inq_varid(ncid, 'ps', varid)
66     call nf95_put_var(ncid, varid, ps)
67 guez 27
68 guez 62 call nf95_close(ncid)
69 guez 27
70     END SUBROUTINE dynredem1
71    
72     end module dynredem1_m

  ViewVC Help
Powered by ViewVC 1.1.21