12 USE netcdf
, only: nf90_fill_real
16 INTEGER,
PARAMETER ::
nout=3
26 REAL,
ALLOCATABLE,
SAVE ::
ftsol(:,:)
28 REAL,
ALLOCATABLE,
SAVE ::
qsol(:),
fevap(:,:),
z0m(:,:),
z0h(:,:),
agesno(:,:)
78 REAL,
ALLOCATABLE,
SAVE ::
ratqs(:,:)
81 REAL,
ALLOCATABLE,
SAVE ::
coefh(:,:,:)
82 REAL,
ALLOCATABLE,
SAVE ::
coefm(:,:,:)
88 REAL,
ALLOCATABLE,
SAVE ::
zmax0(:),
f0(:)
90 REAL,
ALLOCATABLE,
SAVE ::
sig1(:,:),
w01(:,:)
190 REAL,
ALLOCATABLE,
SAVE ::
ma(:,:)
194 REAL,
ALLOCATABLE,
SAVE ::
wd(:)
196 REAL,
ALLOCATABLE,
SAVE ::
sigd(:)
199 REAL,
ALLOCATABLE,
SAVE ::
cin(:)
202 REAL,
ALLOCATABLE,
SAVE ::
ftd(:,:)
205 REAL,
ALLOCATABLE,
SAVE ::
fqd(:,:)
211 REAL,
ALLOCATABLE,
SAVE ::
ale(:)
214 REAL,
ALLOCATABLE,
SAVE ::
alp(:)
283 REAL,
ALLOCATABLE,
SAVE::
wo(:, :, :)
300 REAL,
ALLOCATABLE,
SAVE ::
heat(:,:)
304 REAL,
ALLOCATABLE,
SAVE ::
cool(:,:)
350 REAL,
ALLOCATABLE,
SAVE ::
cape(:)
385 REAL,
SAVE,
ALLOCATABLE ::
tau_aero(:,:,:,:),
piz_aero(:,:,:,:),
cg_aero(:,:,:,:)
387 REAL,
SAVE,
ALLOCATABLE ::
tau_aero_sw_rrtm(:,:,:,:),
piz_aero_sw_rrtm(:,:,:,:),
cg_aero_sw_rrtm(:,:,:,:)
389 REAL,
SAVE,
ALLOCATABLE ::
tau_aero_lw_rrtm(:,:,:,:),
piz_aero_lw_rrtm(:,:,:,:),
cg_aero_lw_rrtm(:,:,:,:)
391 REAL,
SAVE,
ALLOCATABLE ::
ccm(:,:,:)
413 integer,
intent(in):: read_climoz
535 if (read_climoz <= 1)
then
575 ALLOCATE(
tau_aero(
klon,
klev,
naero_grp,
nbands),
piz_aero(
klon,
klev,
naero_grp,
nbands),
cg_aero(
klon,
klev,
naero_grp,
nbands))
644 deallocate(
uvstd,
vqstd,
vtstd,
wqstd,
vphistd,
wtstd,
u2std,
v2std,
t2std,
o3std,
o3daystd)
709 if (.not. ok_hines .and. ok_gwd_rando)
deallocate(
du_gwd_front)
real, dimension(:,:), allocatable, save tlevstd
!$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 & swdn0
real, dimension(:,:,:), allocatable, save v2sumstd
real, dimension(:,:), allocatable, save q_ancien
real, dimension(:), allocatable, save sollwp
real, dimension(:), allocatable, save ema_pcb
real, dimension(:,:), allocatable, save vtstd
real, dimension(:), allocatable, save zuthe
real, dimension(:,:), allocatable, save w01
integer, parameter napisccp
real, dimension(:), allocatable, save sollwdownclr
real, dimension(:,:), allocatable, save clwcon
real, dimension(:), allocatable, save toplwdownclr
real, dimension(:), allocatable, save total_rain
real, dimension(:), allocatable, save topsw
real, dimension(:,:), allocatable, save du_gwd_front
real, dimension(:,:), allocatable, save wtstd
real, dimension(:,:), allocatable, save albsol_dif
integer, parameter nbands
real, dimension(:), allocatable, save f0
real, dimension(:,:), allocatable, save heat0
real, dimension(:,:), allocatable, save qcondc
real, dimension(:), allocatable, save zval
real, dimension(:), allocatable, save zsig
real, dimension(:), allocatable, save snow_fall
real, dimension(:,:,:,:), allocatable, save piz_aero_sw_rrtm
real, dimension(:), allocatable, save lwdn200clr
real, dimension(:,:,:), allocatable, save falb_dir
real, dimension(:,:), allocatable, save wake_deltaq
real, dimension(:,:), allocatable, save heat
real, dimension(:,:,:), allocatable, save vsumstd
real, dimension(:,:), allocatable, save rnebcon0
integer, dimension(:), allocatable, save ibas_con
real, dimension(:), allocatable, save nday_rain
real, dimension(:,:,:), allocatable, save phisumstd
real, dimension(:), allocatable, save lwdntoa
real, dimension(:,:), allocatable, save uvstd
real, dimension(:,:), allocatable, save lwup0p
real, dimension(:,:), allocatable, save falb1
real, dimension(:,:), allocatable, save vphistd
real, dimension(:), allocatable, save rain_fall
real, dimension(:,:), allocatable, save sig1
real, dimension(:,:,:), allocatable, save o3sumstd
real, dimension(:,:,:,:), allocatable, save piz_aero_lw_rrtm
real, dimension(:,:), allocatable, save swdn0p
real, dimension(:,:), allocatable, save wlevstd
real, dimension(:,:), allocatable, save t_ancien
real, dimension(:,:), allocatable, save ftd
!$Header!integer nvarmx dtime
real, dimension(:), allocatable, save bbase
real, dimension(:,:), allocatable, save dq_wake
real, dimension(:), allocatable, save solsw0
real, dimension(:,:), allocatable, save dt_wake
real, dimension(:), allocatable, save rlonpos
real, parameter missing_val_nf90
real, dimension(:), allocatable, save zmea
real, dimension(:,:,:,:), allocatable, save tau_aero
real, dimension(:,:,:), allocatable, save u2sumstd
real, dimension(:,:), allocatable, save rnebcon0th
real, dimension(:,:), allocatable, save pfrac_impa
jyg
real, dimension(:,:), allocatable, save t2std
real, dimension(:), allocatable, save toplwdown
real, dimension(:,:), allocatable, save cool
real, dimension(:), allocatable, save pbase
!$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 SWdn200clr CALL SWup200clr CALL LWdn200clr CALL & lwup0
real, dimension(:,:), allocatable, save pctsrf
real, dimension(:,:), allocatable, save swup0p
real, dimension(:,:), allocatable, save falb2
real, dimension(:), allocatable, save radsol
real, dimension(:,:), allocatable, save entr_therm
real, dimension(:), allocatable, save solsw0p
real, dimension(:), allocatable, save sollwdownp
real, dimension(:,:,:), allocatable, save ccm
real, dimension(:,:,:), allocatable, save vqsumstd
real, dimension(:,:,:,:), allocatable, save cg_aero
real, dimension(:), allocatable, save topswad
real, dimension(:), allocatable, save qsol
real, dimension(:,:), allocatable, save qlevstd
real, dimension(:,:), allocatable, save heatp
real, dimension(:,:), allocatable, save lwdnp
integer, dimension(:), allocatable, save itop_con
real, dimension(:,:,:), allocatable, save pbl_tke
real, dimension(:), allocatable, save sollw
real, dimension(:), allocatable, save cape
real, dimension(:,:,:,:), allocatable, save tau_aero_lw_rrtm
real, dimension(:), allocatable, save lwup200clr
real, dimension(:,:), allocatable, save rnebcon
real, dimension(:), allocatable, save albsol1
real, dimension(:,:,:), allocatable, save tsumstd
integer, dimension(:), allocatable, save lalim_conv
real, dimension(:,:), allocatable, save u2std
real, dimension(:,:,:), allocatable, save wtsumstd
real, dimension(:,:), allocatable, save v2std
real, dimension(:), allocatable, save rain_con
integer, parameter nlevstd3
real, dimension(:), allocatable, save solswp
real, dimension(:,:,:), allocatable, save tnondef
real, dimension(:), allocatable, save sollwdown
real, dimension(:,:), allocatable, save cool0
real, dimension(:), allocatable, save wake_s
real, dimension(:), allocatable, save ale_bl
real, dimension(:), allocatable, save wake_cstar
!$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 SWdn200clr CALL SWup200clr CALL & lwdn0
real, dimension(:), allocatable, save topsw0
real, dimension(:), allocatable, save snow_con
real, dimension(:,:), allocatable, save lwdn0p
real, dimension(:), allocatable, save chl_con
real, dimension(:), allocatable, save swup200
real, dimension(:), allocatable, save zvthe
real, dimension(:,:), allocatable, save philevstd
real, dimension(:,:), allocatable, save delta_tsurf
real, dimension(:,:,:), allocatable, save wsumstd
integer, parameter nbands_lw_rrtm
!$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 SWdn200clr CALL & swup0
real, dimension(:), allocatable, save albplap
real, dimension(:,:,:), allocatable, save wake_delta_pbl_tke
real, dimension(:), allocatable, save alp_bl
real, dimension(:), allocatable, save ema_cbmf
real, dimension(:,:), allocatable, save heat0p
real, dimension(:), allocatable, save toplw
real, dimension(:,:,:), allocatable, save coefh
real, dimension(:,:), allocatable, save z0m
real, dimension(:,:,:), allocatable, save tr_ancien
real, dimension(:,:), allocatable, save pfrac_1nucl
real, dimension(:,:,:,:), allocatable, save piz_aero
real, dimension(:,:), allocatable, save lwdn
real, dimension(:,:,:,:), allocatable, save tau_aero_sw_rrtm
real, dimension(:,:), allocatable, save rhlevstd
real, dimension(:), allocatable, save rugoro
real, dimension(:), allocatable, save zpic
real, dimension(:), allocatable, save swradcorr
real, dimension(:,:,:), allocatable, save o3daysumstd
real, dimension(:), allocatable, save rlon
real, dimension(:,:), allocatable, save wght_th
real, dimension(:,:), allocatable, save fm_therm
real, dimension(:), allocatable, save topsw0p
real, dimension(:), allocatable, save solsw
real, dimension(:,:,:), allocatable, save uvsumstd
real, dimension(:), allocatable, save zgam
real, dimension(:,:,:), allocatable, save wo
real, dimension(:), allocatable, save wake_fip
integer, parameter nlevstd
real, dimension(:), allocatable, save toplw0
real, dimension(:), allocatable, save swdn200clr
real, dimension(:,:), allocatable, save pfrac_nucl
real, dimension(:), allocatable, save gustiness
real, dimension(:,:), allocatable, save u10m
real, dimension(:,:), allocatable, save vqstd
real, dimension(:), allocatable, save alb_neig
real, dimension(:,:,:,:), allocatable, save cg_aero_lw_rrtm
real, dimension(:,:), allocatable, save v10m
integer, parameter nbands_sw_rrtm
real, dimension(:,:), allocatable, save clwcon0
real, dimension(:,:), allocatable, save swdn
real, dimension(:), allocatable, save ema_pct
real, dimension(:,:), allocatable, save lwupp
real, dimension(:,:,:), allocatable, save rhsumstd
real, dimension(:,:), allocatable, save qtc_cv
real, dimension(:,:,:), allocatable, save coefm
real, dimension(:,:), allocatable, save sigt_cv
real, dimension(:,:,:), allocatable, save falb_dif
real, dimension(:), allocatable, save albsol2
integer, dimension(:,:), allocatable, save seed_old
integer, parameter nlevstd8
real, dimension(:), allocatable, save rlat
real, dimension(:,:), allocatable, save wstar
real, dimension(:,:), allocatable, save ustar
subroutine phys_state_var_end
real, dimension(:), allocatable, save ale
real, dimension(:), allocatable, save solswai
real, dimension(:,:), allocatable, save cool0p
real, dimension(:,:), allocatable, save du_gwd_rando
real, dimension(:), allocatable, save wake_pe
real, dimension(:,:,:), allocatable, save t2sumstd
real, dimension(:,:), allocatable, save coolp
real, dimension(:), allocatable, save cin
real, dimension(:,:), allocatable, save clwcon0th
real, dimension(:), allocatable, save toplwp
real, dimension(:), allocatable, save newsst
real, dimension(:,:), allocatable, save agesno
subroutine phys_state_var_init()
real, dimension(:,:), allocatable, save swup
real, dimension(:,:,:), allocatable, save usumstd
real, dimension(:,:,:,:), allocatable, save cg_aero_sw_rrtm
real, dimension(:,:,:), allocatable, save vphisumstd
real, dimension(:,:), allocatable, save ratqs
real, dimension(:), allocatable, save ale_bl_trig
real, dimension(:,:,:), allocatable, save qsumstd
real, dimension(:), allocatable, save zstd
real, dimension(:,:), allocatable, save swdnp
real, dimension(:), allocatable, save toplw0p
real, dimension(:,:), allocatable, save wqstd
real, dimension(:), allocatable, save lwup200
real, dimension(:,:), allocatable, save fevap
real, dimension(:), allocatable, save swdn200
real, dimension(:), allocatable, save zmax0
nrlmd
real, dimension(:), allocatable, save albpla
real, dimension(:), allocatable, save wd
real, dimension(:), allocatable, save lwdn200
real, dimension(:,:), allocatable, save z0h
real, dimension(:), allocatable, save sollw0p
real, dimension(:,:,:), allocatable, save wqsumstd
real, dimension(:,:), allocatable, save vlevstd
real, dimension(:,:), allocatable, save ftsol
real, dimension(:,:), allocatable, save ma
real, dimension(:), allocatable, save solswad
real, dimension(:,:), allocatable, save zqasc
real, dimension(:,:), allocatable, save swupp
real, dimension(:,:), allocatable, save lwup
real, dimension(:,:), allocatable, save u_ancien
real, dimension(:), allocatable, save lwdntoaclr
real, dimension(:), allocatable, save zthe
real, dimension(:,:), allocatable, save o3daystd
real, dimension(:,:), allocatable, save o3std
real, dimension(:), allocatable, save swup200clr
real, dimension(:,:,:), allocatable, save vtsumstd
!$Id!Parameters for nlm real sigd
real, dimension(:), allocatable, save paire_ter
integer, parameter naero_grp
real, dimension(:,:), allocatable, save ulevstd
real, dimension(:), allocatable, save alp
real, dimension(:,:), allocatable, save detr_therm
real, dimension(:,:), allocatable, save fqd
real, dimension(:,:), allocatable, save v_ancien
real, dimension(:), allocatable, save topswp
real, dimension(:), allocatable, save sollw0
real, dimension(:), allocatable, save radsolp
real, dimension(:), allocatable, save topswai
real, dimension(:,:), allocatable, save wake_deltat
real, dimension(:,:), allocatable, save albsol_dir