/[MITgcm]/MITgcm_contrib/dgoldberg/streamice/streamice_solo_timestep.F
ViewVC logotype

Annotation of /MITgcm_contrib/dgoldberg/streamice/streamice_solo_timestep.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.13 - (hide annotations) (download)
Sat Jun 8 22:15:34 2013 UTC (12 years, 1 month ago) by dgoldberg
Branch: MAIN
Changes since 1.12: +8 -3 lines
new advected scalar; new advection scheme for thickness update; corresponding TAF directives

1 dgoldberg 1.13 C $Header: /u/gcmpack/MITgcm_contrib/dgoldberg/streamice/streamice_solo_timestep.F,v 1.12 2013/03/07 15:23:19 dgoldberg Exp $
2 heimbach 1.1 C $Name: $
3    
4     #include "STREAMICE_OPTIONS.h"
5    
6     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7    
8     CBOP
9     SUBROUTINE STREAMICE_SOLO_TIMESTEP ( myThid, myIter,
10     & iLoop, myTime )
11    
12     C /============================================================\
13     C | SUBROUTINE |
14     C | o |
15     C |============================================================|
16     C | |
17     C \============================================================/
18     IMPLICIT NONE
19    
20     C === Global variables ===
21     #include "SIZE.h"
22     #include "GRID.h"
23     #include "EEPARAMS.h"
24     #include "PARAMS.h"
25     #include "STREAMICE.h"
26     #ifdef ALLOW_AUTODIFF_TAMC
27     # include "tamc.h"
28     # include "STREAMICE_ADV.h"
29     # include "STREAMICE_BDRY.h"
30     # include "STREAMICE_CG.h"
31     #endif
32    
33    
34     INTEGER myThid, myIter, iLoop
35     _RL myTime
36    
37    
38     #ifdef ALLOW_STREAMICE
39    
40     INTEGER i, j, bi, bj, ki, kj
41     ! _RL Iratio, Imin_ratio, time_step_remain, local_u_max
42     ! _RL ratio, min_ratio
43     ! _RL local_v_max, time_step_int, min_time_step
44     CHARACTER*(MAX_LEN_MBUF) msgBuf
45     ! LOGICAL modelEnd
46    
47     #ifdef ALLOW_AUTODIFF_TAMC
48     c**************************************
49     #include "streamice_ad_check_lev1_dir.h"
50     c**************************************
51     #endif
52    
53     ! time_step_remain = deltaT
54     ! min_time_step = 1000.0
55     ! n_interm = 0
56    
57     #ifdef ALLOW_AUTODIFF_TAMC
58    
59     DO bj=myByLo(myThid),myByHi(myThid)
60     DO bi=myBxLo(myThid),myBxHi(myThid)
61     DO j=1-OLy,sNy+OLy
62     DO i=1-OLx,sNx+OLx
63     STREAMICE_ufacemask(i,j,bi,bj) = 0. _d 0
64     STREAMICE_vfacemask(i,j,bi,bj) = 0. _d 0
65     ru_old_si(i,j,bi,bj) = 0. _d 0
66     rv_old_si(i,j,bi,bj) = 0. _d 0
67     zu_old_si(i,j,bi,bj) = 0. _d 0
68     zv_old_si(i,j,bi,bj) = 0. _d 0
69 dgoldberg 1.13 ! h_after_uflux_si(i,j,bi,bj) = 0. _d 0
70 heimbach 1.6 #ifdef STREAMICE_HYBRID_STRESS
71     streamice_taubx (i,j,bi,bj) = 0. _d 0
72     streamice_tauby (i,j,bi,bj) = 0. _d 0
73     #endif
74 heimbach 1.1 ENDDO
75     ENDDO
76     ENDDO
77     ENDDO
78    
79     #endif
80    
81    
82    
83     WRITE(msgBuf,'(A,I10.10,E9.2,A)')
84     & 'streamice solo_time_step: nIter',
85     & myIter, myTime/86400.0/365.0, 'seconds'
86     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
87     & SQUEEZE_RIGHT , 1)
88    
89 heimbach 1.4 CALL STREAMICE_DUMP( mytime, myiter, myThid )
90    
91 dgoldberg 1.8 ! NEW DIRECTIVES - DNG
92 dgoldberg 1.10 !#ifdef ALLOW_AUTODIFF_TAMC
93     !CADJ STORE float_frac_streamice = comlev1, key = ikey_dynamics,
94     !CADJ & kind = isbyte
95     !CADJ STORE surf_el_streamice = comlev1, key = ikey_dynamics,
96     !CADJ & kind = isbyte
97     !CADJ STORE base_el_streamice = comlev1, key = ikey_dynamics,
98     !CADJ & kind = isbyte
99     !#endif
100 dgoldberg 1.8 ! NEW DIRECTIVES - DNG
101 dgoldberg 1.7
102 dgoldberg 1.12 #ifdef ALLOW_GENTIM2D_CONTROL
103 dgoldberg 1.11 CALL CTRL_MAP_GENTIM2D (myTime, myIter, myThid)
104 dgoldberg 1.12 #endif
105 dgoldberg 1.11
106 dgoldberg 1.8 if (myIter.eq.0) then
107 dgoldberg 1.10 CALL STREAMICE_UPD_FFRAC_UNCOUPLED ( myThid )
108 dgoldberg 1.12 CALL WRITE_FLD_XY_RL
109     & ("surf_el_init","",surf_el_streamice,0,myThid)
110 dgoldberg 1.8 endif
111 heimbach 1.1 CALL STREAMICE_VELMASK_UPD (myThid)
112 dgoldberg 1.13
113     #ifdef ALLOW_STREAMICE_FLUX_CONTROL
114     CALL STREAMICE_APPLY_FLUX_CTRL ( myTime, myIter, myThid )
115     #endif
116    
117 heimbach 1.1 CALL STREAMICE_VEL_SOLVE( myThid )
118 dgoldberg 1.8
119 dgoldberg 1.5 if(.not.STREAMICE_diagnostic_only) THEN
120    
121 dgoldberg 1.13 CALL STREAMICE_ADVECT_THICKNESS ( myThid, myIter, deltaT )
122 dgoldberg 1.5
123     endif
124 dgoldberg 1.10
125 dgoldberg 1.8 ! CALL AT END INSTEAD OF BEGINNING - DNG
126     CALL STREAMICE_UPD_FFRAC_UNCOUPLED ( myThid )
127 heimbach 1.1
128    
129    
130 dgoldberg 1.10
131 heimbach 1.1 #endif
132     RETURN
133     END

  ViewVC Help
Powered by ViewVC 1.1.22