Changeset 2812


Ignore:
Timestamp:
Nov 3, 2022, 2:28:56 PM (2 years ago)
Author:
llange
Message:

PEM
Update CO2 glaciers evolution following a parametrization made by LL & Anna Grau (LPG).
Works only for nslope = 7. Hardcoded now, will be improved in future commits (need to continue theoretical work with Anna).
LL

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/evolution/pem.F90

    r2794 r2812  
    230230      REAL, dimension(:,:),allocatable  :: tendencies_h2o_ice_phys_slope   ! physical point field : Tendency of evolution of perenial co2 ice over a year
    231231
    232       REAL, PARAMETER :: co2_hmax = 10                    ! Maximum height  for CO2 deposit on slopes (m)
     232      REAL,SAVE,ALLOCATABLE,DIMENSION(:) ::  co2_hmax                          ! Maximum height  for CO2 deposit on slopes (m)
     233
    233234      REAL, PARAMETER :: rho_co2 = 1600           ! CO2 ice density (kg/m^3)
    234235      INTEGER :: iaval                            ! Index of the neighboord slope ()
     
    460461       PRINT*,'Flat slope for islope = ',iflat
    461462       PRINT*,'corresponding criterium = ',def_slope_mean(iflat)
     463! CO2 max thickness (for glaciers flows)
     464
     465       allocate(co2_hmax(nslope)
     466       if(nslope.eq.7) ! ugly way to implement that ...
     467!        CF documentation that explain how the values are computed
     468         co2_hmax(1) = 1.5
     469         co2_hmax(7) = co2_max(1)
     470         co2_hmax(2) = 2.4
     471         co2_hmax(6) = co2_hmax(2)
     472         co2_hmax(3) = 5.6
     473         co2_hmax(5) = co2_hmax(3)
     474         co2_hmax(4) = 1000000.
     475       endif
     476
     477
     478
     479
    462480
    463481       flag_co2flow(:,:) = 0.     
     
    10181036          IF(islope.ne.iflat) THEN ! ice can be infinite on flat ground
    10191037! First: check that CO2 ice must flow (excess of ice on the slope), ice can accumulate on flat ground
    1020             IF(co2ice_slope(ig,islope).ge.rho_co2*co2_hmax * &
     1038            IF(co2ice_slope(ig,islope).ge.rho_co2*co2_hmax(islope) * &
    10211039                  cos(pi*def_slope_mean(islope)/180.)) THEN
    10221040
     
    10411059
    10421060                co2ice_slope(ig,iaval) = co2ice_slope(ig,iaval) + &
    1043                (co2ice_slope(ig,islope) - rho_co2* co2_hmax *     &
     1061               (co2ice_slope(ig,islope) - rho_co2* co2_hmax(islope) *     &
    10441062               cos(pi*def_slope_mean(islope)/180.)) *             &
    10451063               subslope_dist(ig,islope)/subslope_dist(ig,iaval) * &
     
    10471065               cos(pi*def_slope_mean(islope)/180.)               
    10481066
    1049                 co2ice_slope(ig,islope)=rho_co2*co2_hmax *        &
     1067                co2ice_slope(ig,islope)=rho_co2*co2_hmax(islope) *        &
    10501068                  cos(pi*def_slope_mean(islope)/180.)
    10511069
Note: See TracChangeset for help on using the changeset viewer.