2 !
$Id: write_histday_seri.h 2351 2015-08-25 15:14:59Z emillour $
6 IF (type_run.EQ."AMIP") THEN
14 pir = 4.0*ATAN(1.0) / 180.0
24 zx_tmp_fi2d(1:klon)=moyglo
27 CALL histwrite(nid_day_seri,"bilTOA",
itau_w, &
33 zx_tmp_fi2d(1:klon)=moyglo
35 CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d,zx_tmp_2d)
36 CALL histwrite(nid_day_seri,"bils",itau_w, &
37 zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
47 cell_area,
paprs, moyglo)
48 zx_tmp_fi2d(1:klon)=moyglo
50 CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d,zx_tmp_2d)
51 CALL histwrite(nid_day_seri,"
ecin",itau_w, &
52 zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
64 cell_area, paprs, moyglo)
65 zx_tmp_fi2d(1:klon)=moyglo
67 CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d,zx_tmp_2d)
68 CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d, &
69 nbp_lon*nbp_lat,ndex2d)
74 zx_tmp_fi2d(i)=zxfluxu(i,1)*
RA* cos(pir*
rlat(i))
80 zx_tmp_fi2d(1:klon)=moyglo
82 CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d,zx_tmp_2d)
83 CALL histwrite(nid_day_seri,"frictor",itau_w,zx_tmp_2d, &
84 nbp_lon*nbp_lat,ndex2d)
89 CALL
gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat,cell_area,airedyn)
90 CALL gr_fi_dyn(klev+1,klon,nbp_lon+1,nbp_lat,paprs,padyn)
91 CALL gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat,
rlat,rlatdyn)
96 ij=i+(nbp_lon+1)*(j-1)
100 (padyn(i,j,k+1)-padyn(i,j,k))/
RG
105 cos(pir* rlatdyn(i,j))
115 zx_tmp_2d(1:nbp_lon,1:nbp_lat)=
mountor
116 CALL histwrite(nid_day_seri,"
mountor",itau_w,zx_tmp_2d, &
117 nbp_lon*nbp_lat,ndex2d)
122 CALL gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat,cell_area,airedyn)
123 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,cell_area,zx_tmp_2d)
126 ! DO i = 1, nbp_lon+1
127 !
ij=i+(nbp_lon+1)*(j-1)
129 ! airetot=airetot+airedyn(i,j)
130 ! airetot=airetot+airedyn(i,j)
136 airetot=airetot+cell_area(i)
143 airetot=airetot+zx_tmp_2d(i,j)
150 zx_tmp_fi2d(1:klon)=aam/airetot
151 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,zx_tmp_fi2d,zx_tmp_2d)
152 CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d, &
153 nbp_lon*nbp_lat,ndex2d)
155 zx_tmp_fi2d(1:klon)=torsfc/airetot
156 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,zx_tmp_fi2d,zx_tmp_2d)
157 CALL histwrite(nid_day_seri,"torsfc",itau_w,zx_tmp_2d, &
158 nbp_lon*nbp_lat,ndex2d)
163 cell_area, paprs, moyglo)
164 zx_tmp_fi2d(1:klon)=moyglo
166 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,zx_tmp_fi2d,zx_tmp_2d)
167 CALL histwrite(nid_day_seri,"tamv",itau_w, &
168 zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
173 zx_tmp_fi2d(1:klon)=moyglo
175 CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d,zx_tmp_2d)
176 CALL histwrite(nid_day_seri,"psol",itau_w, &
177 zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
182 zx_tmp_fi2d(1:klon)=moyglo
184 CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d,zx_tmp_2d)
185 CALL histwrite(nid_day_seri,"evap",itau_w, &
186 zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
189 ! zx_tmp_fi2d(i)=SnowFrac(i,
is_ter)
195 ! . ok_msk, msk, moyglo)
196 ! zx_tmp_fi2d(1:klon)=moyglo
198 ! CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat,zx_tmp_fi2d,zx_tmp_2d)
199 ! CALL histwrite(nid_day_seri,"SnowFrac",
200 ! . itau_w,zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
203 !IM 080904 zx_tmp_fi2d(i)=zsnow_mass(i)/330.*
rowl
204 ! zx_tmp_fi2d(i)=zsnow_mass(i)
207 !IM 140904 ok_msk=.
FALSE.
211 ! . ok_msk, msk, moyglo)
212 ! zx_tmp_fi2d(1:klon)=moyglo
214 ! CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat,zx_tmp_fi2d,zx_tmp_2d)
215 ! CALL histwrite(nid_day_seri,"snow_depth",itau_w,
216 ! . zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
226 zx_tmp_fi2d(1:klon)=moyglo
228 CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d, zx_tmp_2d)
229 CALL histwrite(nid_day_seri,"tsol_"
230 itau_w,zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
232 !=================================================================
233 !=================================================================
234 !=================================================================
237 call histsync(nid_day_seri)
240 ENDIF !fin test
sur type_run.EQ."AMIP"
subroutine moyglo_pondaire(nhori, champ, aire, ok_msk, msk, moyglo)
!$Id Turb_fcg_gcssold if(prt_level.ge.1) then print *
INTERFACE SUBROUTINE RRTM_ECRT_140GP klon
real, dimension(:), allocatable, save topsw
integer, parameter is_ter
real, dimension(:), allocatable, save bils
!$Id klon initialisation mois suivants day_rain itap
!$Id klon klev DO klon!IM klev DO klon klon nbp_lat DO nbp_lon klev airetot
integer, save day_step_phy
!$Id ***************************************!ECRITURE DU FALSE
subroutine moyglo_pondmass(nhori, nvert, champ, aire, pbord, moyglo)
!$Id klon klev DO klon!IM klev DO klon klon nbp_lat DO nbp_lon klev zx_tmp(ij)
!$Id mode_top_bound COMMON comconstr && pi
subroutine moyglo_pondaima(nhori, nvert, champ, aire, pbord, moyglo)
c c $Id c c calculs statistiques distribution nuage ftion du regime dynamique c c Ce calcul doit etre fait a partir de valeurs mensuelles CALL nbregdyn DO k
real, dimension(:,:), pointer, save ecin
!$Id klon IF(pctsrf(i, is_ter).GT.0.) THEN paire_ter(i)
!$Id klon klev DO klon!IM klev DO klon klon nbp_lat DO nbp_lon ij
!$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 RG
real, dimension(:), allocatable, save toplw
!$Id klon klev DO klon!IM zx_tmp_fi3d(i, k)
!FH On elimine toutes les clefs physiques dans la dynamique zx_tmp_2d
real, dimension(:), allocatable, save evap
!$Id Turb_fcg!implicit none!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc!cette routine permet d obtenir hq et ainsi de!pouvoir calculer la convergence et le cisaillement dans la physiq!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc INTEGER klev REAL j
!$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 &zphi geo500!IM on interpole a chaque pas de temps le paprs
!$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 u(l)
c c $Id c nbregdyn DO klon c rlat(i) c ENDIF!lon c ENDIF!lat ENDIF!pctsrf ENDDO!klon ENDDO!nbregdyn cIM 190504 ENDIF!ok_regdyn cIM somme de toutes les nhistoW BEG IF(debut) THEN DO nreg
c c zjulian c cym CALL iim cym klev iim cym jjmp1 cym On stoke le fichier bilKP instantanne sur
real, dimension(:,:), allocatable, save, private pctsrf
!$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 & u_seri
subroutine friction(ucov, vcov, pdt)
subroutine gr_fi_ecrit(nfield, nlon, iim, jjmp1, fi, ecrit)
real, dimension(:,:), allocatable, save t_seri
real, dimension(:,:), allocatable, save ftsol
!FH On elimine toutes les clefs physiques dans la dynamique itau_w
!$Id!Thermodynamical constants for rowl
!$Id klon klev DO klon!IM klev DO klon klon nbp_lat DO nbp_lon klev airetot klev!IM END!IM nbp_lat!DO nbp_lon klev klon airetot nbp_lat DO nbp_lon airetotij
!$Id klon klev DO klon!IM klev DO klon klon nbp_lat DO nbp_lon klev airetot klev!IM END!IM mountor
logical, save is_sequential
integer, parameter is_oce
!$Id klon klev DO klon!IM klev DO klon klon nbp_lat DO nbp_lon klev airetot klev!IM END!IM nbp_lat!DO nbp_lon klev klon airetotphy
subroutine gr_fi_dyn(nfield, ngrid, im, jm, pfi, pdyn)
real, dimension(:), allocatable, save cell_area
!$Id RNAVO!A1 Astronomical constants REAL ROMEGA!A1 bis Constantes concernant l orbite de la R_incl!A1 Geoide REAL RA