Difference between revisions of "floats.in"
From WikiROMS
Jump to navigationJump to searchLine 20: | Line 20: | ||
*This flag tells ROMS how to handle floats when restarting ROMS from a previous solution. For new solutions (not a model restart) use <span class="blue">FRREC</span>=0. In a re-start solution, <span class="blue">FRREC</span> is the time index in the floats NetCDF file assigned for initialization. If <span class="blue">FRREC</span> is negative (say <span class="blue">FRREC</span>=-1), the floats will re-start from the most recent time record. That is, the initialization record is assigned internally. | *This flag tells ROMS how to handle floats when restarting ROMS from a previous solution. For new solutions (not a model restart) use <span class="blue">FRREC</span>=0. In a re-start solution, <span class="blue">FRREC</span> is the time index in the floats NetCDF file assigned for initialization. If <span class="blue">FRREC</span> is negative (say <span class="blue">FRREC</span>=-1), the floats will re-start from the most recent time record. That is, the initialization record is assigned internally. | ||
:<div class="box"> [[Variables# | :<div class="box"> [[Variables#frrec|FRREC]] == 0</div> | ||
==Float Locations== | ==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 <span class="red">mod_floats</span> is dynamically allocated using these values. | *Number of floats to release in each nested grid. [1:[[Ngrids]]] values are expected. These values are essential because the [[FLOATS]] structure in <span class="red">mod_floats</span> is dynamically allocated using these values. | ||
:<div class="box"> [[Variables# | :<div class="box"> [[Variables#Nfloats|NFLOATS]] == 9</div> | ||
*Initial float locations for all grids. The horizontal location for a particular float or group of floats can be given in grid (<span class="blue">I</span>, <span class="blue">J</span>) units (<span class="blue">C</span>=0) or spherical (<span class="blue">longitude</span>,<span class="blue">latitude</span>) coordinates (<span class="blue">C</span>=1).<br><br>{{note}}'''Note:''' The total number of float trajectories to compute must add up to [[Variables# | *Initial float locations for all grids. The horizontal location for a particular float or group of floats can be given in grid (<span class="blue">I</span>, <span class="blue">J</span>) units (<span class="blue">C</span>=0) or spherical (<span class="blue">longitude</span>,<span class="blue">latitude</span>) coordinates (<span class="blue">C</span>=1).<br><br>{{note}}'''Note:''' The total number of float trajectories to compute must add up to [[Variables#Nfloats|NFLOATS]]. Meaning the sum of the <span class="blue">N</span> column must be equal to [[Variables#Nfloats|NFLOATS]], in this case '''9'''.<div class="box" style="margin-left:6px;">[[POS]] = G, C, T, N, Ft0, Fx0, Fy0, Fz0, Fdt, Fdx, Fdy, Fdz<br><br> 1 0 1 1 0.d0 5.d0 5.d0 -45.d0 0.d0 0.d0 0.d0 0.d0<br> 1 0 1 8 0.d0 10.d0 10.d0 -25.d0 0.25d0 0.d0 0.d0 0.d0</div>where | ||
:;<span class="blue">G</span> | :;<span class="blue">G</span> | ||
Line 32: | Line 32: | ||
:;<span class="blue">C</span> | :;<span class="blue">C</span> | ||
::Initial horizontal location ( | ::Initial horizontal location ([[Variables#Fx0|Fx0]] and [[Variables#Fy0|Fy0]]) coordinate type <nowiki>[</nowiki>[[Variables#Fcoor|Fcoor]]]. If [[Variables#Fcoor|Fcoor]] = 0 then we are using grid units so [[Variables#Fx0|Fx0]] must be between 1 and [[Variables#Lm|Lm(ng)]]+1 and [[Variables#Fy0|Fy0]] must be between 1 and [[Variables#Lm|Mm(ng)]]+1. If [[Variables#Fcoor|Fcoor]] = 0, then [[Variables#Fx0|Fx0]] is longitude (west values are negative) and [[Variables#Fx0|Fx0]] is latitude (south values are negative). | ||
:;<span class="blue">T</span> | :;<span class="blue">T</span> | ||
Line 38: | Line 38: | ||
:;<span class="blue">N</span> | :;<span class="blue">N</span> | ||
:: Number of floats <nowiki>[</nowiki>[[Variables#Fcount|Fcount]]] to be released at the ( | :: Number of floats <nowiki>[</nowiki>[[Variables#Fcount|Fcount]]] to be released at the ([[Variables#Fx0|Fx0]],[[Variables#Fy0|Fy0]],[[Variables#Fz0|Fz0]]) location. It must be equal or greater than one. If [[Variables#Fcount|Fcount]] is greater than one, a cluster distribution of floats centered at ([[Variables#Fx0|Fx0]],[[Variables#Fy0|Fy0]],[[Variables#Fz0|Fz0]]) is activated. As noted above, The total number of floats trajectories to compute must add up to [[Variables#Nfloats|NFLOATS]]. | ||
:; | :;'''[[Variables#Ft0|Ft0]]''' | ||
::Time, in days, of float release after model initialization. This value must be of type real (''i.e.'' 0.d0). | ::Time, in days, of float release after model initialization. This value must be of type real (''i.e.'' 0.d0). | ||
:; | :;'''[[Variables#Fx0|Fx0]]''' | ||
::Initial float(s) x-location in grid units or longitude depending on the value of [[Variables#Fcoor|Fcoor]] (<span class="blue">C</span>). This value must be of type real (''i.e.'' 5.d0). | ::Initial float(s) x-location in grid units or longitude depending on the value of [[Variables#Fcoor|Fcoor]] (<span class="blue">C</span>). This value must be of type real (''i.e.'' 5.d0). | ||
:; | :;'''[[Variables#Fy0|Fy0]]''' | ||
::Initial float(s) y-location in grid units or longitude depending on the value of [[Variables#Fcoor|Fcoor]] (<span class="blue">C</span>). This value must be of type real (''i.e.'' 5.d0). | ::Initial float(s) y-location in grid units or longitude depending on the value of [[Variables#Fcoor|Fcoor]] (<span class="blue">C</span>). This value must be of type real (''i.e.'' 5.d0). | ||
:; | :;'''[[Variables#Fz0|Fz0]]''' | ||
::Initial float(s) z-location in vertical levels or depth. If <span class="blue">Fz0</span> is less than or equal to zero then <span class="blue">Fz0</span> is the initial depth in meters. If <span class="blue">Fz0</span> is greater than 0 and less than [[Variables#N|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). | ::Initial float(s) z-location in vertical levels or depth. If <span class="blue">Fz0</span> is less than or equal to zero then <span class="blue">Fz0</span> is the initial depth in meters. If <span class="blue">Fz0</span> is greater than 0 and less than [[Variables#N|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}}'''Warning:''' If the depth in meters at particular horizontal is not bounded, the floats are released at the surface. | ::{{warning}}'''Warning:''' If the depth in meters at particular horizontal is not bounded, the floats are released at the surface. | ||
:; | :;'''[[Variables#Fdt|Fdt]]''' | ||
::Float cluster release time interval in days. This is only used if [[Variables#Fcount|Fcount]] (<span class="blue">N</span>) is greater than '''1'''. If <span class="blue">Fdt</span> gt; '''0''' a cluster of floats will be deployed from ( | ::Float cluster release time interval in days. This is only used if [[Variables#Fcount|Fcount]] (<span class="blue">N</span>) is greater than '''1'''. If <span class="blue">Fdt</span> gt; '''0''' a cluster of floats will be deployed from ([[Variables#Fx0|Fx0]],[[Variables#Fy0|Fy0]],[[Variables#Fz0|Fz0]]) at Fdt intervals until [[Variables#Fcount|Fcount]] floats are released. If <span class="blue">Fdt</span> = '''0''' [[Variables#Fcount|Fcount]] floats will be deployed simultaneously with a distribution centered at ([[Variables#Fx0|Fx0]],[[Variables#Fy0|Fy0]],[[Variables#Fz0|Fz0]]) and defined by ([[Variables#Fdx|Fdx]],[[Variables#Fdy|Fdy]],[[Variables#Fdz|Fdz]]). This value must be of type real (''i.e.'' 5.d0). | ||
:; | :;'''[[Variables#Fdx|Fdx]]''' | ||
::Cluster x-distribution parameter. This is only used if [[Variables#Fcount|Fcount]] (<span class="blue">N</span>) is greater than '''1''' and | ::Cluster x-distribution parameter. This is only used if [[Variables#Fcount|Fcount]] (<span class="blue">N</span>) is greater than '''1''' and [[Variables#Fdt|Fdt]] = 0. This value must be of type real (''i.e.'' 5.d0). | ||
:; | :;'''[[Variables#Fdy|Fdy]]''' | ||
::Cluster y-distribution parameter. This is only used if [[Variables#Fcount|Fcount]] (<span class="blue">N</span>) is greater than '''1''' and | ::Cluster y-distribution parameter. This is only used if [[Variables#Fcount|Fcount]] (<span class="blue">N</span>) is greater than '''1''' and [[Variables#Fdt|Fdt]] = 0. This value must be of type real (''i.e.'' 5.d0). | ||
:; | :;'''[[Variables#Fdz|Fdz]]''' | ||
::Cluster z-distribution parameter. This is only used if [[Variables#Fcount|Fcount]] (<span class="blue">N</span>) is greater than '''1''' and | ::Cluster z-distribution parameter. This is only used if [[Variables#Fcount|Fcount]] (<span class="blue">N</span>) is greater than '''1''' and [[Variables#Fdt|Fdt]] = 0. This value must be of type real (''i.e.'' 5.d0). | ||
:{{note}}'''Note:''' The parameters ( | :{{note}}'''Note:''' The parameters ([[Variables#Fdx|Fdx]],[[Variables#Fdy|Fdy]],[[Variables#Fdz|Fdz]]) can be used to specify any type of cluster distribution, for instance: | ||
:::<div class="box">Lines of floats:<br><br> Fdx > 0, Fdy = 0, Fdz = 0<br> Fdx = 0, Fdy > 0, Fdz = 0<br> Fdx = 0, Fdy = 0, Fdz > 0</div> | :::<div class="box">Lines of floats:<br><br> [[Variables#Fdx|Fdx]] > 0, [[Variables#Fdy|Fdy]] = 0, [[Variables#Fdz|Fdz]] = 0<br> [[Variables#Fdx|Fdx]] = 0, [[Variables#Fdy|Fdy]] > 0, [[Variables#Fdz|Fdz]] = 0<br> [[Variables#Fdx|Fdx]] = 0, [[Variables#Fdy|Fdy]] = 0, [[Variables#Fdz|Fdz]] > 0</div> | ||
::The '''user''' can use any of these parameters to design any cluster distribution in routine <span class="red">init_floats.F</span>. | ::The '''user''' can use any of these parameters to design any cluster distribution in routine <span class="red">init_floats.F</span>. |
Revision as of 15:09, 16 April 2008
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 ocean.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.
Introduction
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 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 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
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 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, Fdzwhere
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
- 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).
- 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).
- 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).