AGRIF is a Fortran 90 package for the integration of *full adaptive mesh refinement (AMR)* features
within a *multidimensional finite difference model*
written in the Fortran language. Its main objective is to simplify the
integration of these capacities in an existing model with almost no
changes in this one. The package mainly consists into two parts:

## it first provides some model-independent Fortran 90 procedures
implementing the different parts of an AMR process:time
integration of the grid hierarchy, refinement procedure, and more;

## the analysis of a configuration file written by the user provides
the Fortran model-dependent code.

The model dependent and independent parts are then linked into a
library containing all the necessary procedures to integrate the AMR
capacities in a finite difference model.

The main characteristic of AGRIF is to
implement the *Berger-Oliger's AMR method*
concerning the time integration of the grid hierarchy and the mesh
refinement procedure. It is about:

## the *time integration* of the grid
hierarchy: the root grid is integrated before the fine grids,
allowing to provide them with some boundary conditions;

## the *mesh refinement* procedure;

## the *points detection* and the *clustering*.

However, AGRIF presents the following
others features:

## possibility to deal with *staggered grids*
allowing the grid variables to be positioned, for example, at the
center of the cells or at the corners;

## each fine grid can be *refined* or not in
each space direction;

## the *space and time refinements factors*
can
be different for each space direction;

## possibility to simultaneously deal with *fixed
and moving grids*