111 |
LOGICAL, PARAMETER:: ok_stratus = .FALSE. |
LOGICAL, PARAMETER:: ok_stratus = .FALSE. |
112 |
! Ajouter artificiellement les stratus |
! Ajouter artificiellement les stratus |
113 |
|
|
|
character(len = 6):: ocean = 'force ' |
|
|
! (type de mod\`ele oc\'ean \`a utiliser: "force" ou "slab" mais |
|
|
! pas "couple") |
|
|
|
|
114 |
! "slab" ocean |
! "slab" ocean |
115 |
REAL, save:: tslab(klon) ! temperature of ocean slab |
REAL, save:: tslab(klon) ! temperature of ocean slab |
116 |
REAL, save:: seaice(klon) ! glace de mer (kg/m2) |
REAL, save:: seaice(klon) ! glace de mer (kg/m2) |
117 |
REAL fluxo(klon) ! flux turbulents ocean-glace de mer |
REAL fluxo(klon) ! flux turbulents ocean-glace de mer |
118 |
REAL fluxg(klon) ! flux turbulents ocean-atmosphere |
REAL fluxg(klon) ! flux turbulents ocean-atmosphere |
119 |
|
|
|
! Modele thermique du sol, a activer pour le cycle diurne: |
|
|
logical:: ok_veget = .false. ! type de modele de vegetation utilise |
|
|
|
|
120 |
logical:: ok_journe = .false., ok_mensuel = .true., ok_instan = .false. |
logical:: ok_journe = .false., ok_mensuel = .true., ok_instan = .false. |
121 |
! sorties journalieres, mensuelles et instantanees dans les |
! sorties journalieres, mensuelles et instantanees dans les |
122 |
! fichiers histday, histmth et histins |
! fichiers histday, histmth et histins |
503 |
REAL ztsol(klon) |
REAL ztsol(klon) |
504 |
REAL d_h_vcol, d_qt, d_ec |
REAL d_h_vcol, d_qt, d_ec |
505 |
REAL, SAVE:: d_h_vcol_phy |
REAL, SAVE:: d_h_vcol_phy |
|
REAL fs_bound, fq_bound |
|
506 |
REAL zero_v(klon) |
REAL zero_v(klon) |
507 |
CHARACTER(LEN = 20) tit |
CHARACTER(LEN = 20) tit |
508 |
INTEGER:: ip_ebil = 0 ! print level for energy conservation diagnostics |
INTEGER:: ip_ebil = 0 ! print level for energy conservation diagnostics |
566 |
|
|
567 |
real, parameter:: dobson_u = 2.1415e-05 ! Dobson unit, in kg m-2 |
real, parameter:: dobson_u = 2.1415e-05 ! Dobson unit, in kg m-2 |
568 |
|
|
569 |
namelist /physiq_nml/ ocean, ok_veget, ok_journe, ok_mensuel, ok_instan, & |
namelist /physiq_nml/ ok_journe, ok_mensuel, ok_instan, fact_cldcon, & |
570 |
fact_cldcon, facttemps, ok_newmicro, iflag_cldcon, ratqsbas, & |
facttemps, ok_newmicro, iflag_cldcon, ratqsbas, ratqshaut, if_ebil, & |
571 |
ratqshaut, if_ebil, ok_ade, ok_aie, bl95_b0, bl95_b1, iflag_thermals, & |
ok_ade, ok_aie, bl95_b0, bl95_b1, iflag_thermals, nsplit_thermals |
|
nsplit_thermals |
|
572 |
|
|
573 |
!---------------------------------------------------------------- |
!---------------------------------------------------------------- |
574 |
|
|
627 |
frugs = 0. |
frugs = 0. |
628 |
itap = 0 |
itap = 0 |
629 |
itaprad = 0 |
itaprad = 0 |
630 |
CALL phyetat0("startphy.nc", pctsrf, ftsol, ftsoil, ocean, tslab, & |
CALL phyetat0(pctsrf, ftsol, ftsoil, tslab, seaice, fqsurf, qsol, & |
631 |
seaice, fqsurf, qsol, fsnow, falbe, falblw, fevap, rain_fall, & |
fsnow, falbe, falblw, fevap, rain_fall, snow_fall, solsw, sollw, & |
632 |
snow_fall, solsw, sollw, dlw, radsol, frugs, agesno, zmea, & |
dlw, radsol, frugs, agesno, zmea, zstd, zsig, zgam, zthe, zpic, & |
633 |
zstd, zsig, zgam, zthe, zpic, zval, t_ancien, q_ancien, & |
zval, t_ancien, q_ancien, ancien_ok, rnebcon, ratqs, clwcon, & |
634 |
ancien_ok, rnebcon, ratqs, clwcon, run_off_lic_0, sig1, w01) |
run_off_lic_0, sig1, w01) |
635 |
|
|
636 |
! ATTENTION : il faudra a terme relire q2 dans l'etat initial |
! ATTENTION : il faudra a terme relire q2 dans l'etat initial |
637 |
q2 = 1e-8 |
q2 = 1e-8 |
642 |
IF (raz_date) itau_phy = 0 |
IF (raz_date) itau_phy = 0 |
643 |
|
|
644 |
PRINT *, 'cycle_diurne = ', cycle_diurne |
PRINT *, 'cycle_diurne = ', cycle_diurne |
645 |
CALL printflag(radpas, ocean /= 'force', ok_journe, ok_instan, ok_region) |
CALL printflag(radpas, ok_journe, ok_instan, ok_region) |
646 |
|
|
647 |
IF (dtphys * REAL(radpas) > 21600. .AND. cycle_diurne) THEN |
IF (dtphys * REAL(radpas) > 21600. .AND. cycle_diurne) THEN |
648 |
print *, "Au minimum 4 appels par jour si cycle diurne" |
print *, "Au minimum 4 appels par jour si cycle diurne" |
680 |
print *, 'physiq date0: ', date0 |
print *, 'physiq date0: ', date0 |
681 |
ENDIF test_firstcal |
ENDIF test_firstcal |
682 |
|
|
|
! Mettre a zero des variables de sortie (pour securite) |
|
|
da = 0. |
|
|
mp = 0. |
|
|
phi = 0. |
|
|
|
|
683 |
! We will modify variables *_seri and we will not touch variables |
! We will modify variables *_seri and we will not touch variables |
684 |
! u, v, t, qx: |
! u, v, t, qx: |
685 |
t_seri = t |
t_seri = t |
792 |
! Couche limite: |
! Couche limite: |
793 |
|
|
794 |
CALL clmain(dtphys, itap, pctsrf, pctsrf_new, t_seri, q_seri, u_seri, & |
CALL clmain(dtphys, itap, pctsrf, pctsrf_new, t_seri, q_seri, u_seri, & |
795 |
v_seri, julien, rmu0, co2_ppm, ok_veget, ocean, ftsol, soil_model, & |
v_seri, julien, rmu0, co2_ppm, ftsol, soil_model, & |
796 |
cdmmax, cdhmax, ksta, ksta_ter, ok_kzmin, ftsoil, qsol, paprs, play, & |
cdmmax, cdhmax, ksta, ksta_ter, ok_kzmin, ftsoil, qsol, paprs, play, & |
797 |
fsnow, fqsurf, fevap, falbe, falblw, fluxlat, rain_fall, snow_fall, & |
fsnow, fqsurf, fevap, falbe, falblw, fluxlat, rain_fall, snow_fall, & |
798 |
fsolsw, fsollw, fder, rlon, rlat, frugs, firstcal, agesno, rugoro, & |
fsolsw, fsollw, fder, rlat, frugs, firstcal, agesno, rugoro, & |
799 |
d_t_vdf, d_q_vdf, d_u_vdf, d_v_vdf, d_ts, fluxt, fluxq, fluxu, & |
d_t_vdf, d_q_vdf, d_u_vdf, d_v_vdf, d_ts, fluxt, fluxq, fluxu, & |
800 |
fluxv, cdragh, cdragm, q2, dsens, devap, ycoefh, yu1, yv1, t2m, q2m, & |
fluxv, cdragh, cdragm, q2, dsens, devap, ycoefh, yu1, yv1, t2m, q2m, & |
801 |
u10m, v10m, pblh, capCL, oliqCL, cteiCL, pblT, therm, trmb1, trmb2, & |
u10m, v10m, pblh, capCL, oliqCL, cteiCL, pblT, therm, trmb1, trmb2, & |
952 |
else |
else |
953 |
! iflag_con >= 3 |
! iflag_con >= 3 |
954 |
|
|
955 |
|
da = 0. |
956 |
|
mp = 0. |
957 |
|
phi = 0. |
958 |
CALL concvl(dtphys, paprs, play, t_seri, q_seri, u_seri, v_seri, sig1, & |
CALL concvl(dtphys, paprs, play, t_seri, q_seri, u_seri, v_seri, sig1, & |
959 |
w01, d_t_con, d_q_con, d_u_con, d_v_con, rain_con, snow_con, & |
w01, d_t_con, d_q_con, d_u_con, d_v_con, rain_con, snow_con, & |
960 |
ibas_con, itop_con, upwd, dnwd, dnwd0, Ma, cape, iflagctrl, & |
ibas_con, itop_con, upwd, dnwd, dnwd0, Ma, cape, iflagctrl, & |