Search This Blog

Saturday, May 11, 2024

Aspect-oriented programming

In computing, aspect-oriented programming (AOP) is a programming paradigm that aims to increase modularity by allowing the separation of cross-cutting concerns. It does so by adding behavior to existing code (an advice) without modifying the code, instead separately specifying which code is modified via a "pointcut" specification, such as "log all function calls when the function's name begins with 'set'". This allows behaviors that are not central to the business logic (such as logging) to be added to a program without cluttering the code of core functions.

AOP includes programming methods and tools that support the modularization of concerns at the level of the source code, while aspect-oriented software development refers to a whole engineering discipline.

Aspect-oriented programming entails breaking down program logic into cohesive areas of functionality (so-called concerns). Nearly all programming paradigms support some level of grouping and encapsulation of concerns into separate, independent entities by providing abstractions (e.g., functions, procedures, modules, classes, methods) that can be used for implementing, abstracting, and composing these concerns. Some concerns "cut across" multiple abstractions in a program, and defy these forms of implementation. These concerns are called cross-cutting concerns or horizontal concerns.

Logging exemplifies a cross-cutting concern because a logging strategy must affect every logged part of the system. Logging thereby crosscuts all logged classes and methods.

All AOP implementations have some cross-cutting expressions that encapsulate each concern in one place. The difference between implementations lies in the power, safety, and usability of the constructs provided. For example, interceptors that specify the methods to express a limited form of cross-cutting, without much support for type-safety or debugging. AspectJ has a number of such expressions and encapsulates them in a special class, called an aspect. For example, an aspect can alter the behavior of the base code (the non-aspect part of a program) by applying advice (additional behavior) at various join points (points in a program) specified in a quantification or query called a pointcut (that detects whether a given join point matches). An aspect can also make binary-compatible structural changes to other classes, such as adding members or parents.

History

AOP has several direct antecedents A1 and A2: reflection and metaobject protocols, subject-oriented programming, Composition Filters, and Adaptive Programming.

Gregor Kiczales and colleagues at Xerox PARC developed the explicit concept of AOP and followed this with the AspectJ AOP extension to Java. IBM's research team pursued a tool approach over a language design approach and in 2001 proposed Hyper/J and the Concern Manipulation Environment, which have not seen wide use.

The examples in this article use AspectJ.

The Microsoft Transaction Server is considered to be the first major application of AOP followed by Enterprise JavaBeans.

Motivation and basic concepts

Typically, an aspect is scattered or tangled as code, making it harder to understand and maintain. It is scattered by the function (such as logging) being spread over a number of unrelated functions that might use its function, possibly in entirely unrelated systems or written in different languages. Thus, changing logging can require modifying all affected modules. Aspects become tangled not only with the mainline function of the systems in which they are expressed but also with each other. Changing one concern thus entails understanding all the tangled concerns or having some means by which the effect of changes can be inferred.

For example, consider a banking application with a conceptually very simple method for transferring an amount from one account to another:

void transfer(Account fromAcc, Account toAcc, int amount) throws Exception {
  if (fromAcc.getBalance() < amount)
      throw new InsufficientFundsException();

  fromAcc.withdraw(amount);
  toAcc.deposit(amount);
}

However, this transfer method overlooks certain considerations that a deployed application would require, such as verifying that the current user is authorized to perform this operation, encapsulating database transactions to prevent accidental data loss, and logging the operation for diagnostic purposes.

A version with all those new concerns might look like this:

void transfer(Account fromAcc, Account toAcc, int amount, User user,
    Logger logger, Database database) throws Exception {
  logger.info("Transferring money...");
  
  if (!isUserAuthorised(user, fromAcc)) {
    logger.info("User has no permission.");
    throw new UnauthorisedUserException();
  }
  
  if (fromAcc.getBalance() < amount) {
    logger.info("Insufficient funds.");
    throw new InsufficientFundsException();
  }

  fromAcc.withdraw(amount);
  toAcc.deposit(amount);

  database.commitChanges();  // Atomic operation.

  logger.info("Transaction successful.");
}

In this example, other interests have become tangled with the basic functionality (sometimes called the business logic concern). Transactions, security, and logging all exemplify cross-cutting concerns.

Now consider what would happen if we suddenly need to change the security considerations for the application. In the program's current version, security-related operations appear scattered across numerous methods, and such a change would require major effort.

AOP tries to solve this problem by allowing the programmer to express cross-cutting concerns in stand-alone modules called aspects. Aspects can contain advice (code joined to specified points in the program) and inter-type declarations (structural members added to other classes). For example, a security module can include advice that performs a security check before accessing a bank account. The pointcut defines the times (join points) when one can access a bank account, and the code in the advice body defines how the security check is implemented. That way, both the check and the places can be maintained in one place. Further, a good pointcut can anticipate later program changes, so if another developer creates a new method to access the bank account, the advice will apply to the new method when it executes.

So for the example above implementing logging in an aspect:

aspect Logger {
  void Bank.transfer(Account fromAcc, Account toAcc, int amount, User user, Logger logger)  {
    logger.info("Transferring money...");
  }

  void Bank.getMoneyBack(User user, int transactionId, Logger logger)  {
    logger.info("User requested money back.");
  }

  // Other crosscutting code.
}

One can think of AOP as a debugging tool or a user-level tool. Advice should be reserved for cases in which one cannot get the function changed (user level) or do not want to change the function in production code (debugging).

Join point models

The advice-related component of an aspect-oriented language defines a join point model (JPM). A JPM defines three things:

  1. When the advice can run. These are called join points because they are points in a running program where additional behavior can be usefully joined. A join point needs to be addressable and understandable by an ordinary programmer to be useful. It should also be stable across inconsequential program changes to maintain aspect stability. Many AOP implementations support method executions and field references as join points.
  2. A way to specify (or quantify) join points, called pointcuts. Pointcuts determine whether a given join point matches. Most useful pointcut languages use a syntax like the base language (for example, AspectJ uses Java signatures) and allow reuse through naming and combination.
  3. A means of specifying code to run at a join point. AspectJ calls this advice, and can run it before, after, and around join points. Some implementations also support defining a method in an aspect on another class.

Join-point models can be compared based on the join points exposed, how join points are specified, the operations permitted at the join points, and the structural enhancements that can be expressed.

AspectJ's join-point model

  • The join points in AspectJ include method or constructor call or execution, the initialization of a class or object, field read and write access, and exception handlers. They do not include loops, super calls, throws clauses, or multiple statements.
  • Pointcuts are specified by combinations of primitive pointcut designators (PCDs).

    "Kinded" PCDs match a particular kind of join point (e.g., method execution) and often take a Java-like signature as input. One such pointcut looks like this:

    execution(* set*(*))
    

    This pointcut matches a method-execution join point, if the method name starts with "set" and there is exactly one argument of any type.

    "Dynamic" PCDs check runtime types and bind variables. For example,

    this(Point)
    

    This pointcut matches when the currently executing object is an instance of class Point. Note that the unqualified name of a class can be used via Java's normal type lookup.

    "Scope" PCDs limit the lexical scope of the join point. For example:

    within(com.company.*)
    

    This pointcut matches any join point in any type in the com.company package. The * is one form of the wildcards that can be used to match many things with one signature.

    Pointcuts can be composed and named for reuse. For example:

    pointcut set() : execution(* set*(*) ) && this(Point) && within(com.company.*);
    
    This pointcut matches a method-execution join point, if the method name starts with "set" and this is an instance of type Point in the com.company package. It can be referred to using the name "set()".
  • Advice specifies to run at (before, after, or around) a join point (specified with a pointcut) certain code (specified like code in a method). The AOP runtime invokes Advice automatically when the pointcut matches the join point. For example:
    after() : set() {
      Display.update();
    }
    
    This effectively specifies: "if the set() pointcut matches the join point, run the code Display.update() after the join point completes."

