particles_types_mod module reference

Dummy data structures and methods for drifters package.

More…

Data Types

particles_gridded

Container for gridded fields.

xyt

xyt is a data structure containing particle position and velocity fields.

particle

particle types are data structures describing a tracked particle

buffer

A buffer structure for message passing.

linked_list

A wrapper for the particle linked list (since an array of pointers is not allowed)

particles

A grand data structure for the particles in the local MOM domain.

Detailed Description

Dummy data structures and methods for drifters package.

Type Documentation

type  particles_types_mod/particles_gridded

Container for gridded fields.

Type fields:
  • % id_uo :: integer Diagnostic handle.

  • % id_vo :: integer Diagnostic handle.

  • % id_unused :: integer Diagnostic handle.

  • % id_count :: integer Diagnostic handle.

  • % id_chksum :: integer Diagnostic handle.

  • % domain :: type(domain2d), pointer MPP parallel domain.

  • % halo :: integer Nominal halo width.

  • % isc :: integer Start i-index of computational domain.

  • % iec :: integer End i-index of computational domain.

  • % jsc :: integer Start j-index of computational domain.

  • % jec :: integer End j-index of computational domain.

  • % isd :: integer Start i-index of data domain.

  • % ied :: integer End i-index of data domain.

  • % jsd :: integer Start j-index of data domain.

  • % jed :: integer End j-index of data domain.

  • % isg :: integer Start i-index of global domain.

  • % ieg :: integer End i-index of global domain.

  • % jsg :: integer Start j-index of global domain.

  • % jeg :: integer End j-index of global domain.

  • % is_offset :: integer add to i to recover global i-index

  • % js_offset :: integer add to j to recover global j-index

  • % my_pe :: integer MPI PE index.

  • % pe_n :: integer MPI PE index of PE to the north.

  • % pe_s :: integer MPI PE index of PE to the south.

  • % pe_e :: integer MPI PE index of PE to the east.

  • % pe_w :: integer MPI PE index of PE to the west.

  • % grid_is_latlon :: logical Flag to say whether the coordinate is in lat-lon degrees, or meters.

  • % grid_is_regular :: logical Flag to say whether point in cell can be found assuming regular Cartesian grid.

  • % lx :: real Length of the domain in x direction.

  • % lon :: real, dimension(:,:), allocatable Longitude of cell corners (degree E)

  • % lat :: real, dimension(:,:), allocatable Latitude of cell corners (degree N)

  • % lonc :: real, dimension(:,:), allocatable Longitude of cell centers (degree E)

  • % latc :: real, dimension(:,:), allocatable Latitude of cell centers (degree N)

  • % dx :: real, dimension(:,:), allocatable Length of cell edge (m)

  • % dy :: real, dimension(:,:), allocatable Length of cell edge (m)

  • % area :: real, dimension(:,:), allocatable Area of cell (m^2)

  • % msk :: real, dimension(:,:), allocatable Ocean-land mask (1=ocean)

  • % cos :: real, dimension(:,:), allocatable Cosine from rotation matrix to lat-lon coords.

  • % sin :: real, dimension(:,:), allocatable Sine from rotation matrix to lat-lon coords.

  • % ocean_depth :: real, dimension(:,:), allocatable Depth of ocean (m)

  • % uo :: real, dimension(:,:), allocatable Ocean zonal flow (m/s)

  • % vo :: real, dimension(:,:), allocatable Ocean meridional flow (m/s)

  • % tmp :: real, dimension(:,:), allocatable Temporary work space.

  • % tmpc :: real, dimension(:,:), allocatable Temporary work space.

  • % parity_x :: real, dimension(:,:), allocatable X component of vector point from i,j to i+1,j+1.

  • % parity_y :: real, dimension(:,:), allocatable Y component of vector point from i,j to i+1,j+1.

  • % particle_counter_grd :: integer, dimension(:,:), allocatable Counts particles created for naming purposes.

[source]

type  particles_types_mod/xyt

xyt is a data structure containing particle position and velocity fields.

Type fields:
  • % lon :: real Longitude of particle (degree N or unit of grid coordinate)

  • % lat :: real Latitude of particle (degree N or unit of grid coordinate)

  • % day :: real Day of this record (days)

  • % lat_old :: real Previous latitude.

  • % lon_old :: real Previous longitude.

  • % uvel :: real Zonal velocity of particle (m/s)

  • % vvel :: real Meridional velocity of particle (m/s)

  • % uvel_old :: real Previous zonal velocity component (m/s)

  • % vvel_old :: real Previous meridional velocity component (m/s)

  • % year :: integer Year of this record.

  • % particle_num :: integer Current particle number.

  • % id :: integer(kind=int64) Particle Identifier.

  • % next :: type(xyt), pointer Pointer to the next position in the list.

[source]

type  particles_types_mod/particle

particle types are data structures describing a tracked particle

