Ignore:
Timestamp:
Mar 10, 2026, 4:52:43 PM (12 days ago)
Author:
jbclement
Message:

PEM:

  • Remove 'd_h2oice' and 'd_co2ice' arguments from adsorption and soil thermal inertia routines (not needed and possible bugs).
  • Move 'read_callphys' call from 'read_start1D' to 'read_rundef' so that 'CO2cond_ps' is initialized no matter what.
  • Explicit initialization of 'delta_h2o_ads'/'delta_co2_ads' before 'read_startpem'.
  • Add time index argument to 'put_var_nc' calls to write "restart.nc".
  • Increase temporary string buffer size for 'real2str_qp'.
  • Fixed some typos.

JBC

File:
1 edited

Legend:

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

    r4110 r4117  
    125125use tracers,    only: nq, set_q_PCM
    126126use stoppage,   only: stop_clean
    127 use config,     only: read_callphys
    128127use display,    only: print_msg, LVL_NFO
    129128
     
    174173call set_ap(ap_tmp)
    175174call set_bp(bp_tmp)
    176 
    177 ! Read the "callphys.def"
    178 call read_callphys() ! To get 'CO2cond_ps'
    179175
    180176END SUBROUTINE read_start1D
     
    300296
    301297!=======================================================================
    302 SUBROUTINE read_startpem(tsurf_avg_yr1,tsurf_avg_yr2,ps_avg_glob,ps_ts,q_co2_ts,q_h2o_ts,h2o_surfdensity_avg,d_h2oice,d_co2ice,h2o_ice,co2_ice, &
    303                          tsoil_avg,h2o_soildensity_avg,icetable_depth,icetable_thickness,ice_porefilling,layerings_map,                         &
     298SUBROUTINE read_startpem(tsurf_avg_yr1,tsurf_avg_yr2,ps_avg_glob,ps_ts,q_co2_ts,q_h2o_ts,h2o_surfdensity_avg,h2o_ice,co2_ice, &
     299                         tsoil_avg,h2o_soildensity_avg,icetable_depth,icetable_thickness,ice_porefilling,layerings_map,       &
    304300                         h2o_ads_reg,co2_ads_reg,delta_h2o_ads,delta_co2_ads)
    305301!-----------------------------------------------------------------------
     
    351347real(dp),       dimension(:,:),   intent(in)    :: q_co2_ts, q_h2o_ts           ! MMR of CO2 and H2O
    352348real(dp),       dimension(:,:),   intent(in)    :: h2o_surfdensity_avg          ! Average of surface water density
    353 real(dp),       dimension(:,:),   intent(in)    :: d_h2oice, d_co2ice           ! Tendencies on ice
    354349real(dp),       dimension(:,:),   intent(inout) :: h2o_ice, co2_ice             ! Surface ice
    355350real(dp),       dimension(:,:,:), intent(inout) :: tsoil_avg                    ! Soil temperature
     
    471466        if (icetable_equilibrium) then
    472467            call computeice_table_equilibrium(is_h2o_perice_PCM,h2o_surfdensity_avg,h2o_soildensity_avg,TI(:,1,:),icetable_depth,icetable_thickness)
    473             call update_soil_TI(d_h2oice,h2o_ice,ps_avg_glob,icetable_depth,icetable_thickness,ice_porefilling,icetable_equilibrium,icetable_dynamic,TI)
     468            call update_soil_TI(h2o_ice,ps_avg_glob,icetable_depth,icetable_thickness,ice_porefilling,icetable_equilibrium,icetable_dynamic,TI)
    474469            do islope = 1,nslope
    475470                call ini_tsoil_pem(ngrid,nsoil,TI(:,:,islope),tsurf_avg_yr2(:,islope),tsoil_avg(:,:,islope))
    476471            end do
    477472        else if (icetable_dynamic) then
    478             call update_soil_TI(d_h2oice,h2o_ice,ps_avg_glob,icetable_depth,icetable_thickness,ice_porefilling,icetable_equilibrium,icetable_dynamic,TI)
     473            call update_soil_TI(h2o_ice,ps_avg_glob,icetable_depth,icetable_thickness,ice_porefilling,icetable_equilibrium,icetable_dynamic,TI)
    479474            do islope = 1,nslope
    480475                call ini_tsoil_pem(ngrid,nsoil,TI(:,:,islope),tsurf_avg_yr2(:,islope),tsoil_avg(:,:,islope))
     
    486481            h2o_ads_reg = 0._dp
    487482            co2_ads_reg = 0._dp
    488             call evolve_regolith_adsorption(d_h2oice,d_co2ice,h2o_ice,co2_ice,tsoil_avg,TI,ps_ts,q_h2o_ts,q_co2_ts,h2o_ads_reg,co2_ads_reg,delta_h2o_ads,delta_co2_ads)
    489             delta_co2_ads = 0._dp
    490             delta_h2o_ads = 0._dp
     483            call evolve_regolith_adsorption(h2o_ice,co2_ice,tsoil_avg,TI,ps_ts,q_h2o_ts,q_co2_ts,h2o_ads_reg,co2_ads_reg,delta_h2o_ads,delta_co2_ads)
    491484        end if ! do_sorption
    492485    end if ! do_soil
     
    565558        call get_var_nc('co2_ads_reg',co2_ads_reg(:,:,:))
    566559        call get_var_nc('h2o_ads_reg',h2o_ads_reg(:,:,:))
    567         call evolve_regolith_adsorption(d_h2oice,d_co2ice,h2o_ice,co2_ice,tsoil_avg,TI,ps_ts,q_h2o_ts,q_co2_ts,h2o_ads_reg,co2_ads_reg,delta_h2o_ads,delta_co2_ads)
     560        call evolve_regolith_adsorption(h2o_ice,co2_ice,tsoil_avg,TI,ps_ts,q_h2o_ts,q_co2_ts,h2o_ads_reg,co2_ads_reg,delta_h2o_ads,delta_co2_ads)
    568561    end if ! do_sorption
    569562end if ! do_soil
Note: See TracChangeset for help on using the changeset viewer.