Other potential join point models

There are other kinds of JPMs. All advice languages can be defined in terms of their JPM. For example, a hypothetical aspect language for UML may have the following JPM:

  • Join points are all model elements.
  • Pointcuts are some Boolean expression combining the model elements.
  • The means of affect at these points are a visualization of all the matched join points.

Inter-type declarations

Inter-type declarations provide a way to express cross-cutting concerns affecting the structure of modules. Also known as open classes and extension methods, this enables programmers to declare in one place members or parents of another class, typically to combine all the code related to a concern in one aspect. For example, if a programmer implemented the cross-cutting display-update concern using visitors, an inter-type declaration using the visitor pattern might look like this in AspectJ:

  aspect DisplayUpdate {
    void Point.acceptVisitor(Visitor v) {
      v.visit(this);
    }
    // other crosscutting code...
  }

This code snippet adds the acceptVisitor method to the Point class.

Any structural additions are required to be compatible with the original class, so that clients of the existing class continue to operate, unless the AOP implementation can expect to control all clients at all times.

Implementation

AOP programs can affect other programs in two different ways, depending on the underlying languages and environments:

  1. a combined program is produced, valid in the original language and indistinguishable from an ordinary program to the ultimate interpreter
  2. the ultimate interpreter or environment is updated to understand and implement AOP features.

The difficulty of changing environments means most implementations produce compatible combination programs through a type of program transformation known as weaving. An aspect weaver reads the aspect-oriented code and generates appropriate object-oriented code with the aspects integrated. The same AOP language can be implemented through a variety of weaving methods, so the semantics of a language should never be understood in terms of the weaving implementation. Only the speed of an implementation and its ease of deployment are affected by the method of combination used.

Systems can implement source-level weaving using preprocessors (as C++ was implemented originally in CFront) that require access to program source files. However, Java's well-defined binary form enables bytecode weavers to work with any Java program in .class-file form. Bytecode weavers can be deployed during the build process or, if the weave model is per-class, during class loading. AspectJ started with source-level weaving in 2001, delivered a per-class bytecode weaver in 2002, and offered advanced load-time support after the integration of AspectWerkz in 2005.

Any solution that combines programs at runtime must provide views that segregate them properly to maintain the programmer's segregated model. Java's bytecode support for multiple source files enables any debugger to step through a properly woven .class file in a source editor. However, some third-party decompilers cannot process woven code because they expect code produced by Javac rather than all supported bytecode forms (see also § Criticism, below).

Deploy-time weaving offers another approach. This basically implies post-processing, but rather than patching the generated code, this weaving approach subclasses existing classes so that the modifications are introduced by method-overriding. The existing classes remain untouched, even at runtime, and all existing tools, such as debuggers and profilers, can be used during development. A similar approach has already proven itself in the implementation of many Java EE application servers, such as IBM's WebSphere.

Terminology

Standard terminology used in Aspect-oriented programming may include:

Cross-cutting concerns
Even though most classes in an object-oriented model will perform a single, specific function, they often share common, secondary requirements with other classes. For example, we may want to add logging to classes within the data-access layer and also to classes in the UI layer whenever a thread enters or exits a method. Further concerns can be related to security such as access control or information flow control. Even though each class has a very different primary functionality, the code needed to perform the secondary functionality is often identical.

Advice
This is the additional code that you want to apply to your existing model. In our example, this is the logging code that we want to apply whenever the thread enters or exits a method.:
Pointcut
This refers to the point of execution in the application at which cross-cutting concern needs to be applied. In our example, a pointcut is reached when the thread enters a method, and another pointcut is reached when the thread exits the method.

Aspect
The combination of the pointcut and the advice is termed an aspect. In the example above, we add a logging aspect to our application by defining a pointcut and giving the correct advice.

Comparison to other programming paradigms

Aspects emerged from object-oriented programming and reflective programming. AOP languages have functionality similar to, but more restricted than, metaobject protocols. Aspects relate closely to programming concepts like subjects, mixins, and delegation. Other ways to use aspect-oriented programming paradigms include Composition Filters and the hyperslices approach. Since at least the 1970s, developers have been using forms of interception and dispatch-patching that resemble some of the implementation methods for AOP, but these never had the semantics that the cross-cutting specifications provide in one place. 

Designers have considered alternative ways to achieve separation of code, such as C#'s partial types, but such approaches lack a quantification mechanism that allows reaching several join points of the code with one declarative statement.

Though it may seem unrelated, in testing, the use of mocks or stubs requires the use of AOP techniques, such as around advice. Here the collaborating objects are for the purpose of the test, a cross-cutting concern. Thus, the various Mock Object frameworks provide these features. For example, a process invokes a service to get a balance amount. In the test of the process, it is unimportant where the amount comes from, but only that the process uses the balance according to the requirements.

Adoption issues

Programmers need to be able to read and understand code to prevent errors. Even with proper education, understanding cross-cutting concerns can be difficult without proper support for visualizing both static structure and the dynamic flow of a program. Starting in 2002, AspectJ began to provide IDE plug-ins to support the visualizing of cross-cutting concerns. Those features, as well as aspect code assist and refactoring, are now common.

Given the power of AOP, making a logical mistake in expressing cross-cutting can lead to widespread program failure. Conversely, another programmer may change the join points in a program, such as by renaming or moving methods, in ways that the aspect writer did not anticipate and with unforeseen consequences. One advantage of modularizing cross-cutting concerns is enabling one programmer to easily affect the entire system. As a result, such problems manifest as a conflict over responsibility between two or more developers for a given failure. AOP can expedite solving these problems, as only the aspect must be changed. Without AOP, the corresponding problems can be much more spread out.

Criticism

The most basic criticism of the effect of AOP is that control flow is obscured, and that it is not only worse than the much-maligned GOTO statement, but is closely analogous to the joke COME FROM statement. The obliviousness of application, which is fundamental to many definitions of AOP (the code in question has no indication that an advice will be applied, which is specified instead in the pointcut), means that the advice is not visible, in contrast to an explicit method call. For example, compare the COME FROM program:

 5 INPUT X
10 PRINT 'Result is :'
15 PRINT X
20 COME FROM 10
25      X = X * X
30 RETURN

with an AOP fragment with analogous semantics:

main() {
    input x
    print(result(x))
}
input result(int x) { return x }
around(int x): call(result(int)) && args(x) {
    int temp = proceed(x)
    return temp * temp
}

Indeed, the pointcut may depend on runtime condition and thus not be statically deterministic. This can be mitigated but not solved by static analysis and IDE support showing which advices potentially match.

