Changeset 2826 for trunk/LMDZ.MARS/libf


Ignore:
Timestamp:
Nov 23, 2022, 11:11:26 AM (2 years ago)
Author:
romain.vande
Message:

Mars GCM:
The variable co2ice is deleted. All the co2 ice on surface is now in qsurf(:,igcm_co2).
CO2 tracer is now mandatory. diagfi output is unchanged.
RV

Location:
trunk/LMDZ.MARS/libf/phymars
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/co2cloud.F90

    r2660 r2826  
    8989  subroutine co2cloud(ngrid, nlay, ptimestep, pplev, pplay, pdpsrf, pzlay, pt, pdt, pq, pdq, pdqcloudco2, pdtcloudco2, &
    9090                      nq, tau, tauscaling, rdust, rice, riceco2, nuice, rhocloud, rsedcloudco2, rhocloudco2, pzlev,&
    91                       pdqs_sedco2, pdqs_sedccn, pdu, pu, pcondicea, co2ice)
     91                      pdqs_sedco2, pdqs_sedccn, pdu, pu, pcondicea)
    9292
    9393  use ioipsl_getincom, only: getin
     
    142142     pdu(ngrid,nlay),     &! Tendency of zonal wind before condensation
    143143     pzlev(ngrid,nlay+1), &! Altitude at the boundaries of the layers
    144      nuice(ngrid,nlay),   &! Estimated effective variance of the size distribution
    145      co2ice(ngrid)         ! Amount of co2 ice at the surface
     144     nuice(ngrid,nlay)     ! Estimated effective variance of the size distribution
    146145!----------------------------------------------------------------------------------------------------------------------!
    147146! Output arguments:
  • trunk/LMDZ.MARS/libf/phymars/phyetat0_mod.F90

    r2740 r2826  
    99
    1010subroutine phyetat0 (fichnom,tab0,Lmodif,nsoil,ngrid,nlay,nq, &
    11                      day_ini,time0,tsurf,tsoil,albedo,emis,q2,qsurf,co2ice, &
     11                     day_ini,time0,tsurf,tsoil,albedo,emis,q2,qsurf, &
    1212                     tauscaling,totcloudfrac,wstar,watercap)
    1313
     
    6363  real,intent(out) :: q2(ngrid,nlay+1) !
    6464  real,intent(out) :: qsurf(ngrid,nq) ! tracers on surface
    65   real,intent(out) :: co2ice(ngrid) ! co2 ice cover
    6665  real,intent(out) :: tauscaling(ngrid) ! dust conversion factor
    6766  real,intent(out) :: totcloudfrac(ngrid) ! total cloud fraction
     
    348347endif ! if (startphy_file)
    349348
    350 ! CO2 ice cover
    351 if (startphy_file) then
    352    call get_field("co2ice",co2ice,found,indextime)
    353    if (.not.found) then
    354      call abort_physic(modname, &
    355                 "phyetat0: Failed loading <co2ice>",1)
    356    endif
    357 else
    358    co2ice(:)=0.
    359 endif !if (startphy_file)
    360 write(*,*) "phyetat0: CO2 ice cover <co2ice> range:", &
    361             minval(co2ice), maxval(co2ice)
    362 
    363349! Dust conversion factor
    364350if (startphy_file) then
     
    561547
    562548    if (startphy_file) then
    563        call get_field(txt,qsurf(:,iq),found,indextime)
    564        if (.not.found) then
    565          write(*,*) "phyetat0: Failed loading <",trim(txt),">"
    566          write(*,*) "         ",trim(txt)," is set to zero"
    567          qsurf(:,iq)=0.
    568        endif
    569     else
     549      if (txt.eq."co2") then
     550        ! We first check if co2ice exist in the startfi file (old way)
     551        ! CO2 ice cover
     552        call get_field("co2ice",qsurf(:,iq),found,indextime)
     553        ! If not, we load the corresponding tracer in qsurf
     554        if (.not.found) then
     555          call get_field(txt,qsurf(:,iq),found,indextime)
     556          if (.not.found) then
     557            call abort_physic(modname, &
     558                "phyetat0: Failed loading co2ice. there is neither the variable co2ice nor qsurf",1)
     559          endif
     560        endif
     561      else ! (not the co2 tracer)
     562        call get_field(txt,qsurf(:,iq),found,indextime)
     563        if (.not.found) then
     564          write(*,*) "phyetat0: Failed loading <",trim(txt),">"
     565          write(*,*) "         ",trim(txt)," is set to zero"
     566          qsurf(:,iq)=0.
     567        endif
     568      endif !endif co2
     569    else !(not startphy_file)
    570570      qsurf(:,iq)=0.
    571571    endif ! of if (startphy_file)
     
    573573                 minval(qsurf(:,iq)), maxval(qsurf(:,iq))
    574574  enddo ! of do iq=1,nq
     575
     576    if (txt.eq."co2") then
     577      ! We first check if co2ice exist in the startfi file (old way)
     578      ! CO2 ice cover
     579      if (startphy_file) then
     580        call get_field("co2ice",qsurf(:,iq),found,indextime)
     581      ! If not, we load the corresponding tracer in qsurf
     582        if (.not.found) then
     583          call get_field(txt,qsurf(:,iq),found,indextime)
     584          if (.not.found) then
     585            call abort_physic(modname, &
     586                "phyetat0: Failed loading co2ice",1)
     587          endif
     588        endif
     589      else
     590       ! If we run without startfile, co2ice is set to 0
     591        qsurf(:,iq)=0.
     592      endif !if (startphy_file)
     593        write(*,*) "phyetat0: CO2 ice cover <co2ice> range:", &
     594            minval(qsurf(:,iq)), maxval(qsurf(:,iq))
     595    endif
     596
    575597endif ! of if (nq.ge.1)
    576598
  • trunk/LMDZ.MARS/libf/phymars/phyredem.F90

    r2562 r2826  
    148148
    149149subroutine physdem1(filename,nsoil,ngrid,nlay,nq, &
    150                     phystep,time,tsurf,tsoil,co2ice,albedo,emis,q2,qsurf,&
     150                    phystep,time,tsurf,tsoil,albedo,emis,q2,qsurf,&
    151151                    tauscaling,totcloudfrac,wstar, &
    152152                    watercap)
     
    173173  real,intent(in) :: tsurf(ngrid)
    174174  real,intent(in) :: tsoil(ngrid,nsoil)
    175   real,intent(in) :: co2ice(ngrid)
    176175  real,intent(in) :: albedo(ngrid,2)
    177176  real,intent(in) :: emis(ngrid)
     
    198197  ! set time counter in file
    199198  call put_var("Time","Temps de simulation",time)
    200  
    201   ! CO2 ice layer
    202   call put_field("co2ice","CO2 ice cover",co2ice,time)
    203199
    204200  ! Water ice layer
     
    299295      endif ! of if (txt.eq."hdo_vap")
    300296
    301       ! co2_ice has been added to co2ice in co2condens4micro
     297      ! co2_ice has been added to qsurf(:,igcm_co2) in co2condens4micro
    302298      if (txt.eq."co2_ice") then
    303299        write(*,*)"physdem1: skipping co2_ice tracer"
  • trunk/LMDZ.MARS/libf/phymars/physiq_mod.F

    r2825 r2826  
    5050     &                     zthe, z0, albedo_h2o_cap,albedo_h2o_frost,
    5151     &                     frost_albedo_threshold,frost_metam_threshold,
    52      &                     tsurf, co2ice, emis,
     52     &                     tsurf, emis,
    5353     &                     capcal, fluxgrd, qsurf,
    5454     &                     hmons,summit,base,watercap,watercaptag
     
    568568     &         day_ini,time_phys,
    569569     &         tsurf,tsoil,albedo,emis,
    570      &         q2,qsurf,co2ice,tauscaling,totcloudfrac,wstar,
     570     &         q2,qsurf,tauscaling,totcloudfrac,wstar,
    571571     &         watercap)
    572572
     
    585585      PRINT*,'check: q2 ',q2(1,1),q2(ngrid,nlayer+1)
    586586      PRINT*,'check: qsurf ',qsurf(1,1),qsurf(ngrid,nq)
    587       PRINT*,'check: co2 ',co2ice(1),co2ice(ngrid)
     587      PRINT*,'check: co2ice ',qsurf(1,igcm_co2),qsurf(ngrid,igcm_co2)
    588588      !!!
    589589      day_ini = pday
     
    640640c        initialize tracers
    641641c        ~~~~~~~~~~~~~~~~~~
     642
    642643         CALL initracer(ngrid,nq,qsurf)
    643644
    644645c        Initialize albedo and orbital calculation
    645646c        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    646          CALL surfini(ngrid,co2ice,qsurf)
     647         CALL surfini(ngrid,qsurf)
    647648         CALL iniorbit(aphelie,periheli,year_day,peri_day,obliquit)
    648649
     
    868869     &        +(pdq(ig,l,igcm_co2)+pdq(ig,l,igcm_co2_ice))*ptimestep)
    869870          end do
    870           co2totA = co2totA + co2ice(ig)
     871          co2totA = co2totA + qsurf(ig,igcm_co2)
    871872        end do
    872873      else
     
    878879     &        +pdq(ig,l,igcm_co2)*ptimestep)
    879880          end do
    880           co2totA = co2totA + co2ice(ig)
     881          co2totA = co2totA + qsurf(ig,igcm_co2)
    881882        end do
    882883      endif ! of if (igcm_co2_ice.ne.0)
     
    981982     &     tau_pref_scenario,tau_pref_gcm,
    982983     &     tau,aerosol,dsodust,tauscaling,dust_rad_adjust,IRtoVIScoef,
    983      &     taucloudtes,rdust,rice,nuice,riceco2,nuiceco2,co2ice,
    984      &     rstormdust,rtopdust,totstormfract,clearatm,dsords,dsotop,
    985      &     nohmons,clearsky,totcloudfrac)
     984     &     taucloudtes,rdust,rice,nuice,riceco2,nuiceco2,
     985     &     qsurf(:,igcm_co2),rstormdust,rtopdust,totstormfract,
     986     &     clearatm,dsords,dsotop,nohmons,clearsky,totcloudfrac)
    986987
    987988           ! case of sub-grid water ice clouds: callradite for the clear case
     
    10001001     &              dsodust,tauscaling,dust_rad_adjust,IRtoVIScoef,
    10011002     &              taucloudtesclf,rdust,
    1002      &              rice,nuice,riceco2, nuiceco2,co2ice,rstormdust,
    1003      &              rtopdust,totstormfract,
     1003     &              rice,nuice,riceco2, nuiceco2,qsurf(:,igcm_co2),
     1004     &              rstormdust,rtopdust,totstormfract,
    10041005     &              clearatm,dsords,dsotop,
    10051006     &              nohmons,clearsky,totcloudfrac)
     
    11931194c               for radiative transfer
    11941195     &                      clearatm,icount,zday,zls,
    1195      &                      tsurf,igout,totstormfract,
    1196      &                      tauscaling,dust_rad_adjust,
    1197      &                      IRtoVIScoef,
     1196     &                      tsurf,qsurf(:,igcm_co2),igout,
     1197     &                      totstormfract,tauscaling,
     1198     &                      dust_rad_adjust,IRtoVIScoef,
    11981199c               input sub-grid scale cloud
    11991200     &                      clearsky,totcloudfrac,
     
    12561257     &                pq,pdq,pt,pdt,zplev,zplay,zzlev,
    12571258     &                zzlay,zdtsw,zdtlw,
    1258      &                icount,zday,zls,tsurf,igout,aerosol,
    1259      &                tauscaling,dust_rad_adjust,IRtoVIScoef,
    1260      &                totstormfract,clearatm,
     1259     &                icount,zday,zls,tsurf,qsurf(:,igcm_co2),
     1260     &                igout,aerosol,tauscaling,dust_rad_adjust,
     1261     &                IRtoVIScoef,totstormfract,clearatm,
    12611262     &                clearsky,totcloudfrac,
    12621263     &                nohmons,
     
    13621363         zcdh(:) = 0.
    13631364         zcdv(:) = 0.
    1364          CALL vdifc(ngrid,nlayer,nq,co2ice,zpopsk,
     1365         CALL vdifc(ngrid,nlayer,nq,zpopsk,
    13651366     $        ptimestep,capcal,lwrite,
    13661367     $        zplay,zplev,zzlay,zzlev,z0,
     
    16701671     &           nq,tau,tauscaling,rdust,rice,riceco2,nuice,
    16711672     &           rhocloud, rsedcloudco2,rhocloudco2,zzlev,zdqssed_co2,
    1672      &           zdqssed_ccn,pdu,pu,zcondicea_co2microp, co2ice)
     1673     &           zdqssed_ccn,pdu,pu,zcondicea_co2microp)
    16731674
    16741675          DO iq=1, nq
     
    19431944     &                   ptimestep,zplay,zplev,pt,pdt,dist_sol,mu0,
    19441945     $                   zzlev,zzlay,zday,pq,pdq,zdqchim,zdqschim,
    1945      $                   zdqcloud,zdqscloud,tau(:,1),co2ice,
     1946     $                   zdqcloud,zdqscloud,tau(:,1),qsurf(:,igcm_co2),
    19461947     $                   pu,pdu,pv,pdv,surfdust,surfice)
    19471948            endif ! of if (modulo(icount-1,ichemistry).eq.0)
     
    20202021         !!! get the actual co2 seasonal cap from Titus observations
    20212022         CALL geticecover(ngrid, 180.*zls/pi,
    2022      .                  180.*longitude/pi, 180.*latitude/pi, co2ice )
    2023          co2ice = co2ice * 10000.
     2023     .                  180.*longitude/pi, 180.*latitude/pi,
     2024     .                  qsurf(:,igcm_co2) )
     2025         qsurf(:,igcm_co2) = qsurf(:,igcm_co2) * 10000.
    20242026      ENDIF
    20252027     
     
    20352037     $              capcal,zplay,zplev,tsurf,pt,
    20362038     $              pphi,pdt,pdu,pdv,zdtsurf,pu,pv,pq,pdq,
    2037      $              co2ice,albedo,emis,rdust,
     2039     $              qsurf(:,igcm_co2),albedo,emis,rdust,
    20382040     $              zdtc,zdtsurfc,pdpsrf,zduc,zdvc,zdqc,
    20392041     $              fluxsurf_dn_sw,zls,
     
    21322134c       -------------------------------------------------------------
    21332135         do ig=1,ngrid
    2134            if ((co2ice(ig).eq.0).and.
     2136           if ((qsurf(ig,igcm_co2).eq.0).and.
    21352137     &        (qsurf(ig,igcm_h2o_ice).gt.frost_albedo_threshold)) then
    21362138             if ((watercaptag(ig)).and.(cst_cap_albedo)) then
     
    24352437          call physdem1("restartfi.nc",nsoilmx,ngrid,nlayer,nq,
    24362438     .                ptimestep,ztime_fin,
    2437      .                tsurf,tsoil,co2ice,albedo,emis,
     2439     .                tsurf,tsoil,albedo,emis,
    24382440     .                q2,qsurf,tauscaling,totcloudfrac,wstar,
    24392441     .                watercap)
     
    26422644        call wstats(ngrid,"tsurf","Surface temperature","K",2,tsurf)
    26432645        call wstats(ngrid,"co2ice","CO2 ice cover",
    2644      &                "kg.m-2",2,co2ice)
     2646     &                "kg.m-2",2,qsurf(:,igcm_co2))
    26452647        call wstats(ngrid,"watercap","H2O ice cover",
    26462648     &                "kg.m-2",2,watercap)
     
    28402842     $               noms(iq) .ne. "topdust_mass" .and.
    28412843     $               noms(iq) .ne. "topdust_number") then
    2842 
    28432844!                   volume mixing ratio
    28442845
     
    29942995         call WRITEDIAGFI(ngrid,"ps","surface pressure","Pa",2,ps)
    29952996         call WRITEDIAGFI(ngrid,"co2ice","co2 ice thickness"
    2996      &                                         ,"kg.m-2",2,co2ice)
     2997     &                              ,"kg.m-2",2,qsurf(:,igcm_co2))
    29972998         call WRITEDIAGFI(ngrid,"watercap","Water ice thickness"
    29982999     &                                         ,"kg.m-2",2,watercap)
     
    30443045      call WRITEDIAGFI(ngrid,"ps","surface pressure","Pa",2,ps)
    30453046      call WRITEDIAGFI(ngrid,"co2ice","co2 ice thickness","kg.m-2",2,
    3046      &                 co2ice)
     3047     &                 qsurf(:,igcm_co2))
    30473048      call WRITEDIAGFI(ngrid,"temp","temperature","K",3,zt)
    30483049      call WRITEDIAGFI(ngrid,"u","Zonal wind","m.s-1",3,zu)
     
    36643665     &                   'w.m-2',1,zdtlw)
    36653666         call WRITEDIAGFI(ngrid,"co2ice","co2 ice thickness"
    3666      &                                   ,"kg.m-2",0,co2ice)
     3667     &                                   ,"kg.m-2",0,qsurf(:,igcm_co2))
    36673668
    36683669         if (igcm_co2.ne.0) then
     
    39883989     &        +(pdq(ig,l,igcm_co2)+pdq(ig,l,igcm_co2_ice))*ptimestep)
    39893990          enddo
    3990           co2totB = co2totB + co2ice(ig)
     3991          co2totB = co2totB + qsurf(ig,igcm_co2)
    39913992        enddo
    39923993      else
     
    39973998     &             (pq(ig,l,igcm_co2)+pdq(ig,l,igcm_co2)*ptimestep)
    39983999          enddo
    3999           co2totB = co2totB + co2ice(ig)
     4000          co2totB = co2totB + qsurf(ig,igcm_co2)
    40004001        enddo
    40014002      endif ! of if (igcm_co2_ice.ne.0)
     
    40284029!      CALL send_xios_field("inertiedat",inertiedat)
    40294030      CALL send_xios_field("tsoil",tsoil)
    4030       CALL send_xios_field("co2ice",co2ice)
     4031      CALL send_xios_field("co2ice",qsurf(:,igcm_co2))
    40314032     
    40324033!      CALL send_xios_field("temp",zt)
  • trunk/LMDZ.MARS/libf/phymars/rocketduststorm_mod.F90

    r2685 r2826  
    2525!             input for radiative transfer
    2626                                 clearatm,icount,zday,zls,             &
    27                                  tsurf,igout,totstormfract,            &
     27                                 tsurf,co2ice,igout,totstormfract,     &
    2828                                 tauscaling,dust_rad_adjust,           &
    2929                                 IRtoVIScoef,                          &
     
    4242      USE dimradmars_mod, only: albedo,naerkind
    4343      USE comsaison_h, only: dist_sol,mu0,fract
    44       USE surfdat_h, only: emis,co2ice,zmea, zstd, zsig, hmons
     44      USE surfdat_h, only: emis,zmea, zstd, zsig, hmons
    4545      USE callradite_mod, only: callradite
    4646      IMPLICIT NONE
     
    7777      REAL, INTENT(IN) :: zls
    7878      REAL, INTENT(IN) :: tsurf(ngrid)
     79      REAL,INTENT(IN) :: co2ice(ngrid)           ! co2 ice surface layer (kg.m-2)
    7980      INTEGER, INTENT(IN) :: igout
    8081      REAL, INTENT(IN) :: totstormfract(ngrid)
  • trunk/LMDZ.MARS/libf/phymars/surfdat_h.F90

    r2628 r2826  
    4545  !! variables
    4646  REAL,SAVE,ALLOCATABLE :: tsurf(:)   ! Surface temperature (K)
    47   REAL,SAVE,ALLOCATABLE :: co2ice(:)  ! co2 ice surface layer (kg.m-2) 
    4847  REAL,SAVE,ALLOCATABLE :: emis(:)    ! Thermal IR surface emissivity
    4948  REAL,SAVE,ALLOCATABLE :: capcal(:) ! surface heat capacity (J m-2 K-1)
     
    5251  REAL,SAVE,ALLOCATABLE :: watercap(:) ! Surface water ice (kg.m-2)
    5352
    54 !$OMP THREADPRIVATE(tsurf,co2ice,emis,capcal,fluxgrd,qsurf,watercap)
     53!$OMP THREADPRIVATE(tsurf,emis,capcal,fluxgrd,qsurf,watercap)
    5554
    5655contains
     
    7473    allocate(qsurf(ngrid,nq))
    7574    allocate(tsurf(ngrid))
    76     allocate(co2ice(ngrid))
    7775    allocate(watercap(ngrid))
    7876    allocate(emis(ngrid))
     
    105103    if (allocated(qsurf))         deallocate(qsurf)
    106104    if (allocated(tsurf))         deallocate(tsurf)
    107     if (allocated(co2ice))        deallocate(co2ice)
    108105    if (allocated(watercap))      deallocate(watercap)
    109106    if (allocated(emis))          deallocate(emis)
  • trunk/LMDZ.MARS/libf/phymars/surfini.F

    r2741 r2826  
    1       SUBROUTINE surfini(ngrid,piceco2,qsurf)
     1      SUBROUTINE surfini(ngrid,qsurf)
    22
    33      USE ioipsl_getin_p_mod, ONLY : getin_p
     
    2828
    2929      integer,intent(in) :: ngrid ! number of atmospheric columns
    30       real,intent(in) :: piceco2(ngrid) ! CO2 ice thickness
    3130      real,intent(inout) :: qsurf(ngrid,nqmx) ! tracer on surface (kg/m2)
    3231
  • trunk/LMDZ.MARS/libf/phymars/topmons_mod.F90

    r2825 r2826  
    2020                                 pzlay,pdtsw,pdtlw,                    &
    2121!             input for radiative transfer
    22                                  icount,zday,zls,tsurf,igout,aerosol,  &
    23                                  tauscaling,dust_rad_adjust,           &
     22                                 icount,zday,zls,tsurf,co2ice,igout,   &
     23                                 aerosol,tauscaling,dust_rad_adjust,   &
    2424                                 IRtoVIScoef,                          &
    2525!             input sub-grid scale rocket dust storm
     
    3939      USE dimradmars_mod, only: albedo,naerkind
    4040      USE comsaison_h, only: dist_sol,mu0,fract
    41       USE surfdat_h, only: emis,co2ice,hmons,summit,alpha_hmons, &
     41      USE surfdat_h, only: emis,hmons,summit,alpha_hmons, &
    4242                           hsummit,contains_mons
    4343      USE callradite_mod, only: callradite
     
    7373      REAL, INTENT(IN) :: zls
    7474      REAL, INTENT(IN) :: tsurf(ngrid)
     75      REAL,INTENT(IN) :: co2ice(ngrid)           ! co2 ice surface layer (kg.m-2)
    7576      INTEGER, INTENT(IN) :: igout
    7677      REAL, INTENT(INOUT) :: tauscaling(ngrid)
  • trunk/LMDZ.MARS/libf/phymars/tracer_mod.F90

    r2589 r2826  
    166166      integer :: iq, count
    167167      character(len=20) :: txt ! to store some text
     168
     169      logical :: co2_tracer_found=.false.
    168170     
    169171      ! set dimension and tracer names
     
    173175        noms(iq)=tname(iq)
    174176        write(*,*) "tracer_mod names : ", trim(noms(iq))
     177        if(noms(iq).eq."co2") then
     178           co2_tracer_found=.true.
     179        endif
    175180      enddo
     181
     182      if(co2_tracer_found .eq. .false.) then
     183         call abort_physic("ini_tracer_mod","co2 tracer is now mandatory",1)
     184      endif
    176185
    177186      !MVals: isotopes variables initialisation
  • trunk/LMDZ.MARS/libf/phymars/vdifc_mod.F

    r2823 r2826  
    55      CONTAINS
    66     
    7       SUBROUTINE vdifc(ngrid,nlay,nq,co2ice,ppopsk,
     7      SUBROUTINE vdifc(ngrid,nlay,nq,ppopsk,
    88     $                ptimestep,pcapcal,lecrit,
    99     $                pplay,pplev,pzlay,pzlev,pz0,
     
    1717      use tracer_mod, only: noms, igcm_dust_mass, igcm_dust_number,
    1818     &                      igcm_dust_submicron, igcm_h2o_vap,
    19      &                      igcm_h2o_ice, alpha_lift,
     19     &                      igcm_h2o_ice, alpha_lift, igcm_co2,
    2020     &                      igcm_hdo_vap, igcm_hdo_ice,
    2121     &                      igcm_stormdust_mass, igcm_stormdust_number
     
    7474
    7575c    Argument added for condensation:
    76       REAL,INTENT(IN) :: co2ice (ngrid), ppopsk(ngrid,nlay)
     76      REAL,INTENT(IN) :: ppopsk(ngrid,nlay)
    7777      logical,INTENT(IN) :: lecrit
    7878      REAL,INTENT(IN) :: pcondicea_co2microp(ngrid,nlay)! tendency due to CO2 condensation (kg/kg.s-1)
     
    721721           if (doubleq.AND.submicron) then
    722722             do ig=1,ngrid
    723 c              if(co2ice(ig).lt.1) then
     723c              if(qsurf(ig,igcm_co2).lt.1) then
    724724                 pdqsdif(ig,igcm_dust_mass) =
    725725     &             -alpha_lift(igcm_dust_mass) 
     
    734734                                          !or 2 (injection in CL)
    735735              do ig=1,ngrid
    736                if(co2ice(ig).lt.1) then ! pas de soulevement si glace CO2
     736               if(pqsurf(ig,igcm_co2).lt.1) then ! pas de soulevement si glace CO2
    737737                 pdqsdif(ig,igcm_dust_mass) =
    738738     &             -alpha_lift(igcm_dust_mass) 
     
    743743             elseif(dustinjection.eq.1)then ! dust injection scheme = 1 injection from surface
    744744              do ig=1,ngrid
    745                if(co2ice(ig).lt.1) then ! pas de soulevement si glace CO2
     745               if(pqsurf(ig,igcm_co2).lt.1) then ! pas de soulevement si glace CO2
    746746                IF((ti_injection_sol.LE.local_time(ig)).and.
    747747     &                  (local_time(ig).LE.tf_injection_sol)) THEN
     
    775775                ENDIF
    776776               
    777                 end if ! of if(co2ice(ig).lt.1)
     777                end if ! of if(qsurf(ig,igcm_co2).lt.1)
    778778              end do
    779779             endif ! end if dustinjection
     
    785785           else
    786786#endif
    787             call dustlift(ngrid,nlay,nq,rho,zcdh_true,zcdh,co2ice,
    788      &                    pdqsdif)
     787            call dustlift(ngrid,nlay,nq,rho,zcdh_true,zcdh,
     788     &                    pqsurf(:,igcm_co2),pdqsdif)
    789789#ifndef MESOSCALE
    790790           endif !doubleq.AND.submicron
Note: See TracChangeset for help on using the changeset viewer.