This calendar, originally Julian, is of obvious Latin origins (the Kabyle forms of the month names are Yennayer, Furar, Meɣres, Yebrir, Yunyu, Yulyu, ɣuct, Ctember, (K)tuber, Nu(ne)mber, Duǧember/Buǧember). But it is fairly widely found in medieval Arabic writing, starting as early as the 10th-century Andalusi book al-`Iqd al-Farīd, which quotes the doctor Isḥāq ibn `Imrān of Qayrawān giving health advice for each month:
So in Yennayer drink strong drink each morning; in Fubrayr do not eat chards [...] in Nubambar do not enter the bathhouse; in Dujambar do not eat rabbit.Note that he uses the month names 'Aghusht (August) and Dujambar (December), aligning him firmly with the North African month name tradition rather than those of other Arabic-speaking regions. In such works, the calendar is usually called `ajami, as in the 12th-century history of Ibn Ṣāḥib al-Ṣalāt:
فيفي شهر يناير تشرب شراباً شديدياً كل غداة. وفي شهر فبرير لا تأكل السلق. وفي مارس لا تأكل الحلواء كلها وتشرب الأفسنتين في الحلاوة. وفي أبريل لا تأكل شيئاً من الأصول التي تنبت في الأرض ولا الفجل. وفي مايه لا تأكل رأس شيء من الحيوان. وفي يونيه تشرب الماء البارد بعد ما تطبخه وتبرده، على الريق. وفي يوليه تجنب الوطء. وفي أغشت لا تأكل الحيتان. وفي سبتمبر تشرب اللبن البقري. وفي أكتوبر لا تأكل الكراث نيئاً ولا مطبوخاً. وفي نبنبر لا تدخل الحمام. وفي دجنبر لا تأكل الأرنب. (source)
...he returned to Marrakech on the morning of Saturday 11 Rabī` II (sic, should be Rabī` I), corresponding to the `Ajamī date 15 Yennayer, of the year 561.It's a lot easier to keep a calendar if you know how to read and write, and Coon's account of traditional Riffian Berber society make it clear that, there at least, the local religious scholar was charged with this duty:
فكان وروده حضرة مراكش ضحوة يوم السبت الحادي عشر من ربيع الآخر الموافق للخامس عشر من يناير العجمي من عام واحد وستين وخمس مائة. (source)
Agriculture in the Rif and in the Senhaja country is conducted on the basis of the old Roman calendar, the names of the months surviving in a form very little altered from its original character. I was unable to transcribe these names exactly since I could find no one who both knew them and was willing to reveal them. Knowledge of them is confined to the fḳih, the preceptor or religious head of each group of villages, and to his students. The fḳih, while delivering sermons at the mosque on Fridays, reveals the agricultural program for the following week and tells the farmers just what activities the season merits. To reveal this calendrical system and the agricultural annotations that go with it would be to relinquish a part of the awe in which the religious leader is held. (Coon 1931:49)Writing not only helped preserve this calendar, but affected its form. In parts of Morocco, June and July are not called Yunyu and Yulyu, as elsewhere, but Yunyuh and Yulyuz. The distinction is impossible to explain from Latin, where they are simply Iunius and Iulius. The first academic article to explain it seems to be Van den Boogert (2002), who shows that the new names are based on a neat mathematical trick.
If you know the date and the day of the week for 1 January, how would you go about figuring out the day of the week of any given date in the year? Well, 1 February is 31 days later; take away four weeks (28 days), and you get 3, so it must start on a day of the week three days later than 1 January. Repeat that procedure for each month in turn, and you get how many days of the week later than 1 January each of them starts. But that's tedious work even with a calculator, much less without it, and if you plan to do it at all often, you'd better just memorise the figures – February starts 3 weekdays later than January, April starts 6 days later, etc. But how can you make it easier to associate 12 numerals with 12 different months?
In Arabic, letters of the alphabet can be used as numerals, following the same old order used in Hebrew and Aramaic: a = 1, b = 2, j = 3, d = 4, h = 5, w = 6, z = 7, ḥ = 8... So what some unsung calendricalist did was tack the appropriate numbers onto each month name, setting the weekday of 1 January = a, as in this medieval Moroccan example: innayr-a, fubrayr-ad, marṣ-ad, abrīl-az, mayyu-b, yunyu-h, yulyu-z, ghusht-aj, shutambir-aw, aktubar-aḥ, nuwambir-ad, dujambir-aw. Memorise this list, and you're sorted. And, as a bonus, it gives you a way to better distinguish the dangerously similar-sounding month names Yunyu and Yulyu.