# Presentation¶

## 1. Overview¶

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 as:
- 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. This 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 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
```