General criticisms are that AOP purports to improve "both modularity and the structure of code", but some counter that it instead undermines these goals and impedes "independent development and understandability of programs". Specifically, quantification by pointcuts breaks modularity: "one must, in general, have whole-program knowledge to reason about the dynamic execution of an aspect-oriented program." Further, while its goals (modularizing cross-cutting concerns) are well understood, its actual definition is unclear and not clearly distinguished from other well-established techniques. Cross-cutting concerns potentially cross-cut each other, requiring some resolution mechanism, such as ordering. Indeed, aspects can apply to themselves, leading to problems such as the liar paradox.

Technical criticisms include that the quantification of pointcuts (defining where advices are executed) is "extremely sensitive to changes in the program", which is known as the fragile pointcut problem. The problems with pointcuts are deemed intractable. If one replaces the quantification of pointcuts with explicit annotations, one obtains attribute-oriented programming instead, which is simply an explicit subroutine call and suffers the identical problem of scattering, which AOP was designed to solve.

Impact event

From Wikipedia, the free encyclopedia
Damage to trees caused by the Tunguska event. The object, just 50–80 metres (150–240 feet) across, exploded 6–10 km (4–6 miles) above the surface, shattering windows hundreds of km away.

An impact event is a collision between astronomical objects causing measurable effects. Impact events have been found to regularly occur in planetary systems, though the most frequent involve asteroids, comets or meteoroids and have minimal effect. When large objects impact terrestrial planets such as the Earth, there can be significant physical and biospheric consequences, as the impacting body is usually traveling at several kilometres a second (a minimum of 11.2 km/s (7.0 mi/s) for an Earth impacting body), though atmospheres mitigate many surface impacts through atmospheric entry. Impact craters and structures are dominant landforms on many of the Solar System's solid objects and present the strongest empirical evidence for their frequency and scale.

Impact events appear to have played a significant role in the evolution of the Solar System since its formation. Major impact events have significantly shaped Earth's history, and have been implicated in the formation of the Earth–Moon system. Impact events also appear to have played a significant role in the evolutionary history of life. Impacts may have helped deliver the building blocks for life (the panspermia theory relies on this premise). Impacts have been suggested as the origin of water on Earth. They have also been implicated in several mass extinctions. The prehistoric Chicxulub impact, 66 million years ago, is believed to not only be the cause of the Cretaceous–Paleogene extinction event but acceleration of the evolution of mammals leading to their dominance and in turn, setting in place conditions for the eventual rise of humans.

Throughout recorded history, hundreds of Earth impacts (and exploding bolides) have been reported, with some occurrences causing deaths, injuries, property damage, or other significant localised consequences. One of the best-known recorded events in modern times was the Tunguska event, which occurred in Siberia, Russia, in 1908. The 2013 Chelyabinsk meteor event is the only known such incident in modern times to result in numerous injuries. Its meteor is the largest recorded object to have encountered the Earth since the Tunguska event. The Comet Shoemaker–Levy 9 impact provided the first direct observation of an extraterrestrial collision of Solar System objects, when the comet broke apart and collided with Jupiter in July 1994. An extrasolar impact was observed in 2013, when a massive terrestrial planet impact was detected around the star ID8 in the star cluster NGC 2547 by NASA's Spitzer Space Telescope and confirmed by ground observations. Impact events have been a plot and background element in science fiction.

In April 2018, the B612 Foundation reported: "It's 100 percent certain we'll be hit [by a devastating asteroid], but we're not 100 percent certain when." Also in 2018, physicist Stephen Hawking considered in his final book Brief Answers to the Big Questions that an asteroid collision was the biggest threat to the planet. In June 2018, the US National Science and Technology Council warned that America is unprepared for an asteroid impact event, and has developed and released the "National Near-Earth Object Preparedness Strategy Action Plan" to better prepare. According to expert testimony in the United States Congress in 2013, NASA would require at least five years of preparation before a mission to intercept an asteroid could be launched. On 26 September 2022, the Double Asteroid Redirection Test demonstrated the deflection of an asteroid. It was the first such experiment to be carried out by humankind and was considered to be highly successful. The orbital period of the target body was changed by 32 minutes. The criterion for success was a change of more than 73 seconds.

Impacts and the Earth

World map in equirectangular projection of the craters on the Earth Impact Database as of November 2017 (in the SVG file, hover over a crater to show its details)

Major impact events have significantly shaped Earth's history, having been implicated in the formation of the Earth–Moon system, the evolutionary history of life, the origin of water on Earth, and several mass extinctions. Impact structures are the result of impact events on solid objects and, as the dominant landforms on many of the System's solid objects, present the most solid evidence of prehistoric events. Notable impact events include the hypothesized Late Heavy Bombardment, which would have occurred early in the history of the Earth–Moon system, and the confirmed Chicxulub impact 66 million years ago, believed to be the cause of the Cretaceous–Paleogene extinction event.

Frequency and risk

Frequency of small asteroids roughly 1 to 20 m in diameter impacting Earth's atmosphere.
A bolide undergoing atmospheric entry

Small objects frequently collide with Earth. There is an inverse relationship between the size of the object and the frequency of such events. The lunar cratering record shows that the frequency of impacts decreases as approximately the cube of the resulting crater's diameter, which is on average proportional to the diameter of the impactor. Asteroids with a 1 km (0.62 mi) diameter strike Earth every 500,000 years on average. Large collisions – with 5 km (3 mi) objects – happen approximately once every twenty million years. The last known impact of an object of 10 km (6 mi) or more in diameter was at the Cretaceous–Paleogene extinction event 66 million years ago.

The energy released by an impactor depends on diameter, density, velocity, and angle. The diameter of most near-Earth asteroids that have not been studied by radar or infrared can generally only be estimated within about a factor of two, by basing it on the asteroid's brightness. The density is generally assumed, because the diameter and mass, from which density can be calculated, are also generally estimated. Due to Earth's escape velocity, the minimum impact velocity is 11 km/s with asteroid impacts averaging around 17 km/s on the Earth. The most probable impact angle is 45 degrees.

Impact conditions such as asteroid size and speed, but also density and impact angle determine the kinetic energy released in an impact event. The more energy is released, the more damage is likely to occur on the ground due to the environmental effects triggered by the impact. Such effects can be shock waves, heat radiation, the formation of craters with associated earthquakes, and tsunamis if bodies of water are hit. Human populations are vulnerable to these effects if they live within the affected zone. Large seiche waves arising from earthquakes and large-scale deposit of debris can also occur within minutes of impact, thousands of kilometres from impact.

Airbursts

Stony asteroids with a diameter of 4 m (13 ft) enter Earth's atmosphere about once a year. Asteroids with a diameter of 7 m enter the atmosphere about every 5 years with as much kinetic energy as the atomic bomb dropped on Hiroshima (approximately 16 kilotonnes of TNT), but the air burst is reduced to just 5 kilotonnes. These ordinarily explode in the upper atmosphere and most or all of the solids are vaporized. However, asteroids with a diameter of 20 m (66 ft), and which strike Earth approximately twice every century, produce more powerful airbursts. The 2013 Chelyabinsk meteor was estimated to be about 20 m in diameter with an airburst of around 500 kt, an explosion 30 times the Hiroshima bomb impact. Much larger objects may impact the solid earth and create a crater.

