Ignore:
Timestamp:
Feb 17, 2026, 2:45:53 PM (11 days ago)
Author:
jbclement
Message:

PEM:

  • Correct management of H2O ice tendency in 1D when there is not enough ice anymore.
  • Clean initialization of allocatable module arrays (especially needed when no slope)
  • One more renaming for consistency + few small updates thoughout the code.

JBC

File:
1 edited

Legend:

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

    r4071 r4074  
    124124call print_msg("> Flow of CO2 glaciers")
    125125call computeTcondCO2(vmr_co2_PEM,ps_PCM,ps_avg_glob_ini,ps_avg_global,Tcond)
    126 call compute_hmaxglaciers(Tcond,"co2",hmax)
     126call compute_hmaxglaciers(Tcond,"CO2",hmax)
    127127call transfer_ice_duringflow(hmax,Tcond,co2ice,is_co2ice_flow)
    128128
     
    169169! ----
    170170call print_msg("> Flow of H2O glaciers")
    171 call compute_hmaxglaciers(Tice,"h2o",hmax)
     171call compute_hmaxglaciers(Tice,"H2O",hmax)
    172172call transfer_ice_duringflow(hmax,Tice,h2oice,is_h2oice_flow)
    173173
     
    222222! ----
    223223select case (trim(adjustl(name_ice)))
    224     case('h2o')
     224    case('H2O')
    225225        tau_d = 1.e5_dp
    226     case('co2')
     226    case('CO2')
    227227        tau_d = 5.e3_dp
    228228    case default
     
    294294        if (islope /= iflat) then ! ice can be infinite on flat ground
    295295! First: check that CO2 ice must flow (excess of ice on the slope), ice can accumulate infinitely  on flat ground
    296             if (qice(ig,islope) >= rho_ice(Tice(ig,islope),'h2o')*hmax(ig,islope)*cos(pi*def_slope_mean(islope)/180._dp)) then
     296            if (qice(ig,islope) >= rho_ice(Tice(ig,islope),'H2O')*hmax(ig,islope)*cos(pi*def_slope_mean(islope)/180._dp)) then
    297297! Second: determine the flatest slopes possible:
    298298                if (islope > iflat) then
     
    308308                    end if
    309309                end do
    310                 qice(ig,iaval) = qice(ig,iaval) + (qice(ig,islope) - rho_ice(Tice(ig,islope),'h2o')*hmax(ig,islope)*cos(pi*def_slope_mean(islope)/180._dp)) &
     310                qice(ig,iaval) = qice(ig,iaval) + (qice(ig,islope) - rho_ice(Tice(ig,islope),'H2O')*hmax(ig,islope)*cos(pi*def_slope_mean(islope)/180._dp)) &
    311311                               *subslope_dist(ig,islope)/subslope_dist(ig,iaval)*cos(pi*def_slope_mean(iaval)/180._dp)/cos(pi*def_slope_mean(islope)/180._dp)
    312312
    313                 qice(ig,islope) = rho_ice(Tice(ig,islope),'h2o')*hmax(ig,islope)*cos(pi*def_slope_mean(islope)/180._dp)
     313                qice(ig,islope) = rho_ice(Tice(ig,islope),'H2O')*hmax(ig,islope)*cos(pi*def_slope_mean(islope)/180._dp)
    314314                flag_flow(ig,islope) = .true.
    315315            end if ! co2ice > hmax
Note: See TracChangeset for help on using the changeset viewer.