PAM هي مكتبة بايثون لنمذجة تسلسل النشاط السكاني. أمثلة لحالات الاستخدام:
يدعم PAM تنسيقات السفر والأنشطة الشائعة، بما في ذلك MATSim.
تُستخدم تسلسلات النشاط السكاني (تسمى أحيانًا خطط النشاط ) لنمذجة الأنشطة (أين ومتى يكون الأشخاص في المنزل والعمل والتعليم وما إلى ذلك) والسفر المرتبط بالسكان:
يستخدم مخططو النقل تسلسلات الأنشطة لنمذجة الطلب على السفر، ولكن يمكن استخدامها أيضًا في مجالات أخرى، مثل نقل الفيروسات أو نمذجة استخدام الطاقة.
تم إنشاء PAM في الأصل ومشاركتها لتعديل نماذج الأنشطة الحالية بسرعة للاستجابة لسيناريوهات الإغلاق الوبائي.
استخدمت هذه الوظيفة نمط القراءة والتعديل والكتابة . حيث يتم إجراء التعديلات من خلال تطبيق السياسات . قد تكون أمثلة السياسات (أ) عزل الأشخاص المصابين في المنزل، (ب) يسافر العمال المهمون فقط إلى العمل، و (ج) يتسوق الجميع محليًا.
بالإضافة إلى نمط القراءة والتعديل والكتابة الأصلي ووظيفته، يحتوي PAM على وحدات من أجل:
بشكل أعم، يمكن استخدام بنية بيانات PAM الأساسية ووحداتها كمكتبة لدعم حالات الاستخدام الخاصة بك، بما في ذلك بناء النموذج القائم على النشاط الخاص بك.
يدعم PAM بشكل كامل تنسيق السكان/الخطط MATSim. يتضمن ذلك المركبات والخطط غير المحددة ومسارات الساق وسمات الساق. إحدى حالات الاستخدام الأساسية لـ PAM هي قراءة الخطط التجريبية وتعديلها وكتابتها من MATSim. يمكن أن يسمح هذا ببدء سيناريوهات MATSim الجديدة "بشكل جيد" من السيناريوهات الموجودة، مما يقلل بشكل كبير من وقت حساب MATSim.
للحصول على تعليمات أكثر تفصيلاً، راجع وثائقنا.
لتثبيت PAM، نوصي باستخدام مدير الحزم mamba:
mamba create -n pam -c conda-forge -c city-modelling-lab cml-pam
mamba activate pam
git clone [email protected]:arup-group/pam.git
cd pam
mamba create -n pam -c conda-forge -c city-modelling-lab --file requirements/base.txt --file requirements/dev.txt
mamba activate pam
pip install --no-deps -e .
التثبيت مباشرة باستخدام النقطة كمستخدم ( pip install cml-pam
) أو كمطور ( pip install -e '.[dev]'
) ممكن أيضًا، ولكنك ستحتاج إلى مكتبات libgdal
و libspatialindex
الجغرافية المكانية غير المثبتة مسبقًا .
للحصول على تعليمات أكثر تفصيلاً، راجع وثائقنا.
هناك طرق عديدة لتقديم مساهمات فنية وغير فنية إلى الجمعية البرلمانية للبحر الأبيض المتوسط. قبل تقديم مساهمات في كود مصدر PAM، راجع إرشادات المساهمة الخاصة بنا واتبع تعليمات تثبيت التطوير.
إذا كنت تستخدم pip
لتثبيت PAM بدلاً من mamba
الموصى بها، فيمكنك تثبيت مكتبات الاختبار والوثائق الاختيارية باستخدام خيار dev
، على سبيل المثال، pip install -e '.[dev]'
إذا كنت تخطط لإجراء تغييرات على التعليمات البرمجية، فيرجى الاستخدام المنتظم للأدوات التالية للتحقق من قاعدة التعليمات البرمجية أثناء العمل:
pre-commit
: قم بتشغيل pre-commit install
في سطر الأوامر الخاص بك لتحميل عمليات التحقق المضمنة التي سيتم تشغيلها في كل مرة تقوم فيها بتنفيذ التغييرات. عمليات الفحص هي: 1. التحقق من عدم تنظيم أي ملفات كبيرة، 2. ملفات lint python بحثًا عن الأخطاء الكبيرة، 3. تنسيق ملفات python لتتوافق مع معيار pep8. يمكنك أيضًا إجراء عمليات التحقق هذه بنفسك في أي وقت للتأكد من أن التغييرات المرحلية نظيفة من خلال الاتصال البسيط pre-commit
.pytest
- قم بتشغيل مجموعة اختبار الوحدة، والتحقق من تغطية الاختبار، واختبار تشغيل نماذج دفاتر الملاحظات بنجاح.pytest -p memray -m "high_mem" --no-cov
(غير متوفر على نظام التشغيل Windows) - بعد تثبيت memray ( mamba install memray pytest-memray
)، اختبر أن أداء الذاكرة والوقت لا يتجاوز المعايير.لمزيد من المعلومات، راجع وثائقنا.
إذا لم تتمكن من الوصول إلى الوثائق عبر الإنترنت، فيمكنك إنشاء الوثائق محليًا. أولاً، قم بتثبيت بيئة تطوير PAM، ثم قم بنشر الوثائق باستخدام الميكروفون:
mike deploy 0.2
mike serve
ثم يمكنك عرض الوثائق في المتصفح على http://localhost:8000/.
تم إنشاء هذه الحزمة باستخدام Cookiecutter وقالب مشروع arup-group/cookiecutter-pypackage.