SICOPOLIS V5-dev  Revision 1288
sico_main_loop_wrapper_m.F90
Go to the documentation of this file.
2  implicit none
3 
4  public
5 
6 contains
7 
8  subroutine sico_main_loop_wrapper(delta_ts, glac_index, &
9  mean_accum, &
10  dtime, dtime_temp, dtime_wss, dtime_out, dtime_ser, &
11  time, time_init, time_end, time_output, &
12  dxi, deta, dzeta_c, dzeta_t, dzeta_r, &
13  z_sl, dzsl_dtau, z_mar, &
14  ii, jj, nn, &
15  ndat2d, ndat3d, n_output, &
16  runname, &
17  itercount_max,iter_temp,iter_wss,iter_ser,&
18  iter_out,iter_output)
19 
20 !$openad xxx template ad_revolve_template.F
21  use sico_types_m
23  use sico_vars_m
24  use boundary_m
25 #if (defined(GRL) && DISC>0)
27 #endif
28 #if (CALCMOD==0 || CALCMOD==1 || CALCMOD==-1)
29  use calc_temp_m
30 #elif (CALCMOD==2 || CALCMOD==3)
32 #endif
33 
34  use calc_enhance_m
35  use calc_vxy_m
36  use calc_vz_m
37  use calc_dxyz_m
38  use calc_gia_m
39  use calc_thk_m
41  use calc_bas_melt_m
43  !use output_m
45  use ctrl_m, only: myfloor
46 
47  implicit none
48 
49  integer(i4b), intent(inout) :: ii((imax+1)*(jmax+1)), &
50  jj((imax+1)*(jmax+1)), &
51  nn(0:jmax,0:imax)
52  integer(i4b), intent(inout) :: n_output
53  real(dp), intent(inout) :: mean_accum
54  real(dp), intent(inout) :: dtime, dtime_temp, dtime_wss, &
55  dtime_out, dtime_ser
56  real(dp), intent(inout) :: time_init, time_end, time_output(100)
57  real(dp), intent(inout) :: dxi, deta, dzeta_c, dzeta_t, dzeta_r
58  character(len=100), intent(inout) :: runname
59 
60  integer(i4b), intent(inout) :: ndat2d, ndat3d
61  real(dp), intent(inout) :: delta_ts, glac_index
62  real(dp), intent(inout) :: time
63  real(dp), intent(inout) :: z_sl, dzsl_dtau, z_mar
64 
65  integer(i4b) :: i, j, kc, kt, kr, n
66  integer(i4b) :: itercount
67  integer(i4b), intent(inout) :: itercount_max, iter_temp, iter_wss
68  integer(i4b), intent(inout) :: iter_ser, iter_out, iter_output(100)
69  real(dp) :: dtime_temp_inv
70  logical :: flag_3d_output
71 
72  real(dp) :: tmp, valmod
73  integer(i4b) :: valmodint
74 
75  main_loop : do itercount=1, itercount_max
76  call sico_main_loop_iter(delta_ts, glac_index, &
77  mean_accum, &
78  dtime, dtime_temp, dtime_wss, dtime_out, dtime_ser, &
79  time, time_init, time_end, time_output, &
80  dxi, deta, dzeta_c, dzeta_t, dzeta_r, &
81  z_sl, dzsl_dtau, z_mar, &
82  ii, jj, nn, &
83  ndat2d, ndat3d, n_output, &
84  runname, &
85  itercount,iter_temp,iter_wss,iter_ser,&
86  iter_out,iter_output)
87  end do main_loop ! End of main loop
88 
89  end subroutine sico_main_loop_wrapper
90 
91 end module sico_main_loop_wrapper_m
Computation of the ice thickness.
Definition: calc_thk_m.F90:35
Definition: ctrl_m.F90:9
Computation of the thickness of the water column under the ice base.
Computation of all components of the strain-rate tensor, the full effective strain rate and the shear...
Definition: calc_dxyz_m.F90:37
Declarations of global variables for SICOPOLIS (for the ANT domain).
Definition: sico_vars_m.F90:35
Computation of the flow enhancement factor.
Computation of the horizontal velocity vx, vy.
Definition: calc_vxy_m.F90:36
Declarations of kind types for SICOPOLIS.
Computation of temperature, water content and age.
Definition: calc_temp_m.F90:35
Computation of the melting and basal temperatures.
Computation of the vertical velocity vz.
Definition: calc_vz_m.F90:35
subroutine sico_main_loop_iter(delta_ts, glac_index, mean_accum, dtime, dtime_temp, dtime_wss, dtime_out, dtime_ser, time, time_init, time_end, time_output, dxi, deta, dzeta_c, dzeta_t, dzeta_r, z_sl, dzsl_dtau, z_mar, ii, jj, nn, ndat2d, ndat3d, n_output, runname, itercount, iter_temp, iter_wss, iter_ser, iter_out, iter_output)
Computation of temperature, water content and age with the enthalpy method.
Computation of the basal melting rate.
subroutine sico_main_loop_wrapper(delta_ts, glac_index, mean_accum, dtime, dtime_temp, dtime_wss, dtime_out, dtime_ser, time, time_init, time_end, time_output, dxi, deta, dzeta_c, dzeta_t, dzeta_r, z_sl, dzsl_dtau, z_mar, ii, jj, nn, ndat2d, ndat3d, n_output, runname, itercount_max, iter_temp, iter_wss, iter_ser, iter_out, iter_output)
Computation of the surface temperature (must be less than 0 deg C!) and of the accumulation-ablation ...
Definition: boundary_m.F90:37
Ice discharge parameterization for the Greenland ice sheet.
Computation of the glacial isostatic adjustment of the lithosphere surface.
Definition: calc_gia_m.F90:36
Declarations of global variables for SICOPOLIS.