Stony asteroid impacts that generate an airburst
Impactor
diameter
Kinetic energy at Airburst
altitude
Average
frequency
(years)
Recorded fireballs
(CNEOS)
(1988–2018)
atmospheric
entry
airburst
m (13 ft) 3 kt 0.75 kt 42.5 km (139,000 ft) 1.3 54
7 m (23 ft) 16 kt 5 kt 36.3 km (119,000 ft) 4.6 15
10 m (33 ft) 47 kt 19 kt 31.9 km (105,000 ft) 10 2
15 m (49 ft) 159 kt 82 kt 26.4 km (87,000 ft) 27 1
20 m (66 ft) 376 kt 230 kt 22.4 km (73,000 ft) 60 1
30 m (98 ft) 1.3 Mt 930 kt 16.5 km (54,000 ft) 185 0
50 m (160 ft) 5.9 Mt 5.2 Mt 8.7 km (29,000 ft) 764 0
70 m (230 ft) 16 Mt 15.2 Mt 3.6 km (12,000 ft) 1,900 0
85 m (279 ft) 29 Mt 28 Mt 0.58 km (1,900 ft) 3,300 0
Based on density of 2600 kg/m3, speed of 17 km/s, and an impact angle of 45°
Stony asteroids that impact sedimentary rock and create a crater
Impactor
diameter
Kinetic energy at Crater
diameter
Frequency
(years)
atmospheric
entry
impact
100 m (330 ft) 47 Mt 3.4 Mt 1.2 km (0.75 mi) 5,200
130 m (430 ft) 103 Mt 31.4 Mt 2 km (1.2 mi) 11,000
150 m (490 ft) 159 Mt 71.5 Mt 2.4 km (1.5 mi) 16,000
200 m (660 ft) 376 Mt 261 Mt 3 km (1.9 mi) 36,000
250 m (820 ft) 734 Mt 598 Mt 3.8 km (2.4 mi) 59,000
300 m (980 ft) 1270 Mt 1110 Mt 4.6 km (2.9 mi) 73,000
400 m (1,300 ft) 3010 Mt 2800 Mt 6 km (3.7 mi) 100,000
700 m (2,300 ft) 16100 Mt 15700 Mt 10 km (6.2 mi) 190,000
1,000 m (3,300 ft) 47000 Mt 46300 Mt 13.6 km (8.5 mi) 440,000
Based on ρ = 2600 kg/m3; v = 17 km/s; and an angle of 45°

Objects with a diameter less than 1 m (3.3 ft) are called meteoroids and seldom make it to the ground to become meteorites. An estimated 500 meteorites reach the surface each year, but only 5 or 6 of these typically create a weather radar signature with a strewn field large enough to be recovered and be made known to scientists.

The late Eugene Shoemaker of the U.S. Geological Survey estimated the rate of Earth impacts, concluding that an event about the size of the nuclear weapon that destroyed Hiroshima occurs about once a year.[citation needed] Such events would seem to be spectacularly obvious, but they generally go unnoticed for a number of reasons: the majority of the Earth's surface is covered by water; a good portion of the land surface is uninhabited; and the explosions generally occur at relatively high altitude, resulting in a huge flash and thunderclap but no real damage.

Although no human is known to have been killed directly by an impact, over 1000 people were injured by the Chelyabinsk meteor airburst event over Russia in 2013. In 2005 it was estimated that the chance of a single person born today dying due to an impact is around 1 in 200,000. The two to four-metre-sized asteroids 2008 TC3, 2014 AA, 2018 LA, 2019 MO, 2022 EB5, and the suspected artificial satellite WT1190F are the only known objects to be detected before impacting the Earth.

Geological significance

Impacts have had, during the history of the Earth, a significant geological and climatic influence.

The Moon's existence is widely attributed to a huge impact early in Earth's history. Impact events earlier in the history of Earth have been credited with creative as well as destructive events; it has been proposed that impacting comets delivered the Earth's water, and some have suggested that the origins of life may have been influenced by impacting objects by bringing organic chemicals or lifeforms to the Earth's surface, a theory known as exogenesis.

Eugene Merle Shoemaker was first to prove that meteorite impacts have affected the Earth.

These modified views of Earth's history did not emerge until relatively recently, chiefly due to a lack of direct observations and the difficulty in recognizing the signs of an Earth impact because of erosion and weathering. Large-scale terrestrial impacts of the sort that produced the Barringer Crater, locally known as Meteor Crater, east of Flagstaff, Arizona, are rare. Instead, it was widely thought that cratering was the result of volcanism: the Barringer Crater, for example, was ascribed to a prehistoric volcanic explosion (not an unreasonable hypothesis, given that the volcanic San Francisco Peaks stand only 48 km or 30 mi to the west). Similarly, the craters on the surface of the Moon were ascribed to volcanism.

It was not until 1903–1905 that the Barringer Crater was correctly identified as an impact crater, and it was not until as recently as 1963 that research by Eugene Merle Shoemaker conclusively proved this hypothesis. The findings of late 20th-century space exploration and the work of scientists such as Shoemaker demonstrated that impact cratering was by far the most widespread geological process at work on the Solar System's solid bodies. Every surveyed solid body in the Solar System was found to be cratered, and there was no reason to believe that the Earth had somehow escaped bombardment from space. In the last few decades of the 20th century, a large number of highly modified impact craters began to be identified. The first direct observation of a major impact event occurred in 1994: the collision of the comet Shoemaker-Levy 9 with Jupiter.

Based on crater formation rates determined from the Earth's closest celestial partner, the Moon, astrogeologists have determined that during the last 600 million years, the Earth has been struck by 60 objects of a diameter of 5 km (3 mi) or more. The smallest of these impactors would leave a crater almost 100 km (60 mi) across. Only three confirmed craters from that time period with that size or greater have been found: Chicxulub, Popigai, and Manicouagan, and all three have been suspected of being linked to extinction events though only Chicxulub, the largest of the three, has been consistently considered. The impact that caused Mistastin crater generated temperatures exceeding 2,370 °C, the highest known to have occurred on the surface of the Earth.

Besides the direct effect of asteroid impacts on a planet's surface topography, global climate and life, recent studies have shown that several consecutive impacts might have an effect on the dynamo mechanism at a planet's core responsible for maintaining the magnetic field of the planet, and may have contributed to Mars' lack of current magnetic field. An impact event may cause a mantle plume (volcanism) at the antipodal point of the impact. The Chicxulub impact may have increased volcanism at mid-ocean ridges  and has been proposed to have triggered flood basalt volcanism at the Deccan Traps.

While numerous impact craters have been confirmed on land or in the shallow seas over continental shelves, no impact craters in the deep ocean have been widely accepted by the scientific community. Impacts of projectiles as large as one km in diameter are generally thought to explode before reaching the sea floor, but it is unknown what would happen if a much larger impactor struck the deep ocean. The lack of a crater, however, does not mean that an ocean impact would not have dangerous implications for humanity. Some scholars have argued that an impact event in an ocean or sea may create a megatsunami, which can cause destruction both at sea and on land along the coast, but this is disputed. The Eltanin impact into the Pacific Ocean 2.5 Mya is thought to involve an object about 1 to 4 kilometres (0.62 to 2.49 mi) across but remains craterless.

