Ignore:
Timestamp:
Oct 18, 2023, 3:20:35 PM (15 months ago)
Author:
llange
Message:

MARS PCM
Fixing a bug in co2condens: pdqsc was in the wrong dimension (nslope
missing)
LL & TP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/co2condens_mod.F

    r3013 r3091  
    102102      REAL,INTENT(OUT) :: pdvc(ngrid,nlayer) ! tendency on meridional wind (m.s-2)
    103103      REAL,INTENT(OUT) :: pdqc(ngrid,nlayer,nq) ! tendency on tracers
    104       REAL,INTENT(OUT) :: pdqsc(ngrid,nq) ! tendency on surface tracers
     104      REAL,INTENT(OUT) :: pdqsc(ngrid,nq,nslope) ! tendency on surface tracers
    105105     
    106106      ! added to calculate flux dependent albedo:
     
    181181c Subslope:
    182182
    183       REAL   :: emisref_tmp(ngrid)
    184       REAL   :: alb_tmp(ngrid,2) ! local
    185       REAL   :: zcondices_tmp(ngrid)    ! local 
    186       REAL   :: piceco2_tmp(ngrid)    ! local
    187       REAL   :: perenial_co2ice_tmp(ngrid) ! perenial ice on one subslope (kg/m^2)
    188       REAL   :: pemisurf_tmp(ngrid)! local
    189       LOGICAL :: condsub_tmp(ngrid) !local
    190       REAL :: zfallice_tmp(ngrid,nlayer+1)
    191       REAL :: condens_layer_tmp(ngrid,nlayer) ! co2clouds: condensation rate in layer  l  (kg/m2/s)
    192       INTEGER :: islope
     183      REAL   :: emisref_tmp(ngrid)            ! temporary emissiviy of a sub-grid surface before computing emissivity with snow  [1]
     184      REAL   :: pemisurf_tmp(ngrid)           ! temporary emissiviy of a sub-grid surface after computing emissivity with snow   [1]
     185      REAL   :: alb_tmp(ngrid,2)              ! temporary albedo before computing albedo with TES/fixed value [1]
     186      REAL   :: zcondices_tmp(ngrid)          ! temporary condensation rate [kg/m^2/s]
     187      REAL   :: piceco2_tmp(ngrid)            ! temporary amount of CO2 frost on the surface [kg/m^2]
     188      REAL   :: perenial_co2ice_tmp(ngrid)    ! temporary amount of perenial CO2 frost on the surface [kg/m^2]
     189      LOGICAL :: condsub_tmp(ngrid)           ! Boolean to check if CO2 ice is condensing / sublimating on the sub grid surface [1]
     190      REAL :: zfallice_tmp(ngrid,nlayer+1)    ! temporary amount of ice falling from layer l for a specific sub-grid surface [kg/m^2/s]
     191      REAL :: condens_layer_tmp(ngrid,nlayer) ! temporary condensation rate in layer l (co2 cloud) for a specific sub-grid surface [kg/m^2/s]
     192      INTEGER :: islope                       ! index for loop variables
     193      REAL :: pdqsc_tmp(ngrid,nq)         ! tendency on surface tracers (grid-mesh average) after scavenging
    193194c----------------------------------------------------------------------
    194195
     
    248249      pdvc(1:ngrid,1:nlayer)  = 0
    249250      pdtc(1:ngrid,1:nlayer) = 0.
    250       pdqsc(1:ngrid,1:nq) = 0
    251          
     251      pdqsc(1:ngrid,1:nq,1:nslope) = 0
     252      pdqsc_tmp(1:ngrid,1:nq) = 0
    252253      pdqc(1:ngrid,1:nlayer,1:nq)  = 0
    253254
     
    353354      if (scavco2cond) then
    354355        call scavenging_by_co2(ngrid,nlayer,nq,ptimestep,pplev,zq,
    355      &                       rdust,zcondicea,zfallice,zdq_scav,pdqsc)
     356     &                       rdust,zcondicea,zfallice,zdq_scav,
     357     &                       pdqsc_tmp)
     358
     359        DO islope = 1,nslope
     360              pdqsc(:,:,islope)= pdqsc_tmp(:,:)*
     361     &       cos(pi*def_slope_mean(islope)/180.)
     362        ENDDO
    356363      endif
    357364             call write_output("co2condens_zfallice",
Note: See TracChangeset for help on using the changeset viewer.