Changeset 3251 for trunk/LMDZ.MARS


Ignore:
Timestamp:
Mar 4, 2024, 11:51:38 AM (9 months ago)
Author:
llange
Message:

Mars PCM
Introduce the possibility to prescribe (in 1D) the soil water ice content when running with adsorption/desoprtion
LL

Location:
trunk/LMDZ.MARS
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/changelog.txt

    r3250 r3251  
    45364536
    45374537== 04/03/2024 == LL
    4538 *Fixing bug in initestphys: the soil depth were initialized using the old grid
    4539 (but with 57 layers). It was not detected in soil_settings -to be investigated
    4540 - and therefore soil thermal inertia, when adding subsurface ice, were
    4541 completely wrong
    4542 * Fixing bug in initestphys and waterice_tifeedback: when changing the soil
    4543 thermal properties to account for the high thermal inertia of subsurface ice,
    4544 the wrong layer was considered as 'mixed' (it was the layer after the correct
    4545 one which was modified).
     4538*Fixing bug in initestphys: the soil depth were initialized using the old grid (but with 57 layers). It was not detected in soil_settings -to be investigated - and therefore soil thermal inertia, when adding subsurface ice, were completely wrong
     4539* Fixing bug in initestphys and waterice_tifeedback: when changing the soil thermal properties to account for the high thermal inertia of subsurface ice, the wrong layer was considered as 'mixed' (it was the layer after the correct one which was modified).
     4540
     4541== 04/03/2024 == LL
     4542Introduce the possibility to prescribe (in 1D) the soil water ice content when running with adsorption/desoprtion
  • trunk/LMDZ.MARS/libf/phymars/dyn1d/init_testphys1d_mod.F90

    r3250 r3251  
    2020use iostart,                  only: open_startphy, get_var, close_startphy
    2121use physics_distribution_mod, only: init_physics_distribution
    22 use comsoil_h,                only: volcapa, nsoilmx, inertiesoil, inertiedat, layer, mlayer, flux_geo, tsoil, qsoil, &
     22use comsoil_h,                only: volcapa, nsoilmx, inertiesoil, inertiedat, layer, mlayer, flux_geo, tsoil, &
     23                                    adsorption_soil, qsoil, igcm_h2o_ice_soil, porosity_reg, &
    2324                                    ini_comsoil_h_slope_var, end_comsoil_h_slope_var
    2425use comvert_mod,              only: ap, bp, aps, bps, pa, preff, presnivs, pseudoalt, scaleheight
     
    110111! LL: Possibility to add subsurface ice
    111112real    :: ice_depth          ! depth of the ice table, ice_depth < 0. means no ice
    112 real    :: inertieice = 2100. ! ice thermal inertia
     113real    :: inertieice         ! ice thermal inertia
    113114integer :: iref
     115
     116! LL: Subsurface water ice
     117real :: rho_H2O_ice           ! Density (kg/m^3) of water ice
    114118
    115119!=======================================================================
     
    154158dtemisice(1) = 2.      ! time scale for snow metamorphism (north)
    155159dtemisice(2) = 2.      ! time scale for snow metamorphism (south)
     160
     161! Water ice properties
     162! ---------------------------------------
     163inertieice = 2100.
     164rho_H2O_ice = 920.
    156165
    157166! Mesh surface (not a very usefull quantity in 1D)
     
    654663endif
    655664
    656 ! Initialize soil properties and temperature
     665! Initialize soil properties, temperature and content
    657666! ------------------------------------------
    658667volcapa = 1.e6 ! volumetric heat capacity
     668
     669if (.not. therestartfi) qsoil = 0.
     670
    659671
    660672if (.not. therestartfi) then
     
    675687            inertiedat(1,1) = sqrt(layer(1)/((ice_depth/inertiedat(1,1)**2) + ((layer(1) - ice_depth)/inertieice**2)))
    676688            inertiedat(1,2:) = inertieice
     689            if(adsorption_soil) then
     690            ! add subsurface ice in qsoil if one runs with adsorption
     691                qsoil(1,1,igcm_h2o_ice_soil,:) = (ice_depth-layer(2))/(layer(1) - layer(2))*porosity_reg*rho_H2O_ice
     692                qsoil(1,2:,igcm_h2o_ice_soil,:) = porosity_reg*rho_H2O_ice
     693            endif
    677694        else ! searching for the ice/regolith boundary:
    678695            do isoil = 1,nsoil
     
    688705            ! Finally, we compute the underlying ice:
    689706            inertiedat(1,iref + 1:) = inertieice
     707           
     708            if(adsorption_soil) then
     709            ! add subsurface ice in qsoil if one runs with adsorption
     710                qsoil(1,:iref - 1,igcm_h2o_ice_soil,:) = 0.
     711                qsoil(1,iref+1:,igcm_h2o_ice_soil,:) = porosity_reg*rho_H2O_ice
     712                qsoil(1,iref,igcm_h2o_ice_soil,:) = (ice_depth-layer(iref+1))/(layer(iref) - layer(iref+1))*porosity_reg*rho_H2O_ice
     713            endif
    690714        endif ! (ice_depth < layer(1))
    691715    else ! ice_depth < 0 all is set to surface thermal inertia
     
    706730flux_geo = flux_geo(1,1)
    707731
    708 ! Initialize soil content
    709 ! -----------------------
    710 if (.not. therestartfi) qsoil = 0.
    711732
    712733! Initialize traceurs
Note: See TracChangeset for help on using the changeset viewer.