Biospheric effects

The effect of impact events on the biosphere has been the subject of scientific debate. Several theories of impact-related mass extinction have been developed. In the past 500 million years there have been five generally accepted major mass extinctions that on average extinguished half of all species. One of the largest mass extinctions to have affected life on Earth was the Permian-Triassic, which ended the Permian period 250 million years ago and killed off 90 percent of all species; life on Earth took 30 million years to recover. The cause of the Permian-Triassic extinction is still a matter of debate; the age and origin of proposed impact craters, i.e. the Bedout High structure, hypothesized to be associated with it are still controversial. The last such mass extinction led to the demise of the non-avian dinosaurs and coincided with a large meteorite impact; this is the Cretaceous–Paleogene extinction event (also known as the K–T or K–Pg extinction event), which occurred 66 million years ago. There is no definitive evidence of impacts leading to the three other major mass extinctions.

In 1980, physicist Luis Alvarez; his son, geologist Walter Alvarez; and nuclear chemists Frank Asaro and Helen V. Michael from the University of California, Berkeley discovered unusually high concentrations of iridium in a specific layer of rock strata in the Earth's crust. Iridium is an element that is rare on Earth but relatively abundant in many meteorites. From the amount and distribution of iridium present in the 65-million-year-old "iridium layer", the Alvarez team later estimated that an asteroid of 10 to 14 km (6 to 9 mi) must have collided with Earth. This iridium layer at the Cretaceous–Paleogene boundary has been found worldwide at 100 different sites. Multidirectionally shocked quartz (coesite), which is normally associated with large impact events or atomic bomb explosions, has also been found in the same layer at more than 30 sites. Soot and ash at levels tens of thousands times normal levels were found with the above.

Anomalies in chromium isotopic ratios found within the K-T boundary layer strongly support the impact theory. Chromium isotopic ratios are homogeneous within the earth, and therefore these isotopic anomalies exclude a volcanic origin, which has also been proposed as a cause for the iridium enrichment. Further, the chromium isotopic ratios measured in the K-T boundary are similar to the chromium isotopic ratios found in carbonaceous chondrites. Thus a probable candidate for the impactor is a carbonaceous asteroid, but a comet is also possible because comets are assumed to consist of material similar to carbonaceous chondrites.

Probably the most convincing evidence for a worldwide catastrophe was the discovery of the crater which has since been named Chicxulub Crater. This crater is centered on the Yucatán Peninsula of Mexico and was discovered by Tony Camargo and Glen Penfield while working as geophysicists for the Mexican oil company PEMEX. What they reported as a circular feature later turned out to be a crater estimated to be 180 km (110 mi) in diameter. This convinced the vast majority of scientists that this extinction resulted from a point event that is most probably an extraterrestrial impact and not from increased volcanism and climate change (which would spread its main effect over a much longer time period).

Although there is now general agreement that there was a huge impact at the end of the Cretaceous that led to the iridium enrichment of the K-T boundary layer, remnants have been found of other, smaller impacts, some nearing half the size of the Chicxulub crater, which did not result in any mass extinctions, and there is no clear linkage between an impact and any other incident of mass extinction.

Paleontologists David M. Raup and Jack Sepkoski have proposed that an excess of extinction events occurs roughly every 26 million years (though many are relatively minor). This led physicist Richard A. Muller to suggest that these extinctions could be due to a hypothetical companion star to the Sun called Nemesis periodically disrupting the orbits of comets in the Oort cloud, leading to a large increase in the number of comets reaching the inner Solar System where they might hit Earth. Physicist Adrian Melott and paleontologist Richard Bambach have more recently verified the Raup and Sepkoski finding, but argue that it is not consistent with the characteristics expected of a Nemesis-style periodicity.

Sociological and cultural effects

An impact event is commonly seen as a scenario that would bring about the end of civilization. In 2000, Discover magazine published a list of 20 possible sudden doomsday scenarios with an impact event listed as the most likely to occur.

A joint Pew Research Center/Smithsonian survey from April 21 to 26, 2010 found that 31 percent of Americans believed that an asteroid will collide with Earth by 2050. A majority (61 percent) disagreed.

Earth impacts

Artist's depiction of a collision between two planetary bodies. Such an impact between the Earth and a Mars-sized object likely formed the Moon.

In the early history of the Earth (about four billion years ago), bolide impacts were almost certainly common since the Solar System contained far more discrete bodies than at present. Such impacts could have included strikes by asteroids hundreds of kilometres in diameter, with explosions so powerful that they vaporized all the Earth's oceans. It was not until this heavy bombardment slackened that life appears to have begun to evolve on Earth.

Precambrian

The leading theory of the Moon's origin is the giant impact theory, which postulates that Earth was once hit by a planetoid the size of Mars; such a theory is able to explain the size and composition of the Moon, something not done by other theories of lunar formation.

According to the theory of the Late Heavy Bombardment, there should have been 22,000 or more impact craters with diameters >20 km (12 mi), about 40 impact basins with diameters about 1,000 km (620 mi), and several impact basins with diameters about 5,000 km (3,100 mi). However, hundreds of millions of years of deformation at the Earth's crust pose significant challenges to conclusively identifying impacts from this period. Only two pieces of pristine lithosphere are believed to remain from this era: Kaapvaal Craton (in contemporary South Africa) and Pilbara Craton (in contemporary Western Australia) to search within which may potentially reveal evidence in the form of physical craters. Other methods may be used to identify impacts from this period, for example, indirect gravitational or magnetic analysis of the mantle, but may prove inconclusive.

In 2021, evidence for a probable impact 3.46 billion-years ago at Pilbara Craton has been found in the form of a 150 kilometres (93 mi) crater created by the impact of a 10 kilometres (6.2 mi) asteroid (named "The Apex Asteroid") into the sea at a depth of 2.5 kilometres (1.6 mi) (near the site of Marble Bar, Western Australia). The event caused global tsunamis. It is also coincidental to some of the earliest evidence of life on Earth, fossilized Stromatolites.

Evidence of a massive impact, (named S2; "S" for Spherule), in South Africa near a geological formation known as the Barberton Greenstone Belt was uncovered by scientists in 2014. They estimated the impact occurred at Kaapvaal Craton (South Africa) about 3.26 billion years ago and that the impactor was approximately 37–58 kilometers (23–36 miles) wide. The crater from this event, if it still exists, has not yet been found.

The Maniitsoq structure, dated to around 3 billion years old (3 Ga), was once thought to be the result of an impact; however, follow-up studies have not confirmed its nature as an impact structure. The Maniitsoq structure is not recognised as an impact structure by the Earth Impact Database.

In 2020, scientists discovered the world's oldest confirmed impact crater, the Yarrabubba crater, caused by an impact that occurred in Yilgarn Craton (what is now Western Australia), dated at more than 2.2 billion years ago with the impactor estimated to be around 7 kilometres (4.3 mi) wide. It is believed that, at this time, the Earth was mostly or completely frozen, commonly called the Huronian glaciation.

