21 #include "dimensions.h"
26 #include "tracstoke.h"
30 REAL time_step,t_wrt, t_ops
40 REAL pbarvst(iip1,
jjp1,
llm),zistdyn
43 INTEGER iadvtr,ndex(1)
45 real tst(1),ist(1),istp(1)
46 INTEGER ij,l,irec,i,j,itau
47 INTEGER,
SAVE :: fluxid, fluxvid,fluxdid
49 SAVE iadvtr, massem,irec
55 integer :: ijb,ije,jjb,jje,jjn
69 . fluxid,fluxvid,fluxdid)
76 call histwrite(fluxid,
'phis', 1, phis(ijb:ije),
78 call histwrite(fluxid,
'aire', 1,
aire(ijb:ije),
86 call histwrite(fluxdid,
'dtvr', 1, tst, nscal, ndex)
88 call histwrite(fluxdid,
'istdyn', 1, ist, nscal, ndex)
90 call histwrite(fluxdid,
'istphy', 1, istp, nscal, ndex)
104 phic(ijb:ije,1:
llm)=0
105 tetac(ijb:ije,1:
llm)=0
106 pbaruc(ijb:ije,1:
llm)=0
109 pbarvc(ijb:ije,1:
llm)=0
118 pbaruc(ij,l) = pbaruc(ij,l) + pbaru(ij,l)
119 tetac(ij,l) = tetac(ij,l) + teta(ij,l)
120 phic(ij,l) = phic(ij,l) + phi(ij,l)
130 pbarvc(ij,l) = pbarvc(ij,l) + pbarv(ij,l)
139 massem(ijb:ije,1:
llm)=masse(ijb:ije,1:
llm)
147 IF ( iadvtr.EQ.
istdyn )
THEN
155 pbaruc(ij,l) = pbaruc(ij,l)/
REAL(
istdyn)
156 tetac(ij,l) = tetac(ij,l)/
REAL(
istdyn)
157 phic(ij,l) = phic(ij,l)/
REAL(
istdyn)
167 pbarvc(ij,l) = pbarvc(ij,l)/
REAL(
istdyn)
183 CALL groupe_p( massem, pbaruc,pbarvc, pbarug,pbarvg,wg )
192 pbarvst(i,j,l)=pbarvg(i,j,l)
204 write(
lunout,*)
'ITAU auquel on stoke les fluxmasses',itau
210 call histwrite(fluxid,
'masse', itau, massem(ijb:ije,:),
211 . iip1*jjn*
llm, ndex)
213 call histwrite(fluxid,
'pbaru', itau, pbarug(ijb:ije,:),
214 . iip1*jjn*
llm, ndex)
224 call histwrite(fluxvid,
'pbarv', itau, pbarvg(:,jjb:jje,:),
225 . iip1*jjn*
llm, ndex)
231 call histwrite(fluxid,
'w' ,itau, wg(ijb:ije,:),
232 . iip1*jjn*
llm, ndex)
234 call histwrite(fluxid,
'teta' ,itau, tetac(ijb:ije,:),
235 . iip1*jjn*
llm, ndex)
237 call histwrite(fluxid,
'phi' ,itau, phic(ijb:ije,:),
238 . iip1*jjn*
llm, ndex)
246 &
'fluxstokenc: Needs IOIPSL to function'
subroutine fluxstokenc_p(pbaru, pbarv, masse, teta, phi, phis, time_step, itau)
!$Header llmm1 INTEGER ip1jmp1
subroutine groupe_p(pext, pbaru, pbarv, pbarum, pbarvm, wm)
subroutine initfluxsto_p(infile, tstep, t_ops, t_wrt, fileid, filevid, filedid)
subroutine register_hallo(Field, ij, ll, RUp, Rdown, SUp, SDown, a_request)
!$Header!common tracstoke istphy
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
!$Header!CDK comgeom COMMON comgeom aire
!$Header llmm1 INTEGER ip1jm
!$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
subroutine sendrequest(a_Request)
!$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!common tracstoke istdyn
subroutine waitrequest(a_Request)
!$Header!gestion des impressions de sorties et de débogage la sortie standard prt_level COMMON comprint lunout