/PICO_Fortran

Fortran implementation of the Potsdam Ice-shelf Cavity mOdel (PICO) from Reese et al. 2018

Primary LanguageFortranApache License 2.0Apache-2.0

Contributors Commits Stargazers Issues Apache-2.0 License

PICO_Fortran

This is a Fortran implementation of the Potsdam Ice-shelf Cavity mOdel (PICO) from Reese et al. 2018.

Dependencies

The implementation is dependent on a NetCDF library to be installed with a Fortran compiler, with the Fortran bindings for NetCDF. PICO_Fortran also depends on the ncio library that is resolved automatically with FPM (see below).

Test case

Currently implemented with a test case from the ISOMIP data.

Original data found in: https://gmd.copernicus.org/articles/9/2471/2016/gmd-9-2471-2016.html and included from https://doi.org/10.5880/PIK.2016.002 into the data directory of PICO_Fortran. Please refer to the original source when using. License of the dataset: CC BY-SA 4.0

FPM

PICO_Fortran is packaged for the Fortran Package Manager, using a toml description file. Currently the build and app/run are functional.

Since there are external dependencies, you need to specify where they lies if they are not in your standard path. For example, setting the following environnement variables for the NetCDF libraries:

export NETCDF_CFLAGS=""
export NETCDF_FFLAGS="-I/usr/include"
export FPM_FFLAGS="${NETCDF_CFLAGS} ${NETCDF_FFLAGS}"

export NETCDF_CLIBS="" 
export NETCDF_FLIBS="-L/usr/lib/x86_64-linux-gnu"
export FPM_LDFLAGS="${NETCDF_CLIBS} ${NETCDF_FLIBS}"

Then you can run the build with fpm:

fpm build

With successful built, you can run the standard example:

fpm run