--- trunk/libf/phylmd/physiq.f90 2011/09/23 12:28:01 52 +++ trunk/libf/phylmd/physiq.f90 2012/01/10 19:02:02 56 @@ -12,7 +12,9 @@ ! This is the main procedure for the "physics" part of the program. + use aaam_bud_m, only: aaam_bud USE abort_gcm_m, ONLY: abort_gcm + use ajsec_m, only: ajsec USE calendar, ONLY: ymds2ju use calltherm_m, only: calltherm USE clesphys, ONLY: cdhmax, cdmmax, co2_ppm, ecrit_hf, ecrit_ins, & @@ -48,6 +50,8 @@ USE phystokenc_m, ONLY: phystokenc USE phytrac_m, ONLY: phytrac USE qcheck_m, ONLY: qcheck + use radlwsw_m, only: radlwsw + use sugwd_m, only: sugwd USE suphec_m, ONLY: ra, rcpd, retv, rg, rlvtt, romega, rsigma, rtt USE temps, ONLY: annee_ref, day_ref, itau_phy USE yoethf_m, ONLY: r2es, rvtmp2 @@ -387,12 +391,10 @@ ! Declaration des procedures appelees EXTERNAL alboc ! calculer l'albedo sur ocean - EXTERNAL ajsec ! ajustement sec !KE43 EXTERNAL conema3 ! convect4.3 EXTERNAL fisrtilp ! schema de condensation a grande echelle (pluie) EXTERNAL nuage ! calculer les proprietes radiatives - EXTERNAL radlwsw ! rayonnements solaire et infrarouge EXTERNAL transp ! transport total de l'eau et de l'energie ! Variables locales @@ -420,7 +422,9 @@ REAL zxfluxu(klon, llm) REAL zxfluxv(klon, llm) - REAL heat(klon, llm) ! chauffage solaire + ! Le rayonnement n'est pas calcule tous les pas, il faut donc + ! que les variables soient rémanentes + REAL, save:: heat(klon, llm) ! chauffage solaire REAL heat0(klon, llm) ! chauffage solaire ciel clair REAL cool(klon, llm) ! refroidissement infrarouge REAL cool0(klon, llm) ! refroidissement infrarouge ciel clair @@ -430,9 +434,7 @@ REAL albpla(klon) REAL fsollw(klon, nbsrf) ! bilan flux IR pour chaque sous surface REAL fsolsw(klon, nbsrf) ! flux solaire absorb. pour chaque sous surface - ! Le rayonnement n'est pas calcule tous les pas, il faut donc - ! sauvegarder les sorties du rayonnement - SAVE heat, cool, albpla, topsw, toplw, solsw, sollw, sollwdown + SAVE cool, albpla, topsw, toplw, solsw, sollw, sollwdown SAVE topsw0, toplw0, solsw0, sollw0, heat0, cool0 INTEGER itaprad @@ -776,7 +778,7 @@ IF (ok_orodr) THEN rugoro = MAX(1e-5, zstd * zsig / 2) - CALL SUGWD(klon, llm, paprs, play) + CALL SUGWD(paprs, play) else rugoro = 0. ENDIF @@ -1657,11 +1659,8 @@ ENDDO ENDDO - !IM calcul composantes axiales du moment angulaire et couple des montagnes - - CALL aaam_bud(27, klon, llm, time, ra, rg, romega, rlat, rlon, pphis, & - zustrdr, zustrli, zustrph, zvstrdr, zvstrli, zvstrph, paprs, u, v, & - aam, torsfc) + CALL aaam_bud(ra, rg, romega, rlat, rlon, pphis, zustrdr, zustrli, & + zustrph, zvstrdr, zvstrli, zvstrph, paprs, u, v, aam, torsfc) IF (if_ebil >= 2) THEN ztit = 'after orography'