4 subroutine wrgrads(if,nl,field,name,titlevar)
19 character*10 name,file
24 integer im,jm,lm,i,j,l,iv,iii,iji,iif,ijf
40 print*,
'im,jm,lm,name,firsttime(if)'
44 if(name.eq.
var(1,if))
then
47 print*,
'fin de l initialiation de l ecriture du fichier'
49 print*,
'fichier no: ',
if
50 print*,
'unit ',
unit(if)
51 print*,
'nvar ',
nvar(if)
52 print*,
'vars ',(
var(iv,if),iv=1,
nvar(if))
59 print*,
'initialisation ecriture de ',
var(
ivar(if),if)
60 print*,
'if ivar(if) nld ',
if,
ivar(if),
nld(
ivar(if),if)
71 if(
var(
ivar(if),if).ne.name)
then
72 print*,
'Il faut stoker la meme succession de champs a chaque'
74 print*,
'fichier no: ',
if
75 print*,
'unit ',
unit(if)
76 print*,
'nvar ',
nvar(if)
77 print*,
'vars ',(
var(iv,if),iv=1,
nvar(if))
83 print*,
'ivar(if),nvar(if),var(ivar(if),if),writectl'
91 s ((field((l-1)*
imd(if)*
jmd(if)+(j-1)*
imd(if)+i)
92 s ,i=iii,iif),j=iji,ijf)
98 open(
unit(if),file=trim(file)//
'.ctl'
99 & ,form=
'formatted',status=
'unknown')
100 write(
unit(if),
'(a5,1x,a40)')
101 &
'DSET ',
'^'//trim(file)//
'.dat'
103 write(
unit(if),
'(a12)')
'UNDEF 1.0E30'
104 write(
unit(if),
'(a5,1x,a40)')
'TITLE ',
title(if)
108 write(
unit(if),
'(a4,i10,a30)')
109 &
'TDEF ',
itime(if),
' LINEAR 02JAN1987 1MO '
110 write(
unit(if),
'(a4,2x,i5)')
'VARS',
nvar(if)
117 write(
unit(if),
'(a7)')
'ENDVARS'
119 1000
format(a5,3
x,i4,i3,1
x,a39)
!$Header!integer nvarmx s iid
!$Header!integer nvarmx yd
!$Header!integer nvarmx s imd
!$Header!integer nvarmx s ifd
!$Header!integer nvarmx s s s fichier
!$Header!integer nvarmx s s nvar
!$Header!integer nvarmx s lmd
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
!$Header!integer nvarmx s s s var
!$Header!integer nvarmx s jid
!$Header!integer nvarmx s s irec
!$Header!integer nvarmx s s nld
!$Header!integer nvarmx s jmd
!$Header!integer nvarmx zd
!$Header!c c INCLUDE fxyprim h c c c Fonctions in line c c REAL fyprim REAL rj c c il faut la calculer avant d appeler ces fonctions c c c Fonctions a changer selon x(x) et y(y) choisis.c-----------------------------------------------------------------c c.....ici
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
!$Header!integer nvarmx tvar(nvarmx, nfmx) common/gradsdef/xd
subroutine wrgrads(if, nl, field, name, titlevar)
!$Header!integer nvarmx s s itime
!$Header!integer nvarmx s s s title
!$Header!integer nvarmx s jfd
!$Header!integer nvarmx s s unit
!$Header!integer nvarmx s s firsttime
!$Header!integer nvarmx s s ivar