Base type definitions. This allows the collision and encounter modules to be defined before the swiftest module. This derived datatype stores the NetCDF ID values for each of the variables included in the NetCDF data file. This is used as the base class defined in base
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | status |
The status code returned by a NetCDF function |
||
| character(len=*), | intent(in), | optional | :: | call_identifier |
String that indicates which calling function caused the error for diagnostic purposes |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(netcdf_parameters), | intent(inout) | :: | self |
Parameters used to identify a particular NetCDF dataset |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(netcdf_parameters), | intent(inout) | :: | self |
Parameters used to identify a particular NetCDF dataset |
||
| integer(kind=I4B), | intent(in) | :: | id |
The value of id to search for |
||
| integer(kind=I4B), | intent(out) | :: | idslot |
The index of the id slot where this data belongs |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(netcdf_parameters), | intent(inout) | :: | self |
Parameters used to identify a particular NetCDF dataset |
||
| real(kind=DP), | intent(in) | :: | t |
The value of time to search for |
||
| integer(kind=I4B), | intent(out) | :: | tslot |
The index of the time slot where this data belongs |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(netcdf_parameters), | intent(inout) | :: | self |
Parameters used to identify a particular NetCDF dataset |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(netcdf_parameters), | intent(inout) | :: | self |
Parameters used to identify a particular NetCDF dataset |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=I4B), | public | :: | BE_varid |
ID for the system binding energy variable |
|||
| integer(kind=I4B), | public | :: | E_collisions_varid |
ID for the energy lost in collisions variable |
|||
| character(len=NAMELEN), | public | :: | E_collisions_varname | = | "E_collisions" |
name of the escaped angular momentum y variable |
|
| integer(kind=I4B), | public | :: | E_untracked_varid |
ID for the energy that is untracked due to loss (due to mergers and body energy for escaped bodies) |
|||
| character(len=NAMELEN), | public | :: | E_untracked_varname | = | "E_untracked" |
name of the energy that is untracked due to loss (due to mergers and body energy for escaped bodies) |
|
| integer(kind=I4B), | public | :: | GMescape_varid |
ID for the G*Mass of bodies that escape the system |
|||
| character(len=NAMELEN), | public | :: | GMescape_varname | = | "GMescape" |
name of the G*Mass of bodies that escape the system |
|
| integer(kind=I4B), | public | :: | Gmass_varid |
ID for the G*mass variable |
|||
| character(len=NAMELEN), | public | :: | Gmass_varname | = | "Gmass" |
name of the G*mass variable |
|
| integer(kind=I4B), | public | :: | Ip_varid |
ID for the axis principal moment of inertia variable |
|||
| character(len=NAMELEN), | public | :: | Ip_varname | = | "Ip" |
name of the principal moment of inertial variable |
|
| integer(kind=I4B), | public | :: | KE_orb_varid |
ID for the system orbital kinetic energy variable |
|||
| integer(kind=I4B), | public | :: | KE_rot_varid |
ID for the system rotational kinetic energy variable |
|||
| integer(kind=I4B), | public | :: | L_escape_varid |
ID for the escaped angular momentum vector variable |
|||
| character(len=NAMELEN), | public | :: | L_escape_varname | = | "L_escape" |
name of the escaped angular momentum vector variable |
|
| integer(kind=I4B), | public | :: | L_orbit_varid |
ID for the system orbital angular momentum vector variable |
|||
| character(len=NAMELEN), | public | :: | L_orbit_varname | = | "L_orbit" |
name of the orbital angular momentum vector variable |
|
| integer(kind=I4B), | public | :: | L_rot_varid |
ID for the system rotational angular momentum vector variable |
|||
| character(len=NAMELEN), | public | :: | L_rot_varname | = | "L_rot" |
name of the rotational angular momentum vector variable |
|
| integer(kind=I4B), | public | :: | PE_varid |
ID for the system potential energy variable |
|||
| integer(kind=I4B), | public | :: | Q_varid |
ID for the energy dissipation variable |
|||
| integer(kind=I4B), | public | :: | TE_varid |
ID for the system binding energy variable |
|||
| integer(kind=I4B), | public | :: | a_varid |
ID for the semimajor axis variable |
|||
| character(len=NAMELEN), | public | :: | a_varname | = | "a" |
name of the semimajor axis variable |
|
| character(len=NAMELEN), | public | :: | be_varname | = | "BE" |
name of the system binding energy variable |
|
| integer(kind=I4B), | public | :: | c_lm_varid |
ID for the c_lm aqrray |
|||
| character(len=NAMELEN), | public | :: | c_lm_varname | = | "c_lm" |
name for the c_lm array |
|
| integer(kind=I4B), | public | :: | cape_varid |
ID for the eccentric/hyperbolic anomaly variable |
|||
| character(len=NAMELEN), | public | :: | cape_varname | = | "cape" |
name of the eccentric/hyperbolic anomaly variable |
|
| integer(kind=I4B), | public | :: | capm_varid |
ID for the mean anomaly variable |
|||
| character(len=NAMELEN), | public | :: | capm_varname | = | "capm" |
name of the mean anomaly variable |
|
| integer(kind=I4B), | public | :: | capom_varid |
ID for the long. asc. node variable |
|||
| character(len=NAMELEN), | public | :: | capom_varname | = | "capom" |
name of the long. asc. node variable |
|
| character(len=NAMELEN), | public | :: | collision_id_dimname | = | "collision_id" |
name of the collision id variable |
|
| integer(kind=I4B), | public | :: | collision_id_varid |
Netcdf ID for the origin collision ID |
|||
| integer(kind=I4B), | public | :: | discard_body_id_varid |
ID for the id of the other body involved in the discard |
|||
| character(len=NAMELEN), | public | :: | discard_body_id_varname | = | "discard_body_id" |
name of the id of the other body involved in the discard |
|
| integer(kind=I4B), | public | :: | discard_rh_varid |
ID for the heliocentric position vector of the body at the time of discard variable |
|||
| character(len=NAMELEN), | public | :: | discard_rh_varname | = | "discard_rh" |
name of the heliocentric position vector of the body at the time of discard variable |
|
| integer(kind=I4B), | public | :: | discard_time_varid |
ID for the time of discard variable |
|||
| character(len=NAMELEN), | public | :: | discard_time_varname | = | "discard_time" |
name of the time of discard variable |
|
| integer(kind=I4B), | public | :: | discard_vh_varid |
ID for the heliocentric velocity vector of the body at the time of discard variable |
|||
| character(len=NAMELEN), | public | :: | discard_vh_varname | = | "discard_vh" |
name of the heliocentric velocity vector of the body at the time of discard variable |
|
| integer(kind=I4B), | public | :: | e_varid |
ID for the eccentricity variable |
|||
| character(len=NAMELEN), | public | :: | e_varname | = | "e" |
name of the eccentricity variable |
|
| integer(kind=I4B), | public | :: | f_varid |
ID for the true anomaly variable |
|||
| character(len=NAMELEN), | public | :: | f_varname | = | "f" |
name of the true anomaly variable |
|
| character(len=STRMAX), | public | :: | file_name |
Name of the output file |
|||
| integer(kind=I4B), | public | :: | gr_pseudo_vh_varid |
ID for the heliocentric pseudovelocity vector variable (used in GR) |
|||
| character(len=NAMELEN), | public | :: | gr_pseudo_vh_varname | = | "gr_pseudo_vh" |
name of the heliocentric pseudovelocity vector variable (GR) |
|
| integer(kind=I4B), | public | :: | id |
ID for the output file |
|||
| integer(kind=I4B), | public | :: | id_varid |
ID for the id variable |
|||
| character(len=NAMELEN), | public | :: | id_varname | = | "id" |
name of the particle id variable |
|
| integer(kind=I4B), | public | :: | idslot | = | 1 |
The current id slot that gets passed to the NetCDF reader/writer |
|
| integer(kind=I4B), | public, | dimension(:), allocatable | :: | idvals |
Array of id values in this NetCDF file |
||
| integer(kind=I4B), | public | :: | inc_varid |
ID for the inclination variable |
|||
| character(len=NAMELEN), | public | :: | inc_varname | = | "inc" |
name of the inclination variable |
|
| integer(kind=I4B), | public | :: | j2rp2_varid |
ID for the j2 variable |
|||
| character(len=NAMELEN), | public | :: | j2rp2_varname | = | "j2rp2" |
name of the j2rp2 variable |
|
| integer(kind=I4B), | public | :: | j4rp4_varid |
ID for the j4 variable |
|||
| character(len=NAMELEN), | public | :: | j4rp4_varname | = | "j4rp4" |
name of the j4pr4 variable |
|
| integer(kind=I4B), | public | :: | k2_varid |
ID for the Love number variable |
|||
| character(len=NAMELEN), | public | :: | k2_varname | = | "k2" |
name of the Love number variable |
|
| character(len=NAMELEN), | public | :: | ke_orbit_varname | = | "KE_orbit" |
name of the system orbital kinetic energy variable |
|
| character(len=NAMELEN), | public | :: | ke_rot_varname | = | "KE_rot" |
name of the system rotational kinetic energy variable |
|
| integer(kind=I4B), | public | :: | l_dim_max | = | 6 |
Maximum value of the l dimension |
|
| integer(kind=I4B), | public | :: | l_dimid |
ID for the l dimension for c_lm |
|||
| character(len=NAMELEN), | public | :: | l_dimname | = | "l" |
name of l dimension for c_lm |
|
| integer(kind=I4B), | public | :: | l_varid |
ID for the l variable |
|||
| integer(kind=I4B), | public | :: | lam_varid |
ID for the mean longitude variable |
|||
| character(len=NAMELEN), | public | :: | lam_varname | = | "lam" |
name of the mean longitude variable |
|
| logical, | public | :: | lc_lm_exists | = | .false. |
Logical flag to indicate whether or not the c_lm array was present in an old file. |
|
| logical, | public | :: | lfile_is_open | = | .false. |
Flag indicating that the linked file is currently open |
|
| logical, | public | :: | lpseudo_vel_exists | = | .false. |
Logical flag to indicate whether or not the pseudovelocity vectors were present in an old file. |
|
| integer(kind=I4B), | public | :: | m_dim_max | = | 6 |
Maximum value of the m dimension |
|
| integer(kind=I4B), | public | :: | m_dimid |
ID for the m dimension for c_lm |
|||
| character(len=NAMELEN), | public | :: | m_dimname | = | "m" |
name of m dimension for c_lm |
|
| integer(kind=I4B), | public | :: | m_varid |
ID for the m variable |
|||
| integer(kind=I4B), | public | :: | mass_varid |
ID for the mass variable |
|||
| character(len=NAMELEN), | public | :: | mass_varname | = | "mass" |
name of the mass variable |
|
| integer(kind=I4B), | public | :: | max_idslot | = | 0 |
Records the last index value of id in the NetCDF file |
|
| integer(kind=I4B), | public | :: | max_tslot | = | 0 |
Records the last index value of time in the NetCDF file |
|
| integer(kind=I4B), | public | :: | name_dimid |
ID for the particle name dimension |
|||
| character(len=NAMELEN), | public | :: | name_dimname | = | "name" |
name of the particle name dimension |
|
| integer(kind=I4B), | public | :: | name_varid |
ID for the particle name variable |
|||
| integer(kind=I4B), | public | :: | npl_varid |
ID for the number of active massive bodies variable |
|||
| character(len=NAMELEN), | public | :: | npl_varname | = | "npl" |
name of the number of active massive bodies variable |
|
| integer(kind=I4B), | public | :: | nplm_varid |
ID for the number of active fully interacting massive bodies variable (SyMBA) |
|||
| character(len=NAMELEN), | public | :: | nplm_varname | = | "nplm" |
name of the number of active fully interacting massive bodies variable (SyMBA) |
|
| integer(kind=I4B), | public | :: | ntp_varid |
ID for the number of active test particles variable |
|||
| character(len=NAMELEN), | public | :: | ntp_varname | = | "ntp" |
name of the number of active test particles variable |
|
| integer(kind=I4B), | public | :: | omega_varid |
ID for the arg. of periapsis variable |
|||
| character(len=NAMELEN), | public | :: | omega_varname | = | "omega" |
name of the arg. of periapsis variable |
|
| integer(kind=I4B), | public | :: | origin_rh_varid |
ID for the origin position vector variable |
|||
| character(len=NAMELEN), | public | :: | origin_rh_varname | = | "origin_rh" |
name of the heliocentric position vector of the body at the time of origin variable |
|
| integer(kind=I4B), | public | :: | origin_time_varid |
ID for the origin time |
|||
| character(len=NAMELEN), | public | :: | origin_time_varname | = | "origin_time" |
name of the time of origin variable |
|
| integer(kind=I4B), | public | :: | origin_type_varid |
ID for the origin type |
|||
| character(len=NAMELEN), | public | :: | origin_type_varname | = | "origin_type" |
name of the origin type variable |
|
| integer(kind=I4B), | public | :: | origin_vh_varid |
ID for the origin velocity vector component |
|||
| character(len=NAMELEN), | public | :: | origin_vh_varname | = | "origin_vh" |
name of the heliocentric velocity vector of the body at the time of origin variable |
|
| integer(kind=I4B), | public | :: | out_type |
output type (will be assigned either NF90_DOUBLE or NF90_FLOAT, depending on the user parameter) |
|||
| character(len=NAMELEN), | public | :: | pe_varname | = | "PE" |
name of the system potential energy variable |
|
| integer(kind=I4B), | public | :: | ptype_varid |
ID for the particle type variable |
|||
| character(len=NAMELEN), | public | :: | ptype_varname | = | "particle_type" |
name of the particle type variable |
|
| character(len=NAMELEN), | public | :: | q_varname | = | "Q" |
name of the energy dissipation variable |
|
| integer(kind=I4B), | public | :: | radius_varid |
ID for the radius variable |
|||
| character(len=NAMELEN), | public | :: | radius_varname | = | "radius" |
name of the radius variable |
|
| integer(kind=I4B), | public | :: | rh_varid |
ID for the heliocentric position vector variable |
|||
| character(len=NAMELEN), | public | :: | rh_varname | = | "rh" |
name of the heliocentric position vector variable |
|
| integer(kind=I4B), | public | :: | rhill_varid |
ID for the hill radius variable |
|||
| character(len=NAMELEN), | public | :: | rhill_varname | = | "rhill" |
name of the hill radius variable |
|
| integer(kind=I4B), | public | :: | rot_varid |
ID for the rotation vector variable |
|||
| character(len=NAMELEN), | public | :: | rot_varname | = | "rot" |
name of the rotation vector variable |
|
| integer(kind=I4B), | public | :: | rotphase_varid |
ID for the rotation phase variable |
|||
| character(len=NAMELEN), | public | :: | rotphase_varname | = | "rotphase" |
name of the rotation phase variable |
|
| integer(kind=I4B), | public, | dimension(2) | :: | sign_coords | = | [-1, 1] |
The sign dimension coordinate labels |
| integer(kind=I4B), | public | :: | sign_dimid |
ID for sign dimension |
|||
| character(len=NAMELEN), | public | :: | sign_dimname | = | "sign" |
name of the sign dimension for c_lm |
|
| integer(kind=I4B), | public | :: | sign_varid |
ID for sign variable |
|||
| character(len=1), | public, | dimension(3) | :: | space_coords | = | ["x", "y", "z"] |
The space dimension coordinate labels |
| integer(kind=I4B), | public | :: | space_dimid |
ID for the space dimension |
|||
| character(len=NAMELEN), | public | :: | space_dimname | = | "space" |
name of the space dimension |
|
| integer(kind=I4B), | public | :: | space_varid |
ID for the space variable |
|||
| integer(kind=I4B), | public | :: | status_varid |
ID for the status variable |
|||
| character(len=NAMELEN), | public | :: | status_varname | = | "status" |
name of the particle status variable |
|
| integer(kind=I4B), | public | :: | str_dimid |
ID for the character string dimension |
|||
| character(len=NAMELEN), | public | :: | str_dimname | = | "string32" |
name of the character string dimension |
|
| character(len=NAMELEN), | public | :: | te_varname | = | "TE" |
name of the system binding energy variable |
|
| integer(kind=I4B), | public | :: | time_dimid |
ID for the time dimension |
|||
| character(len=NAMELEN), | public | :: | time_dimname | = | "time" |
name of the time dimension |
|
| integer(kind=I4B), | public | :: | time_varid |
ID for the time variable |
|||
| integer(kind=I4B), | public | :: | tslot | = | 1 |
The current time slot that gets passed to the NetCDF reader/writer |
|
| integer(kind=I4B), | public | :: | varpi_varid |
ID for the long. of periapsis variable |
|||
| character(len=NAMELEN), | public | :: | varpi_varname | = | "varpi" |
name of the long. of periapsis variable |
|
| integer(kind=I4B), | public | :: | vh_varid |
ID for the heliocentric velocity vector variable |
|||
| character(len=NAMELEN), | public | :: | vh_varname | = | "vh" |
name of the heliocentric velocity vector variable |
| procedure, public :: close => netcdf_io_close | Closes an open NetCDF file |
| procedure, public :: find_idslot => netcdf_io_find_idslot | Finds the id dimension index for a given value of id |
| procedure, public :: find_tslot => netcdf_io_find_tslot | Finds the time dimension index for a given value of t |
| procedure, public :: get_idvals => netcdf_io_get_idvals | Gets the valid id numbers currently stored in this dataset |
| procedure, public :: sync => netcdf_io_sync | Syncrhonize the disk and memory buffer of the NetCDF file (e.g. commit the frame files stored in memory to disk) |