Changeset 3490
- Timestamp:
- Nov 4, 2024, 3:02:22 PM (2 weeks ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/changelog.txt
r3486 r3490 449 449 Update and correction for the visualization of the layerings over time. 450 450 451 == 24,29/10/2024 == EV 451 24/10/2024 == EV 452 adding the NS dynamic subsurface ice module in the PEM 453 454 == 24,29,30/10/2024 == EV 452 455 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 456 457 == 04/11/2024 == JBC 458 Correction of initialization of 'icetable_dynamic' and the management of the flag. -
trunk/LMDZ.COMMON/libf/evolution/conf_pem.F90
r3349 r3490 103 103 reg_thprop_dependp = .false. 104 104 call getin('reg_thprop_dependp',reg_thprop_dependp) 105 write(*,*) 105 write(*,*) 'Thermal properties of the regolith vary with pressure ?', reg_thprop_dependp 106 106 107 107 fluxgeo = 0. … … 119 119 icetable_equilibrium = .true. 120 120 call getin('icetable_equilibrium',icetable_equilibrium) 121 write(*,*) 121 write(*,*) 'Is the ice table computed at equilibrium?', icetable_equilibrium 122 122 123 123 icetable_dynamic = .false. 124 124 call getin('icetable_dynamic',icetable_dynamic) 125 write(*,*) 126 if ((.not. soil_pem) .and. ( (icetable_equilibrium) .or. (icetable_dynamic))) then127 write(*,*) 'Ice table must be used when soil_pem = T'128 call abort_physic(modname,"Ice table 125 write(*,*) 'Is the ice table computed with the dynamic method?', icetable_dynamic 126 if ((.not. soil_pem) .and. (icetable_equilibrium .or. icetable_dynamic)) then 127 write(*,*) 'Ice table (equilibrium or dynamic method) must be used when soil_pem = T' 128 call abort_physic(modname,"Ice table must be used when soil_pem = T",1) 129 129 endif 130 130 … … 145 145 146 146 if (evol_orbit_pem .and. year_bp_ini == 0.) then 147 write(*,*) 148 write(*,*) 147 write(*,*) 'You want to follow the file obl_ecc_lsp.asc for changing orb parameters,' 148 write(*,*) 'but you did not specify from which year to start.' 149 149 call abort_physic(modname,"evol_orbit_pem=.true. but year_bp_ini=0",1) 150 150 endif -
trunk/LMDZ.COMMON/libf/evolution/ice_table_mod.F90
r3328 r3490 10 10 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 11 11 12 logical, save :: icetable_equilibrium ! Boolean to say if the PEM needs to recompute the icetable depth when at 13 logical, save :: icetable_dynamic ! Boolean to say if the PEM needs to recompute the icetable depth (dynamic method)12 logical, save :: icetable_equilibrium ! Boolean to say if the PEM needs to recompute the icetable depth when at equilibrium 13 logical, save :: icetable_dynamic ! Boolean to say if the PEM needs to recompute the icetable depth with the dynamic method 14 14 real, allocatable, dimension(:,:), save :: porefillingice_depth ! ngrid x nslope: Depth of the ice table [m] 15 15 real, allocatable, dimension(:,:), save :: porefillingice_thickness ! ngrid x nslope: Thickness of the ice table [m] -
trunk/LMDZ.COMMON/libf/evolution/pem.F90
r3486 r3490 932 932 call computeice_table_equilibrium(ngrid,nslope,nsoilmx_PEM,watercaptag,watersurf_density_avg,watersoil_density_PEM_avg,TI_PEM(:,1,:),porefillingice_depth,porefillingice_thickness) 933 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 934 endif 935 ! II_d.3 Update the ice table 936 if (icetable_dynamic) then 934 else if (icetable_dynamic) then 937 935 write(*,*) "Compute ice table" 938 936 porefillingice_thickness_prev_iter = porefillingice_thickness … … 991 989 call writediagpem(ngrid,'ssi_depth_slope'//str2,'ice table depth','m',2,porefillingice_depth(:,islope)) 992 990 call writediagpem(ngrid,'ssi_thick_slope'//str2,'ice table depth','m',2,porefillingice_thickness(:,islope)) 993 endif 994 if (icetable_dynamic) then 991 else if (icetable_dynamic) then 995 992 call writediagpem(ngrid,'ssi_depth_slope'//str2,'ice table depth','m',2,porefillingice_depth(:,islope)) 996 993 call writediagpem(ngrid,'ssi_thick_slope'//str2,'ice table depth','m',2,porefillingice_thickness(:,islope)) -
trunk/LMDZ.COMMON/libf/evolution/pemetat0.F90
r3456 r3490 16 16 use comsoil_h, only: volcapa, inertiedat 17 17 use adsorption_mod, only: regolith_adsorption, adsorption_pem 18 use ice_table_mod, only: computeice_table_equilibrium, icetable_equilibrium 18 use ice_table_mod, only: computeice_table_equilibrium, icetable_equilibrium, icetable_dynamic 19 19 use constants_marspem_mod, only: alpha_clap_h2o, beta_clap_h2o, TI_breccia, TI_bedrock 20 20 use soil_thermalproperties_mod, only: update_soil_thermalproperties … … 308 308 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 309 309 !3. Ice Table 310 if (icetable_equilibrium) then310 if (icetable_equilibrium .or. icetable_dynamic) then 311 311 call get_field("ice_table",ice_table,found) 312 312 if (.not. found) then … … 484 484 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 485 485 !c) Ice table 486 if (icetable_equilibrium) then486 if (icetable_equilibrium .or. icetable_dynamic) then 487 487 call computeice_table_equilibrium(ngrid,nslope,nsoil_PEM,watercaptag,watersurf_avg,watersoil_avg,TI_PEM(:,1,:),ice_table,ice_table_thickness) 488 488 call update_soil_thermalproperties(ngrid,nslope,nsoil_PEM,tend_h2o_ice,h2o_ice,global_avg_pressure,ice_table,ice_table_thickness,TI_PEM) -
trunk/LMDZ.MARS/changelog.txt
r3469 r3490 4731 4731 Remove obsolete/depreciated lwrite flag (which would trigger some very specific 4732 4732 extra text outputs), in code and in reference callphys.def files. 4733 4734 4735 24/10/2024 == EV adding the NS dynamic subsurface ice module in the PEM4736
Note: See TracChangeset
for help on using the changeset viewer.