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

Annotation of /trunk/dyn3d/dynredem1.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 254 - (hide annotations)
Mon Feb 5 10:39:38 2018 UTC (6 years, 3 months ago) by guez
File size: 2517 byte(s)
Move Sources/* to root directory.
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 157 SUBROUTINE dynredem1(vcov, ucov, teta, q, masse, ps, itau)
8 guez 3
9 guez 130 ! From dyn3d/dynredem.F, version 1.2, 2004/06/22 11:45:30
10 guez 157 ! Ecriture du fichier de red\'emarrage au format NetCDF
11 guez 3
12 guez 67 USE dimens_m, ONLY: iim, jjm, llm, nqmx
13 guez 157 use dynredem0_m, only: ncid
14 guez 67 USE iniadvtrac_m, ONLY: tname
15 guez 178 use netcdf95, only: nf95_close, nf95_inq_varid, nf95_put_var
16 guez 67 use nr_util, only: assert
17 guez 3
18 guez 73 REAL, INTENT(IN):: vcov(:, :, :) ! (iim + 1, jjm, llm)
19     REAL, INTENT(IN):: ucov(:, :, :) ! (iim + 1, jjm + 1, llm)
20     REAL, INTENT(IN):: teta(:, :, :) ! (iim + 1, jjm + 1, llm)
21     REAL, INTENT(IN):: q(:, :, :, :) ! (iim + 1, jjm + 1, llm, nqmx)
22     REAL, INTENT(IN):: masse(:, :, :) ! (iim + 1, jjm + 1, llm)
23     REAL, INTENT(IN):: ps(:, :) ! (iim + 1, jjm + 1)
24     INTEGER, INTENT(IN):: itau
25 guez 3
26 guez 157 ! Local:
27     INTEGER varid, iq
28 guez 3
29 guez 27 !---------------------------------------------------------
30 guez 3
31 guez 27 PRINT *, 'Call sequence information: dynredem1'
32 guez 3
33 guez 67 call assert((/size(vcov, 1), size(ucov, 1), size(teta, 1), size(q, 1), &
34     size(masse, 1), size(ps, 1)/) == iim + 1, "dynredem1 iim")
35     call assert((/size(vcov, 2) + 1, size(ucov, 2), size(teta, 2), size(q, 2), &
36     size(masse, 2), size(ps, 2)/) == jjm + 1, "dynredem1 jjm")
37     call assert((/size(vcov, 3), size(ucov, 3), size(teta, 3), size(q, 3), &
38     size(masse, 3)/) == llm, "dynredem1 llm")
39     call assert(size(q, 4) == nqmx, "dynredem1 nqmx")
40    
41 guez 157 ! \'Ecriture/extension de la coordonn\'ee temps
42 guez 62 call nf95_inq_varid(ncid, 'temps', varid)
43 guez 104 call nf95_put_var(ncid, varid, values = 0.)
44 guez 3
45 guez 157 ! R\'ecriture du tableau de contr\^ole, "itaufin" n'est pas d\'efini quand
46 guez 27 ! on passe dans "dynredem0"
47 guez 62 call nf95_inq_varid(ncid, 'controle', varid)
48     call nf95_put_var(ncid, varid, real(itau), start=(/31/))
49 guez 3
50 guez 157 ! \'Ecriture des champs
51 guez 3
52 guez 62 call nf95_inq_varid(ncid, 'ucov', varid)
53     call nf95_put_var(ncid, varid, ucov)
54 guez 3
55 guez 62 call nf95_inq_varid(ncid, 'vcov', varid)
56     call nf95_put_var(ncid, varid, vcov)
57 guez 3
58 guez 62 call nf95_inq_varid(ncid, 'teta', varid)
59     call nf95_put_var(ncid, varid, teta)
60 guez 5
61 guez 27 DO iq = 1, nqmx
62 guez 62 call nf95_inq_varid(ncid, tname(iq), varid)
63     call nf95_put_var(ncid, varid, q(:, :, :, iq))
64 guez 27 END DO
65 guez 5
66 guez 62 call nf95_inq_varid(ncid, 'masse', varid)
67     call nf95_put_var(ncid, varid, masse)
68 guez 5
69 guez 62 call nf95_inq_varid(ncid, 'ps', varid)
70     call nf95_put_var(ncid, varid, ps)
71 guez 27
72 guez 62 call nf95_close(ncid)
73 guez 27
74     END SUBROUTINE dynredem1
75    
76     end module dynredem1_m

  ViewVC Help
Powered by ViewVC 1.1.21