# floats.in

Standard Input Script - floats.in

The floats.in file provides the initial locations of the float trajectories to compute. The name of this file is set by the FPOSNAM keyword in the roms.in file. This standard input ASCII file is organized in several sections as shown below, with links to more detailed explanation where required.

Notice: Detailed information about ROMS input script file syntax can be found here.

Notice: A default floats.in input script is provided in the User/External subdirectory. Also there are several floats input scripts in the ROMS/External subdirectory which are used in the distributed test cases. They are usually named floats_app.in where app is the lowercase of the test case CPP option.

## Floats Output Model Control Switches

• This switch controls the computation of floats trajectories within nested and/or multiple connected grids. [1:Ngrids] values are expected. By default this switch is set to TRUE in mod_scalars.F for all grids when the CPP option FLOATS is activated. The user can control which grid to process by turning on/off this switch.
Lfloats == T
• This switch controls the printing of floats positions to standard output file. This switch can be used to turn off the printing of information when thousands of floats are released. This information is still in the output floats NetCDF file. [1:Ngrids] values are expected.
Fprint == T
• This flag tells ROMS how to handle floats when restarting ROMS from a previous solution. For new solutions (not a model restart) use FRREC=0. In a re-start solution, FRREC is the time index in the floats NetCDF file assigned for initialization. If FRREC is negative (say FRREC=-1), the floats will re-start from the most recent time record. That is, the initialization record is assigned internally.
FRREC == 0

## Biological Behavior

• If applicable, input script file name containing biological floats behavior model parameters.

## Float Locations

• Number of floats to release in each nested grid. [1:Ngrids] values are expected. These values are essential because the FLOATS structure in mod_floats.F is dynamically allocated using these values.
NFLOATS == 9
• Initial float locations for all grids. The horizontal location for a particular float or group of floats can be given in grid (I, J) units (C = 0) or spherical (longitude,latitude) coordinates (C = 1).

Note: The total number of float trajectories to compute must add up to NFLOATS. Meaning the sum of the N column must be equal to NFLOATS, in this case 9.
POS = G, C, T, N, Ft0, Fx0, Fy0, Fz0, Fdt, Fdx, Fdy, Fdz

1 0 1 1 0.d0 5.d0 5.d0 -45.d0 0.d0 0.d0 0.d0 0.d0
1 0 1 8 0.d0 10.d0 10.d0 -25.d0 0.25d0 0.d0 0.d0 0.d0
where
G
Nested grid number [ng]. This must be 1 in non-nested applications.
C
Initial horizontal location (Fx0 and Fy0) coordinate type [Fcoor]. If Fcoor = 0 then we are using grid units so Fx0 must be between 1 and Lm(ng)+1 and Fy0 must be between 1 and Mm(ng)+1. If Fcoor = 0, then Fx0 is longitude (west values are negative) and Fx0 is latitude (south values are negative).
T
Float trajectory type [Ftype]. If Ftype = 1, float(s) will be 3D Lagrangrian particles. If Ftype = 2, float(s) will be isobaric particles (). If Ftype = 3, float(s) will be geopotential (constant depth) particles.
N
Number of floats [Fcount] to be released at the (Fx0,Fy0,Fz0) location. It must be equal or greater than one. If Fcount is greater than one, a cluster distribution of floats centered at (Fx0,Fy0,Fz0) is activated. As noted above, The total number of floats trajectories to compute must add up to NFLOATS.
Ft0
Time, in days, of float release after model initialization. This value must be of type real (i.e. 0.d0).
Fx0
Initial float(s) x-location in grid units or longitude depending on the value of Fcoor (C). This value must be of type real (i.e. 5.d0).
Fy0
Initial float(s) y-location in grid units or longitude depending on the value of Fcoor (C). This value must be of type real (i.e. 5.d0).
Fz0
Initial float(s) z-location in vertical levels or depth. If Fz0 is less than or equal to zero then Fz0 is the initial depth in meters. If Fz0 is greater than 0 and less than N(ng) the initial position is relative to the W grid (0 is the bottom and N is the surface). This value must be of type real (i.e. -45.d0).
Warning: If the depth in meters at particular horizontal is not bounded, the floats are released at the surface.
Fdt
Float cluster release time interval in days. This is only used if Fcount (N) is greater than 1. If Fdt gt; 0 a cluster of floats will be deployed from (Fx0,Fy0,Fz0) at Fdt intervals until Fcount floats are released. If Fdt = 0 Fcount floats will be deployed simultaneously with a distribution centered at (Fx0,Fy0,Fz0) and defined by (Fdx,Fdy,Fdz). This value must be of type real (i.e. 5.d0).
Fdx
Cluster x-distribution parameter. This is only used if Fcount (N) is greater than 1 and Fdt = 0. This value must be of type real (i.e. 5.d0).
Fdy
Cluster y-distribution parameter. This is only used if Fcount (N) is greater than 1 and Fdt = 0. This value must be of type real (i.e. 5.d0).
Fdz
Cluster z-distribution parameter. This is only used if Fcount (N) is greater than 1 and Fdt = 0. This value must be of type real (i.e. 5.d0).
Note: The parameters (Fdx,Fdy,Fdz) can be used to specify any type of cluster distribution, for instance:
Lines of floats:

Fdx > 0, Fdy = 0, Fdz = 0
Fdx = 0, Fdy > 0, Fdz = 0
Fdx = 0, Fdy = 0, Fdz > 0
The user can use any of these parameters to design any cluster distribution in routine init_floats.F.