Changeset 3989 for trunk/LMDZ.COMMON/libf/evolution/ice_table.F90
- Timestamp:
- Dec 11, 2025, 12:56:05 PM (5 weeks ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/ice_table.F90
r3988 r3989 1 MODULE ice_table _mod1 MODULE ice_table 2 2 3 3 implicit none … … 57 57 !!! 58 58 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 59 use math_ mod,only: findroot60 use comsoil_h_PEM,only: mlayer_PEM, layer_PEM ! Depth of the vertical grid61 use soil_thermal properties_mod, only: ice_thermal_properties59 use math_toolkit, only: findroot 60 use soil, only: mlayer_PEM, layer_PEM ! Depth of the vertical grid 61 use soil_thermal_inertia, only: get_ice_TI 62 62 63 63 implicit none … … 74 74 real, dimension(ngrid,nslope), intent(out) :: ice_table_depth ! ice table depth [m] 75 75 real, dimension(ngrid,nslope), intent(out) :: ice_table_thickness ! ice table thickness [m] 76 ! Local s77 ! ------ 76 ! Local variables 77 ! --------------- 78 78 integer :: ig, islope, isoil, isoilend ! loop variables 79 79 real, dimension(nsoil) :: diff_rho ! difference of water vapor density between the surface and at depth [kg/m^3] … … 129 129 do ig = 1,ngrid 130 130 if (ice_table_depth(ig,islope) > previous_icetable_depth(ig,islope) .and. previous_icetable_depth(ig,islope) >= 0) then 131 call ice_thermal_properties(.false.,1.,regolith_inertia(ig,islope),wice_inertia)131 call get_ice_TI(.false.,1.,regolith_inertia(ig,islope),wice_inertia) 132 132 stretch = (regolith_inertia(ig,islope)/wice_inertia)**2 133 133 ice_table_thickness(ig,islope) = ice_table_thickness(ig,islope) + (ice_table_depth(ig,islope) - & … … 149 149 !!! 150 150 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 151 use comsoil_h_PEM, only: mlayer_PEM151 use soil, only: mlayer_PEM 152 152 use comslope_mod, only: subslope_dist, def_slope_mean 153 153 use constants_marspem_mod, only: porosity … … 208 208 !!! 209 209 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 210 use comsoil_h_PEM, only: nsoilmx_PEM, mlayer_PEM211 use math_ mod,only: deriv1, deriv1_onesided, colint, findroot, deriv2_simple210 use soil, only: nsoilmx_PEM, mlayer_PEM 211 use math_toolkit, only: deriv1, deriv1_onesided, colint, findroot, deriv2_simple 212 212 213 213 implicit none … … 379 379 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 380 380 381 use comsoil_h_PEM,only: mlayer_PEM382 use abort_pem_mod, only: abort_pem381 use soil, only: mlayer_PEM 382 use stop_pem, only: stop_clean 383 383 384 384 implicit none … … 395 395 real, intent(out) :: Tice ! Ice temperatures (K) 396 396 397 ! Local s398 ! ------ 397 ! Local variables 398 ! --------------- 399 399 integer :: ik ! Loop variables 400 400 integer :: indexice ! Index of the ice … … 417 417 endif 418 418 if (indexice < 0) then 419 call abort_pem("compute_Tice_pem","Subsurface ice is below the last soil layer!",1)419 call stop_clean("compute_Tice_pem","Subsurface ice is below the last soil layer!",1) 420 420 else 421 421 if(indexice >= 1) then ! Linear inteprolation between soil temperature … … 439 439 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 440 440 441 use abort_pem_mod, only: abort_pem441 use stop_pem, only: stop_clean 442 442 443 443 implicit none … … 453 453 rho = (1.72391 - 2.53e-4*T-2.87*1e-7*T**2)*1.e3 ! Mangan et al. 2017 454 454 case default 455 call abort_pem("rho_ice","Type of ice not known!",1)455 call stop_clean("rho_ice","Type of ice not known!",1) 456 456 end select 457 457 458 458 END FUNCTION rho_ice 459 459 460 END MODULE ice_table _mod460 END MODULE ice_table
Note: See TracChangeset
for help on using the changeset viewer.