The Vredefort impact event, which occurred around 2 billion years ago in Kaapvaal Craton (what is now South Africa), caused the largest verified crater, a multi-ringed structure 160–300 km (100–200 mi) across, forming from an impactor approximately 10–15 km (6.2–9.3 mi) in diameter.

The Sudbury impact event occurred on the Nuna supercontinent (now Canada) from a bolide approximately 10–15 km (6.2–9.3 mi) in diameter approximately 1.849 billion years ago. Debris from the event would have been scattered across the globe.

Paleozoic and Mesozoic

Two 10-kilometre sized asteroids are now believed to have struck Australia between 360 and 300 million years ago at the Western Warburton and East Warburton Basins, creating a 400-kilometre impact zone. According to evidence found in 2015, it is the largest ever recorded. A third, possible impact was also identified in 2015 to the north, on the upper Diamantina River, also believed to have been caused by an asteroid 10 km across about 300 million years ago, but further studies are needed to establish that this crustal anomaly was indeed the result of an impact event.

An animation modelling the impact, and subsequent crater formation of the Chicxulub impact (University of Arizona, Space Imagery Center)

The prehistoric Chicxulub impact, 66 million years ago, believed to be the cause of the Cretaceous–Paleogene extinction event, was caused by an asteroid estimated to be about 10 kilometres (6.2 mi) wide.

Paleogene

The Hiawatha impact crater in Greenland is buried under more than a kilometre of ice

Analysis of the Hiawatha Glacier reveals the presence of a 31 km wide impact crater dated at 58 million years of age, less than 10 million years after the Cretaceous–Paleogene extinction event, scientists believe that the impactor was a metallic asteroid with a diameter in the order of 1.5 kilometres (0.9 mi). The impact would have had global effects.

Pleistocene

Aerial view of Barringer Crater in Arizona

Artifacts recovered with tektites from the 803,000-year-old Australasian strewnfield event in Asia link a Homo erectus population to a significant meteorite impact and its aftermath. Significant examples of Pleistocene impacts include the Lonar crater lake in India, approximately 52,000 years old (though a study published in 2010 gives a much greater age), which now has a flourishing semi-tropical jungle around it.

Holocene

The Rio Cuarto craters in Argentina were produced approximately 10,000 years ago, at the beginning of the Holocene. If proved to be impact craters, they would be the first impact of the Holocene.

The Campo del Cielo ("Field of Heaven") refers to an area bordering Argentina's Chaco Province where a group of iron meteorites were found, estimated as dating to 4,000–5,000 years ago. It first came to attention of Spanish authorities in 1576; in 2015, police arrested four alleged smugglers trying to steal more than a tonne of protected meteorites. The Henbury craters in Australia (~5,000 years old) and Kaali craters in Estonia (~2,700 years old) were apparently produced by objects that broke up before impact.

Whitecourt crater in Alberta, Canada is estimated to be between 1,080 and 1,130 years old. The crater is approximately 36 m (118 ft) in diameter and 9 m (30 ft) deep, is heavily forested and was discovered in 2007 when a metal detector revealed fragments of meteoric iron scattered around the area.

A Chinese record states that 10,000 people were killed in the 1490 Qingyang event with the deaths caused by a hail of "falling stones"; some astronomers hypothesize that this may describe an actual meteorite fall, although they find the number of deaths implausible.

Kamil Crater, discovered from Google Earth image review in Egypt, 45 m (148 ft) in diameter and 10 m (33 ft) deep, is thought to have been formed less than 3,500 years ago in a then-unpopulated region of western Egypt. It was found February 19, 2009 by V. de Michelle on a Google Earth image of the East Uweinat Desert, Egypt.

20th-century impacts

Trees knocked over by the Tunguska blast

One of the best-known recorded impacts in modern times was the Tunguska event, which occurred in Siberia, Russia, in 1908. This incident involved an explosion that was probably caused by the airburst of an asteroid or comet 5 to 10 km (3.1 to 6.2 mi) above the Earth's surface, felling an estimated 80 million trees over 2,150 km2 (830 sq mi).

In February 1947, another large bolide impacted the Earth in the Sikhote-Alin Mountains, Primorye, Soviet Union. It was during daytime hours and was witnessed by many people, which allowed V. G. Fesenkov, then chairman of the meteorite committee of the USSR Academy of Science, to estimate the meteoroid's orbit before it encountered the Earth. Sikhote-Alin is a massive fall with the overall size of the meteoroid estimated at 90,000 kg (200,000 lb). A more recent estimate by Tsvetkov (and others) puts the mass at around 100,000 kg (220,000 lb). It was an iron meteorite belonging to the chemical group IIAB and with a coarse octahedrite structure. More than 70 tonnes (metric tons) of material survived the collision.

A case of a human injured by a space rock occurred on November 30, 1954, in Sylacauga, Alabama. There a 4 kg (8.8 lb) stone chondrite crashed through a roof and hit Ann Hodges in her living room after it bounced off her radio. She was badly bruised by the fragments. Several persons have since claimed to have been struck by "meteorites" but no verifiable meteorites have resulted.

A small number of meteorite falls have been observed with automated cameras and recovered following calculation of the impact point. The first was the Příbram meteorite, which fell in Czechoslovakia (now the Czech Republic) in 1959. In this case, two cameras used to photograph meteors captured images of the fireball. The images were used both to determine the location of the stones on the ground and, more significantly, to calculate for the first time an accurate orbit for a recovered meteorite.

Following the Příbram fall, other nations established automated observing programs aimed at studying infalling meteorites. One of these was the Prairie Meteorite Network, operated by the Smithsonian Astrophysical Observatory from 1963 to 1975 in the midwestern U.S. This program also observed a meteorite fall, the "Lost City" chondrite, allowing its recovery and a calculation of its orbit. Another program in Canada, the Meteorite Observation and Recovery Project, ran from 1971 to 1985. It too recovered a single meteorite, "Innisfree", in 1977. Finally, observations by the European Fireball Network, a descendant of the original Czech program that recovered Příbram, led to the discovery and orbit calculations for the Neuschwanstein meteorite in 2002.

On August 10, 1972, a meteor which became known as the 1972 Great Daylight Fireball was witnessed by many people as it moved north over the Rocky Mountains from the U.S. Southwest to Canada. It was filmed by a tourist at the Grand Teton National Park in Wyoming with an 8-mm color movie camera. In size range the object was roughly between a car and a house, and while it could have ended its life in a Hiroshima-sized blast, there was never any explosion. Analysis of the trajectory indicated that it never came much lower than 58 km (36 mi) off the ground, and the conclusion was that it had grazed Earth's atmosphere for about 100 seconds, then skipped back out of the atmosphere to return to its orbit around the Sun.

Many impact events occur without being observed by anyone on the ground. Between 1975 and 1992, American missile early warning satellites picked up 136 major explosions in the upper atmosphere. In the November 21, 2002, edition of the journal Nature, Peter Brown of the University of Western Ontario reported on his study of U.S. early warning satellite records for the preceding eight years. He identified 300 flashes caused by 1 to 10 m (3 to 33 ft) meteors in that time period and estimated the rate of Tunguska-sized events as once in 400 years. Eugene Shoemaker estimated that an event of such magnitude occurs about once every 300 years, though more recent analyses have suggested he may have overestimated by an order of magnitude.

