| 164 | === Unification of executables === |
| 165 | |
| 166 | FLEXPART v10 has been modified in order to have automatic detection of the driving meteorological data. Therefore, the current version will only require two executables: |
| 167 | FLEXPART and FLEXPART_MPI and they will both run with NCEP and ECMWF data. In order to achieve this, the modifications described below have been done. |
| 168 | |
| 169 | * ''gributils'' directory: this directory, provided inside ''src'', includes the ''class_gribfile_mod.f90'' module. This routine is used by FLEXPART to identify the type of incoming driving data. |
| 170 | |
| 171 | * ''detectformat.f90'': this new routine, added in src, is called by ''FLEXPART.f90'' and ''FLEXPART_MPI.f90'' and it is used to detect the format of the meteorological driving data by setting the variable metdata_format. This variable is used in ''timemanager.f90'' and ''timemanager_mpi.f90'' (and subsequently by ''get_fields.f90'' and ''get_fiels_mpi.f90)'' routines to call the appropriate *gfs or *ecmwf routines. |
| 172 | |
| 173 | * each of the *gfs and *ecmwf routines now have the internal subroutine name changed adding _ecmwf and _gfs. For example: ''gridcheck_ecmwf.f90'' routine had "subroutine gridcheck" in the code. Now it reads "subroutine gridcheck_ecmwf". This is needed to ensure we can have a single executable that calls the appropriate subroutines. |
| 174 | |
| 175 | * the makefile has been adapted accordingly: only one executable name for serial and mpi (this modifies the compilation command line, as described in the description. Namely, one does not need to write make gfs serial but only make serial. This will generate an executable that will work for both ECMWF and NCEP data. The same for the mpi executable. In addition, the makefile has been adapted to use the gributils ''class_gribfile_mod.f90'' module. |
| 176 | |
| 177 | Notes: |
| 178 | |
| 179 | * The code assumes (which is a reasonable assumption) that the type of meteorological data does not change during the run (which would not be possible anyway in previous FLEXPARTs). The first GRIB file is used to identify the center and it assumes all the GRIB files used will be of the same type. If neither ECMWF nor NCEP are not found as center type, then the code exists with a No wind file available message. |
| 180 | |
| 181 | * The original code included two modules, ''ecmwf_mod.f90'' and ''gfs_mod.f90''. Those have now been erased and the variables brought back to the ''par_mod.f90'' file. This has been done with NILU's agreement. |