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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 23 - (hide annotations)
Mon Dec 14 15:25:16 2009 UTC (14 years, 5 months ago) by guez
File size: 2161 byte(s)
Split "orografi.f": one file for each procedure. Put the created files
in new directory "Orography".

Removed argument "vcov" of procedure "sortvarc". Removed arguments
"itau" and "time" of procedure "caldyn0". Removed arguments "itau",
"time" and "vcov" of procedure "sortvarc0".

Removed argument "time" of procedure "dynredem1". Removed NetCDF
variable "temps" in files "start.nc" and "restart.nc", because its
value is always 0.

Removed argument "nq" of procedures "iniadvtrac" and "leapfrog". The
number of "tracers read in "traceur.def" must now be equal to "nqmx",
or "nqmx" must equal 4 if there is no file "traceur.def". Replaced
variable "nq" by constant "nqmx" in "leapfrog".

NetCDF variable for ozone field in "coefoz.nc" must now be called
"tro3" instead of "r".

Fixed bug in "zenang".

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

  ViewVC Help
Powered by ViewVC 1.1.21