- Timestamp:
- Oct 29, 2024, 2:53:13 PM (8 weeks ago)
- Location:
- trunk/LMDZ.COMMON/libf/evolution
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/changelog.txt
r3460 r3486 448 448 == 15/10/2024 == JBC 449 449 Update and correction for the visualization of the layerings over time. 450 451 == 24,29/10/2024 == EV 452 we added the option to use NS dynamical subsurface ice in the model to more realisticly calculate the amount of ice in the subsurface and therfore the subsurface thermal inertia 453 -
trunk/LMDZ.COMMON/libf/evolution/dyn_ss_ice_m.f90
r3470 r3486 138 138 ! enddo 139 139 140 print *,'History begins here'140 !print *,'History begins here' 141 141 porefill(1:nz,1:NP) = porefill_in(1:nz,1:NP) 142 142 zdepthT(1:NP) = ssi_depth_in … … 150 150 ! print *,'T_after= ',Tb(:) 151 151 ! print *,'z= ',z(:) 152 print *,'Zt= ',ZdepthT153 152 ! print *,'Zt= ',ZdepthT 153 ssi_depth=ZdepthT(1) 154 154 ! if (abs(mod(icetime/100.,1.d0))<1.e-3) then ! output every 1000 years 155 155 ! do k=1,NP … … 163 163 ! enddo 164 164 ! endif 165 print *,icetime165 ! print *,icetime 166 166 if (icetime>=tlast) exit 167 167 enddo -
trunk/LMDZ.COMMON/libf/evolution/fast_modules.f90
r3470 r3486 249 249 end subroutine dyn_ss_ice_m 250 250 end interface 251 252 interface 253 subroutine dyn_ss_ice_m_wrapper(ngrid,nsoil,tHIn,p0,pfrost,T_in,ssi_depth_in,porefill_in,porefill,ssi_depth) 254 implicit none 255 integer, intent(IN) :: nsoil,ngrid 256 real(8), intent(IN) :: thIn(ngrid),ssi_depth_in(ngrid) 257 real(8), intent(IN) :: p0(ngrid), pfrost(ngrid) 258 real(8), intent(IN) :: T_in(nsoil,ngrid) 259 real(8), intent(OUT) :: porefill(nsoil,ngrid) 260 real(8), intent(IN) :: porefill_in(nsoil,ngrid) 261 real(8), intent(OUT) :: ssi_depth(ngrid) 262 end subroutine dyn_ss_ice_m_wrapper 263 end interface 264 251 265 end module allinterfaces -
trunk/LMDZ.COMMON/libf/evolution/pem.F90
r3446 r3486 55 55 use recomp_orb_param_mod, only: recomp_orb_param 56 56 use ice_table_mod, only: porefillingice_depth, porefillingice_thickness, end_ice_table_porefilling, & 57 ini_ice_table_porefilling, icetable_equilibrium, computeice_table_equilibrium,compute_massh2o_exchange_ssi57 ini_ice_table_porefilling, icetable_equilibrium, icetable_dynamic, computeice_table_equilibrium,compute_massh2o_exchange_ssi 58 58 use soil_thermalproperties_mod, only: update_soil_thermalproperties 59 59 use time_phylmdz_mod, only: daysec, dtphys … … 226 226 real, dimension(:), allocatable :: delta_h2o_icetablesublim ! ngrid x Total mass of the H2O that has sublimated / condenses from the ice table [kg] 227 227 228 ! Dynamic ice table 229 real, dimension(:,:), allocatable :: ss_ice_pf ! the amout of porefilling in each layer in each grid [m^3/m^3] 230 real, dimension(:,:), allocatable :: ss_ice_pf_new ! the amout of porefilling in each layer in each grid after the ss module[m^3/m^3] 231 real, dimension(:,:), allocatable :: porefillingice_depth_new ! new pure ice table depth 228 232 ! Some variables for the PEM run 229 233 real, parameter :: year_step = 1 ! Timestep for the pem … … 929 933 call compute_massh2o_exchange_ssi(ngrid,nslope,nsoilmx_PEM,porefillingice_thickness_prev_iter,porefillingice_thickness,porefillingice_depth,tsurf_avg, tsoil_PEM,delta_h2o_icetablesublim) ! Mass of H2O exchange between the ssi and the atmosphere 930 934 endif 935 ! II_d.3 Update the ice table 936 if (icetable_dynamic) then 937 write(*,*) "Compute ice table" 938 porefillingice_thickness_prev_iter = porefillingice_thickness 939 call dyn_ss_ice_m_wrapper(ngrid,nsoilmx,TI_PEM,ps,mmol(igcm_h2o_vap),tsoil_PEM,porefillingice_depth,ss_ice_pf,ss_ice_pf_new,porefillingice_depth_new) 940 941 call compute_massh2o_exchange_ssi(ngrid,nslope,nsoilmx_PEM,porefillingice_thickness_prev_iter,porefillingice_thickness,porefillingice_depth,tsurf_avg, tsoil_PEM,delta_h2o_icetablesublim) ! Mass of H2O exchange between the ssi and the atmosphere 942 endif 943 931 944 ! II_d.4 Update the soil thermal properties 932 945 call update_soil_thermalproperties(ngrid,nslope,nsoilmx_PEM,tend_h2o_ice,h2o_ice,global_avg_press_new,porefillingice_depth,porefillingice_thickness,TI_PEM) … … 979 992 call writediagpem(ngrid,'ssi_thick_slope'//str2,'ice table depth','m',2,porefillingice_thickness(:,islope)) 980 993 endif 994 if (icetable_dynamic) then 995 call writediagpem(ngrid,'ssi_depth_slope'//str2,'ice table depth','m',2,porefillingice_depth(:,islope)) 996 call writediagpem(ngrid,'ssi_thick_slope'//str2,'ice table depth','m',2,porefillingice_thickness(:,islope)) 997 endif 998 981 999 if (soil_pem) then 982 1000 call writediagsoilpem(ngrid,'tsoil_PEM_slope'//str2,'tsoil_PEM','K',3,tsoil_PEM(:,:,islope))
Note: See TracChangeset
for help on using the changeset viewer.