13 |
! This is the main procedure for the "physics" part of the program. |
! This is the main procedure for the "physics" part of the program. |
14 |
|
|
15 |
USE abort_gcm_m, ONLY: abort_gcm |
USE abort_gcm_m, ONLY: abort_gcm |
16 |
|
use ajsec_m, only: ajsec |
17 |
USE calendar, ONLY: ymds2ju |
USE calendar, ONLY: ymds2ju |
18 |
use calltherm_m, only: calltherm |
use calltherm_m, only: calltherm |
19 |
USE clesphys, ONLY: cdhmax, cdmmax, co2_ppm, ecrit_hf, ecrit_ins, & |
USE clesphys, ONLY: cdhmax, cdmmax, co2_ppm, ecrit_hf, ecrit_ins, & |
49 |
USE phystokenc_m, ONLY: phystokenc |
USE phystokenc_m, ONLY: phystokenc |
50 |
USE phytrac_m, ONLY: phytrac |
USE phytrac_m, ONLY: phytrac |
51 |
USE qcheck_m, ONLY: qcheck |
USE qcheck_m, ONLY: qcheck |
52 |
|
use radlwsw_m, only: radlwsw |
53 |
USE suphec_m, ONLY: ra, rcpd, retv, rg, rlvtt, romega, rsigma, rtt |
USE suphec_m, ONLY: ra, rcpd, retv, rg, rlvtt, romega, rsigma, rtt |
54 |
USE temps, ONLY: annee_ref, day_ref, itau_phy |
USE temps, ONLY: annee_ref, day_ref, itau_phy |
55 |
USE yoethf_m, ONLY: r2es, rvtmp2 |
USE yoethf_m, ONLY: r2es, rvtmp2 |
389 |
! Declaration des procedures appelees |
! Declaration des procedures appelees |
390 |
|
|
391 |
EXTERNAL alboc ! calculer l'albedo sur ocean |
EXTERNAL alboc ! calculer l'albedo sur ocean |
|
EXTERNAL ajsec ! ajustement sec |
|
392 |
!KE43 |
!KE43 |
393 |
EXTERNAL conema3 ! convect4.3 |
EXTERNAL conema3 ! convect4.3 |
394 |
EXTERNAL fisrtilp ! schema de condensation a grande echelle (pluie) |
EXTERNAL fisrtilp ! schema de condensation a grande echelle (pluie) |
395 |
EXTERNAL nuage ! calculer les proprietes radiatives |
EXTERNAL nuage ! calculer les proprietes radiatives |
|
EXTERNAL radlwsw ! rayonnements solaire et infrarouge |
|
396 |
EXTERNAL transp ! transport total de l'eau et de l'energie |
EXTERNAL transp ! transport total de l'eau et de l'energie |
397 |
|
|
398 |
! Variables locales |
! Variables locales |
420 |
REAL zxfluxu(klon, llm) |
REAL zxfluxu(klon, llm) |
421 |
REAL zxfluxv(klon, llm) |
REAL zxfluxv(klon, llm) |
422 |
|
|
423 |
REAL heat(klon, llm) ! chauffage solaire |
! Le rayonnement n'est pas calcule tous les pas, il faut donc |
424 |
|
! que les variables soient rémanentes |
425 |
|
REAL, save:: heat(klon, llm) ! chauffage solaire |
426 |
REAL heat0(klon, llm) ! chauffage solaire ciel clair |
REAL heat0(klon, llm) ! chauffage solaire ciel clair |
427 |
REAL cool(klon, llm) ! refroidissement infrarouge |
REAL cool(klon, llm) ! refroidissement infrarouge |
428 |
REAL cool0(klon, llm) ! refroidissement infrarouge ciel clair |
REAL cool0(klon, llm) ! refroidissement infrarouge ciel clair |
432 |
REAL albpla(klon) |
REAL albpla(klon) |
433 |
REAL fsollw(klon, nbsrf) ! bilan flux IR pour chaque sous surface |
REAL fsollw(klon, nbsrf) ! bilan flux IR pour chaque sous surface |
434 |
REAL fsolsw(klon, nbsrf) ! flux solaire absorb. pour chaque sous surface |
REAL fsolsw(klon, nbsrf) ! flux solaire absorb. pour chaque sous surface |
435 |
! Le rayonnement n'est pas calcule tous les pas, il faut donc |
SAVE cool, albpla, topsw, toplw, solsw, sollw, sollwdown |
|
! sauvegarder les sorties du rayonnement |
|
|
SAVE heat, cool, albpla, topsw, toplw, solsw, sollw, sollwdown |
|
436 |
SAVE topsw0, toplw0, solsw0, sollw0, heat0, cool0 |
SAVE topsw0, toplw0, solsw0, sollw0, heat0, cool0 |
437 |
|
|
438 |
INTEGER itaprad |
INTEGER itaprad |