تحل المواسم محل بعضها البعض في وقت سابق من عام إلى آخر في كيميروفو

مرة أخرى ، متمايلًا ، زررت سترتي تمامًا وزرعت وتيرتي ، وأسرعت إلى العمل. في العمل ، القهوة الساخنة ، وحدة نظام دافئة ومهام مثيرة للاهتمام. لكنهم لم يدوروا في رأسي ، بينما كانت الرياح الباردة تتدفق في حضني ، ولكن كان هناك شك غامض طفيف في المواسم المتغيرة. كان من الضروري التحقق مما إذا كان الاحترار والتبريد قد حان في الوقت المناسب ، وليس قبل ذلك؟ ربما تغيرت المواسم؟


وغني عن القول ، عند وصولي إلى العمل ، نسيت التفكير في شكوكي الغامض. لكنها لم تتبدد تمامًا ، ولكنها ظهرت أحيانًا في رأسي ، على سبيل المثال ، عندما عانيت من الحرارة في مايو أو رأيت شجرة صفراء في يوليو.



لذلك ، دون اتباع المبدأ الذي يتطلب منك البدء في تقديم فكرة في أول 48 ساعة ، بعد عدة أشهر ، أجريت القليل من البحث لاختبار شكوكي. تذكير مقال عن Gismeteo .


البيانات


كانت الخطوة الأولى للحصول على البيانات. كما اتضح ، فإن إيجاد متوسط ​​درجات الحرارة اليومية ليس سهلاً كما قد يبدو. بعد خمس دقائق من googling ، صادفت سؤالاً عن محمصة الخبز ، حيث وصلت إلى الموقع www.ncdc.noaa.gov . لكن البيانات المستلمة لم ترضيني (الكثير من الإغفالات في التواريخ) ، استمر في googling ، حصلت على ما كنت أبحث عنه على الموقع http://aisori-m.meteo.ru/waisori/ .


جزء من البيانات:


29645 1955 1 1 "-31.0" 29645 1955 1 2 "-23.8" 29645 1955 1 3 "-18.7" 29645 1955 1 4 "-13.3" 29645 1955 1 5 "-16.8" 29645 1955 1 6 "-16.8" 29645 1955 1 7 "-18.6" 29645 1955 1 8 "-17.0" 29645 1955 1 9 "-6.7" 29645 1955 1 10 "-10.4" 

الحصول على درجات حرارة سنوية مع تعويض


بادئ ذي بدء ، قمت بتحويل ملف csv مع البيانات إلى مصفوفة من الكائنات.


ثم كتب دالة ترجع عامًا من المصفوفة مع إزاحة عدد معين من الأيام.
بمزيد من التفصيل ، لدينا مثل هذه القطعة من الصفيف:


 ... 1955 12 29 -34.5 1955 12 30 -37.7 1955 12 31 -36.3 1956 1 1 -29.2 1956 1 2 -32.9 1956 1 3 -38.1 1956 1 4 -36.6 ... 

إذا طلبت جميع بيانات عام 1956 في الوظيفة ، فسيتم إرجاعها ببساطة ، وإذا طلبت بيانات مع إزاحة -1 يوم ، فسيتم قياس درجة الحرارة لكل يوم من اليوم السابق. أي ، في 1 يناير 1956 ، سيتم أخذ درجة الحرارة في 31 ديسمبر 1955


 ... 1956 1 1 -36.3 ← ( 1955 12 31) 1956 1 2 -29.2 ← ( 1956 1 1) 1956 1 3 -32.9 ← ( 1956 1 2) 1956 1 4 -38.1 ← ( 1956 1 3) ... 

الحصول على متوسط ​​درجة الحرارة الشهرية


في شريحة الصفيف الناتجة عن السنة ، قمت بحساب متوسط ​​درجات الحرارة الشهرية ، وبالتالي الحصول على متجه درجة الحرارة للسنة.


 [ -16.716129032258067, -16.317857142857143, -17.690322580645155, -11.57333333333333, 0.3967741935483872, 9.163333333333332, 17.845161290322586, 17.225806451612904, 15.490000000000004, 9.922580645161291, 1.7233333333333334, -8.26774193548387 ] 

المسافة بين سنوات الإزاحة


إذا كان لدي ناقل درجة حرارة لمدة عام ، فيمكنني مقارنة المسافة بين المتجهات.
أي أنه إذا كان الطقس لم يتغير على الإطلاق من عام إلى آخر ، فستكون المسافة بين المتجهات صفرًا. من هنا قررت أن أقارن ، على سبيل المثال ، ناقل عام 2001 وجميع ناقلات عام 2002 التي تم الحصول عليها بواسطة الإزاحة.


 ... 2001  == 2002  -2  2001  == 2002  -1  2001  == 2002  2001  == 2002  +1  2001  == 2002  +2  ... 

بعد أخذ تعويض تلك المقارنة ، حيث تكون المسافة بين المتجهات ضئيلة. أي ، إذا اتضح أن المسافة بين 2001 و 2002 +2 الحد الأدنى ، فقد تم تغيير موسم 2002 قبل يومين مقارنة بعام 2001.


بالنظر إلى المستقبل ، سأقول أنني أخذت عام 1956 للسنة الأولى ونظرت إلى التحول لمدة 30 يومًا ذهابًا وإيابًا.


نصنع الرمز


قمت ببرمجة الخوارزمية على js وقمت بإنشاء موقع صغير للتحقق بسهولة.
كود المصدر على جيثب .


التحقق من الافتراضات


كيميروفو


أجل! بدأت المواسم تتغير بشكل أسرع من عام 2013 بـ 10 أيام ، وفي المتوسط ​​منذ عام 1956 بـ 8 أيام!


موسكو


لا يوجد أي نزوح تقريبًا.


أرخانجيلسك



كالينينغراد



سانت بطرسبرغ



تيومين



فلاديفوستوك



الخلاصة


لم يتم خداع الإحساس ، ولكن لا تزال هناك حاجة لفحص الأحاسيس.


PS في الواقع ، كنت أبحث عن نوفوسيبيرسك. على موقع نوفوسيبيرسك لم يكن ، لكن كيميروفو كنت راضية تمامًا.


PPS كما اتضح بعد ذلك بقليل ، كان الملف مفقودًا في عام 2018 ، وكنت بحاجة في شهر يناير ، لذلك قمت بتنزيل الشهر المفقود من موقع pogodaiklimat.ru .

Source: https://habr.com/ru/post/ar421077/


All Articles