PRIMAVERA Data Management Tool
This is the original version of the DMT developed and implemented for the PRIMAVERA project. This version makes some assumptions about the layout of the storage at JASMIN and all data files must comply with the CMIP6 metadata standards. Development of a more generic successor has begun at https://github.com/MetOffice/primavera-dmt and everyone is invited to use or contribute to the new version.
-
Load a Conda or virtualenv environment containing:
django django-filter django-solo django-tables2 mock netcdftime irisFor example in Conda:
conda create -n primavera-dmt -c conda-forge python=3.7 django=2.2 django-filter mock netcdftime iris source activate primavera-dmt pip install django-solo django-tables2Alternatively, if the validation of files won't be run then Iris isn't required and all requirements can be installed via pip:
python -m pip install --upgrade pip pip install -r requirements.txtIf validation will be run then clone the primavera-val code:
git clone https://github.com/PRIMAVERA-H2020/primavera-val.git export PYTHONPATH=$PYTHONPATH:./primavera-val -
Create local settings:
$ cp pdata_site/settings_local.py.tmpl pdata_site/settings_local.pyPopulate the value of
SECRET_KEYon line 23 ofpdata_site/settings_local.pywith a suitable random string. A string can be generated from the command line:$ python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())' -
Django set-up:
mkdir db python manage.py makemigrations pdata_app python manage.py migrate -
Run tests:
python manage.py testIf Iris wasn't installed then the validation tests should be skipped:
python manage.py test --exclude-tag=validation -
View the website in a local development server: In
pdata_site/settings.pyenable debug mode by changing line 19 to:DEBUG = TrueStart the development server:
$ python manage.py runserverPoint your browser at
http://localhost:8000/to view the site.