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

Annotation of /MITgcm/pkg/flt/README.flt

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


Revision 1.1 - (hide annotations) (download)
Thu Sep 13 17:43:55 2001 UTC (22 years, 9 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 adcroft 1.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