pism / pism

Repository for the Parallel Ice Sheet Model (PISM)
https://pism.io/
GNU General Public License v3.0
102 stars 41 forks source link

Weird perturbations when restarting from a previous steady states #429

Closed jacksd233 closed 5 years ago

jacksd233 commented 5 years ago

Dear Colleagues, When I restart from a previous steady state, the new run shows weird perturbations and finally comes to a different steady state of ice volume.

L1_L3_restart_PISM.pdf

The ice volume figure shows that they are the same in the first 50000 years and different in the last 40000 years. These two tests should output the same ice volume or at lease the same steady state. You have mentioned that till phi and lapse rate I used are not realistic. But I think they may not affect the restart run. Do you know why they are different?

PISM_version.txt

The experiments are designed as follows: Test A1: Run for 50000 years from no ice with input file “CS_boot_regrid_phi30_ts0_dx20000.nc” to a steady state. 20km resolution.

 InputFile=CS_boot_regrid_phi30_ts0_dx20000.nc
 OutName="LIS_elaSMB_states.nc"
 ModelTime=50000
 SaveFileName=Snapshots
 mpiexec -n 216 pismr -i $InputFile -bootstrap  \
                    -log_summary -options_left \
                    -Mx 226 -My 176 -Mz 101 -Mbz 11 -z_spacing equal -Lz 8000 -Lbz 4600 \
                    -sia_e 1.0 -stress_balance ssa+sia -yield_stress mohr_coulomb \
                    -hydrology_tillwat_max 1 -hydrology null \
                    -surface elevation,anomaly -climatic_mass_balance -4,1,0,700,1000 -ice_surface_temp 0,-78.4,0,8000  \
                    -surface_anomaly_file $InputFile   \
                    -skip -skip_max 10 \
                    -y $ModelTime  \
                    -bed_def lc \
                    -calving float_kill \
                    -ts_file ts_${ModelTime}_$OutName -ts_times 1:1:$ModelTime \
                    -extra_file ex_${ModelTime}_$OutName -extra_times 1: 100:$ModelTime \
                    -extra_vars diffusivity,temppabase,tempicethk_basal,bmelt,tillwat,velsurf_mag,mask,thk,topg,usurf,hardav,velbase_mag,tauc,climatic_mass_balance,ice_surface_temp,taud_mag,taub_mag,taub,taud \
                    -save_file snapshots -save_times 10000,20000,30000,40000 -save_split  \
                    -o PISM_out_20km_50000y.nc -o_size big

Test A2: Run for 40000 years after the output of A1 to a steady state. 20km resolution.

 InputFile=PISM_out_20km_50000y.nc
  OutName="L3"
  ModelTime=40000
  SaveFileName=Snapshots
  mpiexec -n 216 pismr -i $InputFile -bootstrap  \
                     -log_summary -options_left \
                     -Mx 226 -My 176 -Mz 101 -Mbz 11 -z_spacing equal -Lz 8000 -Lbz 4600 \
                     -sia_e 1.0 -stress_balance ssa+sia -yield_stress mohr_coulomb \
                     -hydrology_tillwat_max 1 -hydrology null \
                     -surface elevation,anomaly -climatic_mass_balance -4,1,0,700,1000 -ice_surface_temp 0,-78.4,0,8000  \
                     -surface_anomaly_file $InputFile   \
                     -skip -skip_max 10 \
                     -y $ModelTime  \
                     -bed_def lc \
                     -calving float_kill \
                     -ts_file ts_${ModelTime}_$OutName -ts_times 50000:1:90000 \
                     -extra_file ex_${ModelTime}_$OutName -extra_times 50000: 100:90000 \
                     -extra_vars diffusivity,temppabase,tempicethk_basal,bmelt,tillwat,velsurf_mag,mask,thk,topg,usurf,hardav,velbase_mag,tauc,climatic_mass_balance,ice_surface_temp,taud_mag,taub_mag,taub,taud \
                     -save_file snapshots -save_times 60000,90000 -save_split  \
                     -o PISM_out_20km_${OutName}_${ModelTime}y.nc -o_size big

Test B: Run for 90000 years from no ice with the same input file “CS_boot_regrid_phi30_ts0_dx20000.nc” to a steady state. 20km resolution.

InputFile=CS_boot_regrid_phi30_ts0_dx20000.nc
  OutName="LIS_elaSMB_states.nc"
  ModelTime=90000
  SaveFileName=Snapshots
  mpiexec -n 216 pismr -i $InputFile -bootstrap  \
                     -log_summary -options_left \
                     -Mx 226 -My 176 -Mz 101 -Mbz 11 -z_spacing equal -Lz 8000 -Lbz 4600 \
                     -sia_e 1.0 -stress_balance ssa+sia -yield_stress mohr_coulomb \
                     -hydrology_tillwat_max 1 -hydrology null \
                     -surface elevation,anomaly -climatic_mass_balance -4,1,0,700,1000 -ice_surface_temp 0,-78.4,0,8000  \
                     -surface_anomaly_file $InputFile   \
                     -skip -skip_max 10 \
                     -y $ModelTime  \
                     -bed_def lc \
                     -calving float_kill \
                     -ts_file ts_${ModelTime}_$OutName -ts_times 1:1:$ModelTime \
                     -extra_file ex_${ModelTime}_$OutName -extra_times 1: 100:$ModelTime \
                     -extra_vars diffusivity,temppabase,tempicethk_basal,bmelt,tillwat,velsurf_mag,mask,thk,topg,usurf,hardav,velbase_mag,tauc,climatic_mass_balance,ice_surface_temp,taud_mag,taub_mag,taub,taud \
                     -save_file snapshots -save_times 10000,50000,90000 -save_split  \
                     -o PISM_out_20km_90000y.nc -o_size big

Best wishes Weiwen

talbrecht commented 5 years ago

Hej Weiwen, I haven't worked with the -surface elevation model yet, but should the-surface_anomaly_file as a reference not be the same in A1 and A2? Torsten

jacksd233 commented 5 years ago

Hi Torsten, Variables ice_surface_temp_anomaly and ice_surface_temp_anomaly specified by -surface_anomaly_file are the same in the two references of A1 and A2. They should not affect the restart experiments. @talbrecht

Best wishes, Weiwen

talbrecht commented 5 years ago

Ok, sorry, I thought the module may use surface elevation of the input files as reference, but I see that it updates SMB and T according to the evolving surface elevation. But I see, that you use -bootstrap in A2 and this overwrites the 3D enthalpy field. You don't need to bootstrap for a PISM outputfile and same options.

aaschwanden commented 5 years ago

Hi,

sorry I haven't replied earlier, we are currently busy finishing the new frontal melt model, and I haven't had a chance to look at your scripts.

As I mentioned in my previous email (and in agreement with @talbrecht's suggestion), please look at http://pism-docs.org/sphinx/manual/practical-usage/regridding.html to find out how regridding is done. @talbrecht is right, the -bootstrap changes the enthalpy field. If you stay on the same grid, you only need -i input.nc, otherwise add -regrid -regrid_vars litho_temp,enthalpy,age,tillwat,bmelt,ice_area_specific_volume,thk -regrid_file input.nc.

jacksd233 commented 5 years ago

I did a restart experiment without -bootstrap and the result now is exactly the same as the other one. Thanks so much! @talbrecht @aaschwanden

jacksd233 commented 5 years ago

The option -bootstrap should be deleted when doing restart experiments with previously-saved "complete" results.