43 real(dp),
intent(in) :: time
45 integer(i4b) :: i, j, kc, kt
46 real(dp) :: age_trans, date_trans1, date_trans2, date_trans3
47 real(dp) :: enh_shear_compr_diff, enh_mult
56 age_trans = age_trans_0*year_sec
62 if (age_t(kt,j,i) < age_trans)
then
63 enh_t(kt,j,i) = enh_intg
65 enh_t(kt,j,i) = enh_fact
70 if (age_c(kc,j,i) < age_trans)
then
71 enh_c(kc,j,i) = enh_intg
73 enh_c(kc,j,i) = enh_fact
82 date_trans1 = date_trans1_0*year_sec
83 date_trans2 = date_trans2_0*year_sec
84 date_trans3 = date_trans3_0*year_sec
90 if ( (time-age_t(kt,j,i)) < date_trans1 )
then
91 enh_t(kt,j,i) = enh_fact
92 else if ( ((time-age_t(kt,j,i)) >= date_trans1).and. &
93 ((time-age_t(kt,j,i)) < date_trans2) )
then
94 enh_t(kt,j,i) = enh_intg
95 else if ( ((time-age_t(kt,j,i)) >= date_trans2).and. &
96 ((time-age_t(kt,j,i)) < date_trans3) )
then
97 enh_t(kt,j,i) = enh_fact
99 enh_t(kt,j,i) = enh_intg
104 if ( (time-age_c(kc,j,i)) < date_trans1 )
then
105 enh_c(kc,j,i) = enh_fact
106 else if ( ((time-age_c(kc,j,i)) >= date_trans1).and. &
107 ((time-age_c(kc,j,i)) < date_trans2) )
then
108 enh_c(kc,j,i) = enh_intg
109 else if ( ((time-age_c(kc,j,i)) >= date_trans2).and. &
110 ((time-age_c(kc,j,i)) < date_trans3) )
then
111 enh_c(kc,j,i) = enh_fact
113 enh_c(kc,j,i) = enh_intg
120 #elif (ENHMOD==4 || ENHMOD==5)
122 enh_shear_compr_diff = enh_shear-enh_compr
128 enh_t(kt,j,i) = enh_compr &
129 + enh_shear_compr_diff*lambda_shear_t(kt,j,i)**2
133 enh_c(kc,j,i) = enh_compr &
134 + enh_shear_compr_diff*lambda_shear_c(kc,j,i)**2
141 stop
' calc_enhance: Parameter ENHMOD must be either 1, 2, 3, 4 or 5!'
148 #if (ENHMOD==1 || ENHMOD==2 || ENHMOD==3 || ENHMOD==4)
153 if ( maske(j,i)==3_i2b )
then
156 enh_t(kt,j,i) = enh_shelf
160 enh_c(kc,j,i) = enh_shelf
173 stop
' calc_enhance: Parameter ENHMOD must be either 1, 2, 3, 4 or 5!'
180 #if ( defined(NMARS) \
181 || defined(smars) ) /* martian ice sheet */
184 enh_mult = exp(-3.0_dp*2.0_dp*frac_dust)
186 enh_mult = exp(-1.8_dp*2.0_dp*frac_dust)
188 enh_mult = exp(-4.0_dp*2.0_dp*frac_dust)
190 stop
' calc_enhance: FLOW_LAW==4 has not been implemented yet!'
193 enh_t = enh_t * enh_mult
194 enh_c = enh_c * enh_mult
Declarations of kind types for SICOPOLIS.
Declarations of global variables for SICOPOLIS (for the ANT domain).
subroutine calc_enhance(time)
Computation of the flow enhancement factor.
Declarations of global variables for SICOPOLIS.