35 subroutine calc_gia(time, z_sl, dtime, dxi, deta, itercount, iter_wss)
43 integer(i4b),
intent(in) :: itercount, iter_wss
44 real(dp),
intent(in) :: time
45 real(dp),
intent(in) :: z_sl
46 real(dp),
intent(in) :: dtime, dxi, deta
49 real(dp) :: tldt_inv(0:jmax,0:imax)
51 real(dp) :: rho_rhoa_ratio, rhosw_rhoa_ratio
52 real(dp) :: target_topo_time_lag
58 tldt_inv(j,i) = 1.0_dp/(time_lag_asth(j,i)+dtime)
62 rho_rhoa_ratio = rho/rho_a
63 rhosw_rhoa_ratio = rho_sw/rho_a
65 dtime_inv = 1.0_dp/dtime
74 dzl_dtau(j,i) = (zl_neu(j,i)-zl(j,i))*dtime_inv
83 if (maske(j,i) <= 1_i2b)
then
85 zl_neu(j,i) = tldt_inv(j,i)*( time_lag_asth(j,i)*zl(j,i) &
87 -frac_llra*rho_rhoa_ratio*(h_c(j,i)+h_t(j,i))) )
91 zl_neu(j,i) = tldt_inv(j,i)*( time_lag_asth(j,i)*zl(j,i) &
93 -frac_llra*rhosw_rhoa_ratio*z_sl) )
100 dzl_dtau(j,i) = (zl_neu(j,i)-zl(j,i))*dtime_inv
107 if ((mod(itercount, iter_wss)==0).or.(itercount==1))
then
108 write(6,*)
' -------- Computation of wss'
115 zl_neu(j,i) = tldt_inv(j,i) &
116 * ( time_lag_asth(j,i)*zl(j,i) + dtime*(zl0(j,i)-wss(j,i)) )
117 dzl_dtau(j,i) = (zl_neu(j,i)-zl(j,i))*dtime_inv
127 if (time >= time_target_topo_final)
then
132 else if (time >= time_target_topo_init)
then
134 target_topo_time_lag = (time_target_topo_final-time)/3.0_dp
136 zl_neu = ( target_topo_time_lag*zl_neu + dtime*zl_target ) &
137 / ( target_topo_time_lag + dtime )
139 dzl_dtau = (zl_neu-zl)*dtime_inv
148 #if (defined(EXEC_MAKE_ZL0))
152 write(6, fmt=
'(a)')
' '
153 write(6, fmt=
'(a)')
' * * * * * * * * * * * * * * * * * * * * * * * * * * * * '
154 write(6, fmt=
'(a)')
' calc_gia: Routine make_zl0 successfully completed, '
155 write(6, fmt=
'(a)')
' isostatically relaxed lithosphere topography '
156 write(6, fmt=
'(a)')
' written on file '
157 write(6, fmt=
'(a)')
' (in directory specified by OUTPATH). '
158 write(6, fmt=
'(a)')
' Execution of SICOPOLIS stopped. '
159 write(6, fmt=
'(a)')
' * * * * * * * * * * * * * * * * * * * * * * * * * * * * '
160 write(6, fmt=
'(a)')
' '
Declarations of kind types for SICOPOLIS.
Declarations of global variables for SICOPOLIS (for the ANT domain).
subroutine calc_gia(time, z_sl, dtime, dxi, deta, itercount, iter_wss)
Computation of the glacial isostatic adjustment of the lithosphere surface.
subroutine make_zl0()
Generation of an isostatically relaxed lithosphere surface topography for either the rigid lithospher...
subroutine calc_elra(z_sl, dxi, deta)
Computation of the isostatic steady-state displacement of the lithosphere (wss) for the ELRA model...
Declarations of global variables for SICOPOLIS.