/[MITgcm]/MITgcm/pkg/flt/README.flt
ViewVC logotype

Contents of /MITgcm/pkg/flt/README.flt

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


Revision 1.1 - (show annotations) (download)
Thu Sep 13 17:43:55 2001 UTC (22 years, 8 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint51k_post, checkpoint62v, checkpoint47e_post, checkpoint57m_post, checkpoint52l_pre, checkpoint44e_post, checkpoint62u, hrcube4, hrcube5, checkpoint46l_post, checkpoint57g_pre, checkpoint46g_pre, checkpoint47c_post, release1_p13_pre, checkpoint62t, checkpoint50c_post, checkpoint57s_post, checkpoint58b_post, checkpoint57b_post, checkpoint46f_post, checkpoint52d_pre, checkpoint57g_post, checkpoint48e_post, checkpoint56b_post, checkpoint50c_pre, checkpoint57y_post, checkpoint44f_post, checkpoint46b_post, checkpoint52j_pre, checkpoint43a-release1mods, checkpoint51o_pre, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint54d_post, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint54e_post, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, ecco_c50_e32, ecco_c50_e33, ecco_c50_e30, ecco_c50_e31, release1_p13, checkpoint62c, checkpoint51l_post, checkpoint48i_post, checkpoint57r_post, checkpoint46l_pre, checkpoint57d_post, checkpoint57i_post, checkpoint52l_post, checkpoint52k_post, chkpt44d_post, checkpoint59, checkpoint58, checkpoint55, checkpoint54, checkpoint57, checkpoint56, checkpoint51, checkpoint50, checkpoint53, checkpoint52, release1_p8, release1_p9, checkpoint50d_post, release1_p1, release1_p2, release1_p3, release1_p4, release1_p5, release1_p6, release1_p7, checkpoint58f_post, checkpoint52f_post, checkpoint57n_post, checkpoint58d_post, checkpoint62s, checkpoint58a_post, checkpoint62r, checkpoint62q, checkpoint50b_pre, checkpoint44e_pre, checkpoint62p, checkpoint57z_post, checkpoint54f_post, checkpoint51f_post, checkpoint62a, release1_b1, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, ecco_c51_e34d, ecco_c51_e34e, ecco_c51_e34f, ecco_c51_e34g, checkpoint62w, ecco_c51_e34a, ecco_c51_e34b, ecco_c51_e34c, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint58y_post, checkpoint48b_post, checkpoint43, checkpoint51d_post, checkpoint48c_pre, checkpoint47d_pre, checkpoint51t_post, checkpoint58t_post, checkpoint51n_post, release1_chkpt44d_post, checkpoint55i_post, checkpoint58m_post, checkpoint57l_post, checkpoint52i_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint51s_post, checkpoint47a_post, checkpoint57t_post, checkpoint55c_post, checkpoint48d_pre, checkpoint51j_post, checkpoint47i_post, checkpoint63g, checkpoint52e_pre, checkpoint57v_post, checkpoint57f_post, checkpoint52e_post, checkpoint51n_pre, checkpoint47d_post, icebear5, icebear4, icebear3, icebear2, checkpoint53d_post, checkpoint46d_pre, checkpoint64, checkpoint65, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint57a_post, checkpoint48d_post, release1-branch_tutorials, checkpoint57h_pre, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint48f_post, checkpoint45d_post, checkpoint52b_pre, checkpoint54b_post, checkpoint46j_pre, checkpoint58w_post, checkpoint57h_post, checkpoint51l_pre, checkpoint52m_post, checkpoint57y_pre, chkpt44a_post, checkpoint55g_post, checkpoint44h_pre, checkpoint48h_post, checkpoint51q_post, ecco_c50_e29, checkpoint51b_pre, checkpoint46a_post, checkpoint47g_post, checkpoint52b_post, checkpoint52c_post, checkpoint46j_post, checkpoint51h_pre, checkpoint46k_post, ecco_c50_e28, chkpt44c_pre, checkpoint58o_post, checkpoint48a_post, checkpoint45a_post, checkpoint57c_post, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, checkpoint58p_post, checkpoint58q_post, checkpoint52f_pre, checkpoint55d_post, ecco_c44_e19, ecco_c44_e18, ecco_c44_e17, ecco_c44_e16, release1_p12, checkpoint58e_post, release1_p10, release1_p11, release1_p16, release1_p17, release1_p14, release1_p15, checkpoint47j_post, checkpoint54a_pre, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, ecco_c50_e33a, checkpoint53c_post, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint55d_pre, checkpoint57c_pre, checkpoint58r_post, checkpoint55j_post, branch-exfmods-tag, checkpoint44g_post, branchpoint-genmake2, checkpoint54a_post, checkpoint46e_pre, checkpoint55h_post, checkpoint58n_post, checkpoint51r_post, checkpoint48c_post, checkpoint45b_post, checkpoint46b_pre, checkpoint51i_post, checkpoint57e_post, release1-branch-end, release1_final_v1, checkpoint55b_post, checkpoint51b_post, checkpoint51c_post, checkpoint46c_pre, checkpoint53a_post, checkpoint46, checkpoint65o, checkpoint47b_post, checkpoint44b_post, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint55f_post, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, ecco_c51_e34, checkpoint46h_pre, checkpoint52d_post, checkpoint53g_post, checkpoint46m_post, checkpoint57p_post, checkpint57u_post, checkpoint46a_pre, checkpoint50g_post, checkpoint45c_post, checkpoint57q_post, ecco_ice2, ecco_ice1, checkpoint44h_post, eckpoint57e_pre, checkpoint46g_post, release1_p12_pre, checkpoint58k_post, checkpoint52a_pre, checkpoint62b, ecco_c44_e22, checkpoint58v_post, checkpoint50h_post, checkpoint52i_post, checkpoint50e_pre, checkpoint50i_post, ecco_c44_e25, checkpoint51i_pre, checkpoint52h_pre, checkpoint56a_post, checkpoint64y, checkpoint64x, checkpoint58l_post, checkpoint64z, checkpoint53f_post, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint57h_done, checkpoint52j_post, checkpoint47f_post, checkpoint50e_post, chkpt44a_pre, checkpoint46i_post, ecco_c44_e23, ecco_c44_e20, ecco_c44_e21, ecco_c44_e26, ecco_c44_e27, ecco_c44_e24, checkpoint57j_post, checkpoint57f_pre, checkpoint61f, checkpoint46c_post, checkpoint58g_post, ecco-branch-mod1, ecco-branch-mod2, ecco-branch-mod3, ecco-branch-mod4, ecco-branch-mod5, branch-netcdf, checkpoint50d_pre, checkpoint58x_post, checkpoint61n, checkpoint52n_post, checkpoint53b_pre, checkpoint46e_post, checkpoint59j, release1_beta1, checkpoint58h_post, checkpoint56c_post, checkpoint58j_post, checkpoint51e_post, checkpoint44b_pre, checkpoint42, checkpoint57a_pre, checkpoint40, checkpoint41, checkpoint55a_post, checkpoint47, checkpoint44, checkpoint45, checkpoint48, checkpoint49, checkpoint57o_post, checkpoint46h_post, checkpoint51o_post, checkpoint61q, checkpoint57k_post, checkpoint51f_pre, chkpt44c_post, checkpoint48g_post, checkpoint53b_post, checkpoint47h_post, checkpoint52a_post, checkpoint57w_post, checkpoint61e, checkpoint44f_pre, checkpoint58i_post, checkpoint51g_post, ecco_c52_e35, checkpoint57x_post, checkpoint46d_post, checkpoint50b_post, checkpoint58c_post, checkpoint58u_post, release1-branch_branchpoint, checkpoint51m_post, checkpoint53d_pre, checkpoint58s_post, checkpoint55e_post, checkpoint61g, checkpoint61d, checkpoint54c_post, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint51a_post, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint51p_post, checkpoint61z, checkpoint61x, checkpoint61y, checkpoint51u_post, HEAD
Branch point for: c24_e25_ice, branch-exfmods-curt, release1_final, release1-branch, branch-genmake2, release1, branch-nonh, tg2-branch, ecco-branch, release1_50yr, netcdf-sm0, icebear, checkpoint51n_branch, release1_coupled
Added package "flt".
 o pkg/flt
 o verification/flt_example
 o visualization of trajectories supplied
 o works but output not available to testscript

1 C $Header: $
2 C $Name: $
3 c
4 c ==============================
5 c FLOAT Package for the MITgcmUV
6 c ==============================
7 c
8 c
9 c This package allows the advection of floats during a model run.
10 c Although originally intended to simulate PALACE floats
11 c (floats that drift in at depth and to the surface at a defined
12 c time interval) it can also run ALACE floats (non-profiling)
13 c and surface drifters as well as sample moorings (simply a
14 c non-advective, profiling float).
15 c
16 c The stepping of the float advection is done using a second
17 c order Runga-Kutta scheme (Press et al., 1992, Numerical
18 c Recipes), whereby velocities and positions are bilinear
19 c interpolated between the grid points.
20 c
21 c Current version: 1.0 06-AUG-2001
22 c
23 c Please report any bugs and suggestions to:
24 c
25 c Arne Biastoch (abiastoch@ucsd.edu)
26 c
27 c
28 c Implementation in MITgcmUV
29 c --------------------------
30 c
31 c The package has only few interfaces to the model. Despite a
32 c general introduction of the flag useFLT and an initialization in
33 c packages_init_fixed.F the interfaces are in:
34 c
35 c - forward_step.F where the main float routine is called:
36 c
37 c #ifdef ALLOW_FLT
38 c C-- Calculate float trajectories
39 c if (useFLT) then
40 c CALL TIMER_START('FLOATS [THE_MAIN_LOOP]',myThid)
41 c CALL FLT_MAIN(myIter,myTime, myThid)
42 c CALL TIMER_STOP ('FLOATS [THE_MAIN_LOOP]',myThid)
43 c endif
44 c #endif
45 c
46 c - write_checkpoint.F where float positions are written to a restart file:
47 c
48 c #ifdef ALLOW_FLT
49 c if (useFLT) then
50 c CALL FLT_RESTART (myCurrentTime, myCurrentIter, myThid )
51 c endif
52 c #endif
53 c
54 c The rest is done in the routines residing in pkg/flt. Please make
55 c sure that this directory is enabled in genmake when compiling the
56 c Makefile.
57 c
58 c
59 c Settings at compilation time
60 c ----------------------------
61 c
62 c The main flag for switching on the float package has to be done
63 c in CPP_OPTIONS.h where
64 c #define ALLOW_FLT has to be set
65 c
66 c The package itself has its own option file called FLT_CPPOPTIONS.h.
67 c Currently there are only two flags available:
68 c #define FLT_NOISE to add white noise to the advection velocity
69 c #undef ALLOW_3D_FLT to allow three-dimensional float advection
70 c (not tested yet!) instead of drifting on a
71 c pre-defined (integer) vertical level.
72 c
73 c Other specifications are done in FLT.h:
74 c
75 c parameter (max_npart_tile = 300)
76 c is the maximum number of floats per tile. Should be smaller
77 c than the total number of floats when running on a parallel
78 c environment but as small as possible to avoid too large
79 c arrays. The model will stop if the number of floats per tile
80 c exceeds max_npart_tile at any time.
81 c parameter (max_npart_exch = 50)
82 c is the maximum number of floats per tile that can be exchanged
83 c with other tiles to one side (there are 4 arrays) in one
84 c timestep. Should be generally small because only few floats
85 c leave the tile exactly at the same time.
86 c
87 c
88 c Settings at runtime
89 c -------------------
90 c
91 c useFLT=.TRUE.
92 c has to be set in namelist PACKAGES (data.pkg) to use floats
93 c
94 c data.flt contains a namelist FLT_NML with the parameters:
95 c flt_int_traj is the time interval in seconds to sample
96 c float position and dynamic variables (T,S,U,V,Eta).
97 c To capture the whole profile cycle of a PALACE float
98 c this has to be at least as small as the
99 c shortest surface time
100 c
101 c flt_int_prof is the time interval in seconds to sample
102 c a whole profile of T,S,U,V (as well as
103 c positions and Eta). This has to chosen at
104 c least as small as the shortest profiling
105 c interval.
106 c Note: All profiling intervals have to be an integer
107 c multiple of this interval
108 c Note: The profile is always taken over the whole
109 c water column
110 c
111 c Example: if one would set two sets of profiling floats,
112 c - one with 5 days profiling interval and 24 hours surface time
113 c - one with 10 days profiling interval and 12 hours surface time
114 c one would have to set
115 c - flt_int_traj=43200
116 c - flt_int_prof=432000
117 c to capture all of the floats motions
118 c
119 c flt_noise If FLT_NOISE is defined this is the amplitude
120 c that is added to the advection velocity by the
121 c random number generator.
122 c
123 c flt_file the base filename of the float positions
124 c without tile information and ending (e.g. float_pos)
125 c
126 c
127 c Input
128 c -----
129 c
130 c The initialization is written in a way that it first looks for a
131 c global file (e.g. float_pos.data). A global file is mainly used
132 c for first-time initialization. If that not exists the routine looks
133 c for local files (e.g. float_pos.001.001.data, etc.) that have
134 c been used for storing the float positions for restart (note that
135 c float restarts are ALWAYS local files). The structure of the
136 c file is always the same:
137 c
138 c Each float contains a 9 element double precision record of a
139 c direct access file. The records are:
140 c
141 c - npart A unique float identifier (1,2,3,...)
142 c - tstart start date of integration of float (in s)
143 c Note: If tstart=-1 floats are integrated right from the
144 c beginning
145 c - xpart x position of float (in units of XC)
146 c - ypart y position of float (in units of YC)
147 c - kpart actual vertical level of float
148 c - kfloat target level of float (should be the same as kpart at
149 c the beginning)
150 c - iup flag if the float
151 c - should profile ( > 0 = return cycle (in s) to surface)
152 c - remain at depth ( = 0 )
153 c - is a 3D float ( = -1 ).
154 c - should be advected WITHOUT additional noise ( = -2 ).
155 c (This implies that the float is non-profiling)
156 c - is a mooring ( = -3 ), i.e. the float is not advected
157 c - itop time of float the surface (in s)
158 c - tend end date of integration of float (in s)
159 c Note: If tend=-1 floats are integrated till the end of
160 c the integration
161 c
162 c In addition the first line of the file contains a record with
163 c - the number of floats on that tile in the first record
164 c - the total number of floats in the sixth record
165 c Note: At first-time initialization in a global file both fields
166 c should be the same.
167 c
168 c An example how to write a float file (write_float.F) is included
169 c in the verification experiment (see below)
170 c
171 c
172 c Output/Visualization
173 c --------------------
174 c
175 c The output always consists of 3 series of local files:
176 c - files with last positions of floats that can be used for restart
177 c - files with trajectories of floats and actual values at depth
178 c - files with profiles throughout the whole water column
179 c
180 c Examples and conversion routines for the second and third series
181 c into NetCDF are included in verification/flt_example/aux/.
182 c
183 c
184 c Verification Experiment
185 c -----------------------
186 c
187 c The verification experiment is based on exp 4 (flow over a
188 c Gaussian in a channel). There are, however, two main differences
189 c to the original experiment:
190 c
191 c - The domain has closed boundaries. Currently the float package
192 c is not able to treat floats that leave the domain via open boundaries
193 c - There is an additional wind forcing to speed up the currents
194 c to get significant advection rates in time
195 c
196 c
197 c ToDo
198 c ----
199 c
200 c - testing of 3D-floats
201 c - allow floats to leave the domain via open boundaries
202 c
203 c
204 c History
205 c -------
206 c
207 c - first release: Arne Biastoch (abiastoch@ucsd.edu) 06-AUG-2001
208 c implemented and verified for checkpoint 40pre1
209 c - incorporated into c40p9 by adcroft@mit.edu on 11/13/01
210 c
211 c=========================================================================

  ViewVC Help
Powered by ViewVC 1.1.22