In the dark morning hours of January 18, 2000, a fireball exploded over the city of Whitehorse, Yukon Territory at an altitude of about 26 km (16 mi), lighting up the night like day. The meteor that produced the fireball was estimated to be about 4.6 m (15 ft) in diameter, with a weight of 180 tonnes. This blast was also featured on the Science Channel series Killer Asteroids, with several witness reports from residents in Atlin, British Columbia.

21st-century impacts

On 7 June 2006, a meteor was observed striking Reisadalen in Nordreisa municipality in Troms County, Norway. Although initial witness reports stated that the resultant fireball was equivalent to the Hiroshima nuclear explosion, scientific analysis places the force of the blast at anywhere from 100 to 500 tonnes TNT equivalent, around three percent of Hiroshima's yield.

On 15 September 2007, a chondritic meteor crashed near the village of Carancas in southeastern Peru near Lake Titicaca, leaving a water-filled hole and spewing gases across the surrounding area. Many residents became ill, apparently from the noxious gases shortly after the impact.

On 7 October 2008, an approximately 4 m asteroid labeled 2008 TC3 was tracked for 20 hours as it approached Earth and as it fell through the atmosphere and impacted in Sudan. This was the first time an object was detected before it reached the atmosphere and hundreds of pieces of the meteorite were recovered from the Nubian Desert.

Trail left by the exploding Chelyabinsk meteor as it passed over the city.

On 15 February 2013, an asteroid entered Earth's atmosphere over Russia as a fireball and exploded above the city of Chelyabinsk during its passage through the Ural Mountains region at 09:13 YEKT (03:13 UTC). The object's air burst occurred at an altitude between 30 and 50 km (19 and 31 mi) above the ground, and about 1,500 people were injured, mainly by broken window glass shattered by the shock wave. Two were reported in serious condition; however, there were no fatalities. Initially some 3,000 buildings in six cities across the region were reported damaged due to the explosion's shock wave, a figure which rose to over 7,200 in the following weeks. The Chelyabinsk meteor was estimated to have caused over $30 million in damage. It is the largest recorded object to have encountered the Earth since the 1908 Tunguska event. The meteor is estimated to have an initial diameter of 17–20 metres and a mass of roughly 10,000 tonnes. On 16 October 2013, a team from Ural Federal University led by Victor Grokhovsky recovered a large fragment of the meteor from the bottom of Russia's Lake Chebarkul, about 80 km west of the city.

On 1 January 2014, a 3 m (10 ft) asteroid, 2014 AA, was discovered by the Mount Lemmon Survey and observed over the next hour, and was soon found to be on a collision course with Earth. The exact location was uncertain, constrained to a line between Panama, the central Atlantic Ocean, The Gambia, and Ethiopia. Around roughly the time expected (2 January 3:06 UTC) an infrasound burst was detected near the center of the impact range, in the middle of the Atlantic Ocean. This marks the second time a natural object was identified prior to impacting earth after 2008 TC3.

Nearly two years later, on October 3, WT1190F was detected orbiting Earth on a highly eccentric orbit, taking it from well within the Geocentric satellite ring to nearly twice the orbit of the Moon. It was estimated to be perturbed by the Moon onto a collision course with Earth on November 13. With over a month of observations, as well as precovery observations found dating back to 2009, it was found to be far less dense than a natural asteroid should be, suggesting that it was most likely an unidentified artificial satellite. As predicted, it fell over Sri Lanka at 6:18 UTC (11:48 local time). The sky in the region was very overcast, so only an airborne observation team was able to successfully observe it falling above the clouds. It is now thought to be a remnant of the Lunar Prospector mission in 1998, and is the third time any previously unknown object – natural or artificial – was identified prior to impact.

On 22 January 2018, an object, A106fgF, was discovered by the Asteroid Terrestrial-impact Last Alert System (ATLAS) and identified as having a small chance of impacting Earth later that day. As it was very dim, and only identified hours before its approach, no more than the initial 4 observations covering a 39-minute period were made of the object. It is unknown if it impacted Earth or not, but no fireball was detected in either infrared or infrasound, so if it did, it would have been very small, and likely near the eastern end of its potential impact area – in the western Pacific Ocean.

On 2 June 2018, the Mount Lemmon Survey detected 2018 LA (ZLAF9B2), a small 2–5 m asteroid which further observations soon found had an 85% chance of impacting Earth. Soon after the impact, a fireball report from Botswana arrived to the American Meteor Society. Further observations with ATLAS extended the observation arc from 1 hour to 4 hours and confirmed that the asteroid orbit indeed impacted Earth in southern Africa, fully closing the loop with the fireball report and making this the third natural object confirmed to impact Earth, and the second on land after 2008 TC3.

On 8 March 2019, NASA announced the detection of a large airburst that occurred on 18 December 2018 at 11:48 local time off the eastern coast of the Kamchatka Peninsula. The Kamchatka superbolide is estimated to have had a mass of roughly 1600 t, and a diameter of 9 to 14 m depending on its density, making it the third largest asteroid to impact Earth since 1900, after the Chelyabinsk meteor and the Tunguska event. The fireball exploded in an airburst 25.6 kilometres (15.9 mi) above Earth's surface.

2019 MO, an approximately 4 m asteroid, was detected by ATLAS a few hours before it impacted the Caribbean Sea near Puerto Rico in June 2019.

In 2023, a small meteorite is believed to have crashed through the roof of a home in Trenton, New Jersey. The metallic rock was approximately 4 inches by 6 inches and weighed 4 pounds. The item was seized by police and tested for radioactivity. The object was later confirmed to be a meteorite by scientists at The College of New Jersey, as well as meteorite expert Jerry Delaney, who previously worked at Rutgers University and the American Museum of Natural History.

Asteroid impact prediction
Orbit and positions of 2018 LA and Earth, 30 days before impact. The diagram illustrates how orbit data can be used to predict impacts well in advance. Note that in this particular instance the asteroid's orbit was not known until a few hours before impact. The diagram was constructed afterwards for illustration.

In the late 20th and early 21st century scientists put in place measures to detect Near Earth objects, and predict the dates and times of asteroids impacting Earth, along with the locations at which they will impact. The International Astronomical Union Minor Planet Center (MPC) is the global clearing house for information on asteroid orbits. NASA's Sentry System continually scans the MPC catalog of known asteroids, analyzing their orbits for any possible future impacts. Currently none are predicted (the single highest probability impact currently listed is ~7 m asteroid 2010 RF12, which is due to pass earth in September 2095 with only a 5% predicted chance of impacting).

Currently prediction is mainly based on cataloging asteroids years before they are due to impact. This works well for larger asteroids (> 1 km across) as they are easily seen from a long distance. Over 95% of them are already known and their orbits have been measured, so any future impacts can be predicted long before they are on their final approach to Earth. Smaller objects are too faint to observe except when they come very close and so most cannot be observed before their final approach. Current mechanisms for detecting asteroids on final approach rely on wide-field ground based telescopes, such as the ATLAS system. However, current telescopes only cover part of the Earth and even more importantly cannot detect asteroids on the day-side of the planet, which is why so few of the smaller asteroids that commonly impact Earth are detected during the few hours that they would be visible. So far only four impact events have been successfully predicted, all from innocuous 2–5 m diameter asteroids and detected a few hours in advance.