Type fields:
  • % prev :: type(particle), pointer Previous link in list.

  • % next :: type(particle), pointer Next link in list.

  • % lon :: real Longitude of particle (degree N or unit of grid coordinate)

  • % lat :: real Latitude of particle (degree E or unit of grid coordinate)

  • % depth :: real Depth of particle.

  • % uvel :: real Zonal velocity of particle (m/s)

  • % vvel :: real Meridional velocity of particle (m/s)

  • % lon_old :: real previous lon (degrees)

  • % lat_old :: real previous lat (degrees)

  • % uvel_old :: real previous uvel

  • % vvel_old :: real previous vvel

  • % start_lon :: real starting longitude where particle was created

  • % start_lat :: real starting latitude where particle was created

  • % start_day :: real origination position (degrees) and day

  • % start_year :: integer origination year

  • % halo_part :: real equal to zero for particles on the computational domain, and 1 for particles on the halo

  • % id :: integer(kind=int64) particle identifier

  • % drifter_num :: integer(kind=int64) particle identifier

  • % ine :: integer nearest i-index in NE direction (for convenience)

  • % jne :: integer nearest j-index in NE direction (for convenience)

  • % xi :: real non-dimensional x-coordinate within current cell (0..1)

  • % yj :: real non-dimensional y-coordinate within current cell (0..1)

  • % uo :: real zonal ocean velocity

  • % vo :: real meridional ocean velocity by the particle (m/s)

  • % trajectory :: type(xyt), pointer Trajectory for this particle.

[source]

type  particles_types_mod/buffer

A buffer structure for message passing.

Type fields:
  • % size :: integer Size of buffer.

  • % data :: real, dimension(:,:), pointer Buffer memory.

[source]

type  particles_types_mod/linked_list

A wrapper for the particle linked list (since an array of pointers is not allowed)

Type fields:
  • % first :: type(particle), pointer Pointer to the beginning of a linked list of parts.

[source]

type  particles_types_mod/particles

A grand data structure for the particles in the local MOM domain.

Type fields:
  • % clock :: integer Handles for clocks.

  • % clock_mom :: integer Handles for clocks.

  • % clock_the :: integer Handles for clocks.

  • % clock_int :: integer Handles for clocks.

  • % clock_cal :: integer Handles for clocks.

  • % clock_com :: integer Handles for clocks.

  • % clock_ini :: integer Handles for clocks.

  • % clock_ior :: integer Handles for clocks.

  • % clock_iow :: integer Handles for clocks.

  • % clock_dia :: integer Handles for clocks.

  • % clock_trw :: integer Handles for clocks.

  • % clock_trp :: integer Handles for clocks.

  • % grd :: type(particles_gridded) Container with all gridded data.

  • % list :: type(linked_list), dimension(:,:), allocatable Linked list of particles.

  • % trajectories :: type(xyt), pointer A linked list for detached segments of trajectories.

  • % dt :: real Time-step between particle calls.

  • % current_year :: integer Current year (years)

  • % current_yearday :: real Current year-day, 1.00-365.99, (days)

  • % traj_sample_hrs :: integer Period between sampling for trajectories (hours)

  • % traj_write_hrs :: integer Period between writing of trajectories (hours)

  • % verbose_hrs :: integer Period between terminal status reports (hours)

  • % restarted :: logical Indicate whether we read state from a restart or not.

  • % runge_not_verlet :: logical True=Runge-Kutta, False=Verlet.

  • % ignore_missing_restart_parts :: logical True allows the model to ignore particles missing in the restart.

  • % halo_debugging :: logical Use for debugging halos (remove when its working)

  • % save_short_traj :: logical True saves only lon,lat,time,id in particle_trajectory.nc.

  • % ignore_traj :: logical If true, then model does not write trajectory data at all.

  • % use_new_predictive_corrective :: logical Flag to use Bob’s predictive corrective particle scheme.

  • % debug_particle_with_id :: integer(kind=int64) If positive, monitors a part with this id.

  • % obuffer_n :: type(buffer), pointer Buffer for outgoing parts to the north.

  • % ibuffer_n :: type(buffer), pointer Buffer for incoming parts from the north.

  • % obuffer_s :: type(buffer), pointer Buffer for outgoing parts to the south.

  • % ibuffer_s :: type(buffer), pointer Buffer for incoming parts from the south.

  • % obuffer_e :: type(buffer), pointer Buffer for outgoing parts to the east.

  • % ibuffer_e :: type(buffer), pointer Buffer for incoming parts from the east.

  • % obuffer_w :: type(buffer), pointer Buffer for outgoing parts to the west.

  • % ibuffer_w :: type(buffer), pointer Buffer for incoming parts from the west.

  • % obuffer_io :: type(buffer), pointer Buffer for outgoing parts during i/o.

  • % ibuffer_io :: type(buffer), pointer Buffer for incoming parts during i/o.

[source]

[source]