Changeset 6026 for LMDZ6


Ignore:
Timestamp:
Jan 14, 2026, 2:44:07 PM (2 weeks ago)
Author:
evignon
Message:

petits changements et commentaires dans physiq_mod

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r6021 r6026  
    12421242    REAL, DIMENSION(klon,nbtr) :: init_source
    12431243
     1244    REAL, DIMENSION(klon,klev) :: cldfra_inca
     1245
    12441246    !lwoff=y : offset LW CRE for radiation code and other schemes
    12451247    REAL, SAVE :: betalwoff
     
    41544156    ENDIF
    41554157
    4156     !     plulsc(:)=0.
    4157     !     do k=1,klev,-1
    4158     !        do i=1,klon
    4159     !              zzz=prfl(:,k)+psfl(:,k)
    4160     !           if (.not.ptconvth.zzz.gt.0.)
    4161     !        enddo prfl, psfl,
    4162     !     enddo
    4163     !
    41644158    ! 2. NUAGES STARTIFORMES
    41654159    !
     
    41784172    ! Calculer l'humidite relative pour diagnostique
    41794173    !
     4174    ! A inclure dans lmdz_call_lscp via un appel à lmdz_lscp_tools
    41804175    DO k = 1, klev
    41814176       DO i = 1, klon
    41824177          zx_t = t_seri(i,k)
    41834178          IF (thermcep) THEN
    4184              !!           if (iflag_ice_thermo.eq.0) then                 !jyg
    41854179             zdelta = MAX(0.,SIGN(1.,rtt-zx_t))
    4186              !!           else                                            !jyg
    4187              !!           zdelta = MAX(0.,SIGN(1.,t_glace_min-zx_t))      !jyg
    4188              !!           endif                                           !jyg
    41894180             zx_qs  = r2es * FOEEW(zx_t,zdelta)/pplay(i,k)
    41904181             zx_qs  = MIN(0.5,zx_qs)
     
    41924183             zx_qs  = zx_qs*zcor
    41934184          ELSE
    4194              !!           IF (zx_t.LT.t_coup) THEN             !jyg
    4195              IF (zx_t.LT.rtt) THEN                  !jyg
     4185             IF (zx_t.LT.rtt) THEN                 
    41964186                zx_qs = qsats(zx_t)/pplay(i,k)
    41974187             ELSE
     
    42084198    ENDDO
    42094199
    4210     !IM Calcul temp.potentielle a 2m (tpot) et temp. potentielle
    4211     !   equivalente a 2m (tpote) pour diagnostique
    4212     !
    4213     DO i = 1, klon
    4214        tpot(i)=zt2m(i)*(100000./paprs(i,1))**RKAPPA
    4215        IF (thermcep) THEN
    4216           IF(zt2m(i).LT.RTT) then
    4217              Lheat=RLSTT
    4218           ELSE
    4219              Lheat=RLVTT
    4220           ENDIF
    4221        ELSE
    4222           IF (zt2m(i).LT.RTT) THEN
    4223              Lheat=RLSTT
    4224           ELSE
    4225              Lheat=RLVTT
    4226           ENDIF
    4227        ENDIF
    4228        tpote(i) = tpot(i)*      &
    4229             EXP((Lheat *qsat2m(i))/(RCPD*zt2m(i)))
    4230     ENDDO
    4231 
    4232 
    4233 
    42344200    !===============================================================================
    4235     ! Aerosols and chemistry
    4236     !
    4237 
    4238 
     4201    ! Interactive chemistry through coupling with INCA or REPROBUS chemistry models
     4202    !
    42394203
    42404204    IF (ANY(type_trac == ['inca','inco'])) THEN ! ModThL
     
    42514215
    42524216          zxsnow_dummy(:) = 0.0
     4217          ! INCA needs a cloud fraction that is not necessarily that
     4218          ! for radiation. Here we provide a cloud fraction calculated
     4219          ! the same manner as that in LMDZ5, LMDZ6 and LMDZ7
     4220          DO k=1,klev
     4221                DO i=1,klon
     4222                   cldfra_inca(i,k)=min(rneb(i,k)+rnebcon(i,k),1.)
     4223                ENDDO
     4224          ENDDO
     4225
     4226
    42534227
    42544228          CALL chemhook_begin (calday, &
     
    42784252               itop_con, &
    42794253               ibas_con, &
    4280                cldfra, &
     4254               cldfra_inca, &
    42814255               nbp_lon, &
    42824256               nbp_lat-1, &
     
    42944268       END IF
    42954269    ENDIF !type_trac = inca or inco
     4270   
    42964271    IF (type_trac == 'repr') THEN
    42974272       IF (CPPKEY_REPROBUS) THEN
    4298           !CALL chemtime_rep(itap+itau_phy-1, date0, dtime, itap)
    42994273          CALL chemtime_rep(itap+itau_phy-1, date0, phys_tstep, itap)
    43004274       END IF
    43014275    ENDIF
    43024276
    4303     !
    4304     ! Appeler le rayonnement mais calculer tout d'abord l'albedo du sol.
    4305     !
     4277   
     4278    !===============================================================================
     4279    ! Radiative scheme and associated aerosols
     4280    !
     4281    ! Note that the following routines are called every radpas time steps
     4282
    43064283    IF (MOD(itaprad,radpas).EQ.0) THEN
    43074284
     
    46614638          IF (carbon_cycle_rad) RCO2=RCO2_glo
    46624639          !
    4663 
    4664     !===============================================================================
    4665     ! Radiative scheme
    4666     !
    46674640
    46684641
     
    48554828          zxtsol(:) = zsav_tsol (:)
    48564829       ENDIF
    4857     ENDIF ! MOD(itaprad,radpas)
     4830
     4831    ENDIF ! MOD(itaprad,radpas) END LOOP every radpas timesteps
    48584832    itaprad = itaprad + 1
    48594833
     
    51465120            aam, torsfc)
    51475121    ENDIF
     5122
     5123
     5124
    51485125    !IM cf. FLott END
    51495126    !DC Calcul de la tendance due au methane
     
    53005277
    53015278    !====================================================================
    5302     ! Interface Simulateur COSP (Calipso, ISCCP, MISR, ..)
     5279    ! Interface COSP (Calipso, ISCCP, MISR, ..) and AIRS simulators
    53035280    !====================================================================
    53045281    ! Abderrahmane 24.08.09
     
    58135790
    58145791    !============================================================
    5815     !   Calcul de la temperature potentielle
     5792    ! Potential temperature calculation
    58165793    !============================================================
    58175794    DO k = 1, klev
    58185795       DO i = 1, klon
    5819           !JYG/IM theta en debut du pas de temps
    5820           !JYG/IM       theta(i,k)=t(i,k)*(100000./pplay(i,k))**(RD/RCPD)
    5821           !JYG/IM theta en fin de pas de temps de physique
     5796          !theta at the beginning of the time step is
     5797          !   theta(i,k)=t(i,k)*(100000./pplay(i,k))**(RD/RCPD)
     5798          !theta at the end of the physics time step is:
    58225799          theta(i,k)=t_seri(i,k)*(100000./pplay(i,k))**(RD/RCPD)
    5823           ! thetal: 2 lignes suivantes a decommenter si vous avez les fichiers
    5824           !     MPL 20130625
    5825           ! fth_fonctions.F90 et parkind1.F90
    5826           ! sinon thetal=theta
    5827           !       thetal(i,k)=fth_thetal(pplay(i,k),t_seri(i,k),q_seri(i,k),
    5828           !    :         ql_seri(i,k))
    58295800          thetal(i,k)=theta(i,k)
    58305801       ENDDO
    58315802    ENDDO
    5832     !
     5803
     5804
     5805    ! 2-m potential temperature and equivalent potential temperature
     5806    ! for diagnostics
     5807    DO i = 1, klon
     5808       tpot(i)=zt2m(i)*(100000./paprs(i,1))**RKAPPA
     5809       IF (thermcep) THEN
     5810          IF(zt2m(i).LT.RTT) then
     5811             Lheat=RLSTT
     5812          ELSE
     5813             Lheat=RLVTT
     5814          ENDIF
     5815       ELSE
     5816          IF (zt2m(i).LT.RTT) THEN
     5817             Lheat=RLSTT
     5818          ELSE
     5819             Lheat=RLVTT
     5820          ENDIF
     5821       ENDIF
     5822       tpote(i) = tpot(i)*      &
     5823            EXP((Lheat *qsat2m(i))/(RCPD*zt2m(i)))
     5824    ENDDO
     5825
     5826
     5827
    58335828
    58345829    ! 22.03.04 BEG
Note: See TracChangeset for help on using the changeset viewer.