Ground based telescopes can only detect objects approaching on the night-side of the planet, away from the Sun. Roughly half of impacts occur on the day-side of the planet.

Current response status

In April 2018, the B612 Foundation reported "It's 100 per cent certain we’ll be hit [by a devastating asteroid], but we're not 100 per cent certain when." Also in 2018, physicist Stephen Hawking, in his final book Brief Answers to the Big Questions, considered an asteroid collision to be the biggest threat to the planet. In June 2018, the US National Science and Technology Council warned that America is unprepared for an asteroid impact event, and has developed and released the "National Near-Earth Object Preparedness Strategy Action Plan" to better prepare. According to expert testimony in the United States Congress in 2013, NASA would require at least five years of preparation to launch a mission to intercept an asteroid. The preferred method is to deflect rather than disrupt an asteroid.

Elsewhere in the Solar System

Evidence of massive past impact events

Topographical map of the South Pole–Aitken basin based on Kaguya data provides evidence of a massive impact event on the Moon some 4.3 billion years ago

Impact craters provide evidence of past impacts on other planets in the Solar System, including possible interplanetary terrestrial impacts. Without carbon dating, other points of reference are used to estimate the timing of these impact events. Mars provides some significant evidence of possible interplanetary collisions. The North Polar Basin on Mars is speculated by some to be evidence for a planet-sized impact on the surface of Mars between 3.8 and 3.9 billion years ago, while Utopia Planitia is the largest confirmed impact and Hellas Planitia is the largest visible crater in the Solar System. The Moon provides similar evidence of massive impacts, with the South Pole–Aitken basin being the biggest. Mercury's Caloris Basin is another example of a crater formed by a massive impact event. Rheasilvia on Vesta is an example of a crater formed by an impact capable of, based on ratio of impact to size, severely deforming a planetary-mass object. Impact craters on the moons of Saturn such as Engelier and Gerin on Iapetus, Mamaldi on Rhea and Odysseus on Tethys and Herschel on Mimas form significant surface features. Models developed in 2018 to explain the unusual spin of Uranus support a long-held theory that this was caused by an oblique collision with a massive object twice the size of Earth.

Observed events

Jupiter

Comet Shoemaker-Levy 9's scar on Jupiter (dark area near Jupiter's limb)

Jupiter is the most massive planet in the Solar System, and because of its large mass it has a vast sphere of gravitational influence, the region of space where an asteroid capture can take place under favorable conditions.

Jupiter is able to capture comets in orbit around the Sun with a certain frequency. In general, these comets travel some revolutions around the planet following unstable orbits as highly elliptical and perturbable by solar gravity. While some of them eventually recover a heliocentric orbit, others crash on the planet or, more rarely, on its satellites.

In addition to the mass factor, its relative proximity to the inner solar system allows Jupiter to influence the distribution of minor bodies there. For a long time it was believed that these characteristics led the gas giant to expel from the system or to attract most of the wandering objects in its vicinity and, consequently, to determine a reduction in the number of potentially dangerous objects for the Earth. Subsequent dynamic studies have shown that in reality the situation is more complex: the presence of Jupiter, in fact, tends to reduce the frequency of impact on the Earth of objects coming from the Oort cloud, while it increases it in the case of asteroids and short period comets.

For this reason Jupiter is the planet of the Solar System characterized by the highest frequency of impacts, which justifies its reputation as the "sweeper" or "cosmic vacuum cleaner" of the Solar System. 2009 studies suggest an impact frequency of one every 50–350 years, for an object of 0.5–1 km in diameter; impacts with smaller objects would occur more frequently. Another study estimated that comets 0.3 km (0.19 mi) in diameter impact the planet once in approximately 500 years and those 1.6 km (0.99 mi) in diameter do so just once in every 6,000 years.

In July 1994, Comet Shoemaker–Levy 9 was a comet that broke apart and collided with Jupiter, providing the first direct observation of an extraterrestrial collision of Solar System objects. The event served as a "wake-up call", and astronomers responded by starting programs such as Lincoln Near-Earth Asteroid Research (LINEAR), Near-Earth Asteroid Tracking (NEAT), Lowell Observatory Near-Earth Object Search (LONEOS) and several others which have drastically increased the rate of asteroid discovery.

The 2009 impact event happened on July 19 when a new black spot about the size of Earth was discovered in Jupiter's southern hemisphere by amateur astronomer Anthony Wesley. Thermal infrared analysis showed it was warm and spectroscopic methods detected ammonia. JPL scientists confirmed that there was another impact event on Jupiter, probably involving a small undiscovered comet or other icy body. The impactor is estimated to have been about 200–500 meters in diameter.

Later minor impacts were observed by amateur astronomers in 2010, 2012, 2016, and 2017; one impact was observed by Juno in 2020.

Other impacts

Hubble's Wide Field Camera 3 clearly shows the slow evolution of the debris coming from asteroid P/2010 A2, assumed to be due to a collision with a smaller asteroid.

In 1998, two comets were observed plunging toward the Sun in close succession. The first of these was on June 1 and the second the next day. A video of this, followed by a dramatic ejection of solar gas (unrelated to the impacts), can be found at the NASA website. Both of these comets evaporated before coming into contact with the surface of the Sun. According to a theory by NASA Jet Propulsion Laboratory scientist Zdeněk Sekanina, the latest impactor to actually make contact with the Sun was the "supercomet" Howard-Koomen-Michels on August 30, 1979. (See also sungrazer.)

In 2010, between January and May, Hubble's Wide Field Camera 3 took images of an unusual X shape originated in the aftermath of the collision between asteroid P/2010 A2 with a smaller asteroid.

Around March 27, 2012, based on evidence, there were signs of an impact on Mars. Images from the Mars Reconnaissance Orbiter provide compelling evidence of the largest impact observed to date on Mars in the form of fresh craters, the largest measuring 48.5 by 43.5 meters. It is estimated to be caused by an impactor 3 to 5 meters long.

On March 19, 2013, an impact occurred on the Moon that was visible from Earth, when a boulder-sized 30 cm meteoroid slammed into the lunar surface at 90,000 km/h (25 km/s; 56,000 mph) creating a 20-meter crater. NASA has actively monitored lunar impacts since 2005, tracking hundreds of candidate events.

On 18 September 2021 an impact event on Mars formed a cluster of craters, the largest being 130m in diameter. On 24 December 2021 an impact created a 150m-wide crater. Debris was ejected up to 35 km (19 miles) from the impact site.

Extrasolar impacts

Asteroid collision led to the building of planets near star NGC 2547-ID8 (artist concept).

Collisions between galaxies, or galaxy mergers, have been observed directly by space telescopes such as Hubble and Spitzer. However, collisions in planetary systems including stellar collisions, while long speculated, have only recently begun to be observed directly.

In 2013, an impact between minor planets was detected around the star NGC 2547 ID 8 by Spitzer and confirmed by ground observations. Computer modelling suggests that the impact involved large asteroids or protoplanets similar to the events believed to have led to the formation of terrestrial planets like the Earth.

Operator (computer programming)

From Wikipedia, the free encyclopedia https://en.wikipedia.org/wiki/Operator_(computer_programmin...