Часть 4. Удаленное использование. Все для программирования на Fortran и Python

Всем привет! В прошлый раз я остался один на один с изнуряющим научным текстом на 4 страницы и заявлением о том, что как качество интернета, так и его доступность в ИВП РАН омерзительны. Проблемы с подключением наводят меня на мысли об обустройстве кабинета роутером. Надеюсь в скором времени получить фидбек от Всеволода, в лаборатории которого эта чудо-машина по раздаче интернета установлена и даже работает. Надеюсь получится и у нас все установить. И чтобы все без надрыва работало.
Так вот, текст я перевел, притом сохранив его в формат .doc, а не во внутренний формат LibreOffice .odt, так как рассчитывал, что им еще будут пользоваться в стандартном пакете от майкрософта. На своем домашнем ноутбуке проверил читабельность файла: все открывается, форматирование не сбито, но шрифт freeserif, обработанный процессором microsoft word смотрится не так красиво, как в LibreOffice. Вообще я большие надежды возлагаю на курс по Latex, который должен уже на следующей неделе стартовать на Coursera (https://www.coursera.org/course/latex), и который предназначен для избавления от WYSIWYG (http://ru.wikipedia.org/wiki/WYSIWYG) стратегии использования ПО для создания текстовых документов. Можно было бы и диссертацию в Latex начать писать, но боюсь поезд ушел. Хотя энтузиастами даже шаблон для диссертации в Latex был создан (https://github.com/AndreyAkinshin/Russian-Phd-LaTeX-Dissertation-Template).
Сегодня суббота, день для чтения всяких полезных и не очень книг. Специально взял с работы шикарную книгу по итогам PUB (http://www.cambridge.org/br/academic/subjects/earth-and-environmental-science/hydrology-hydrogeology-and-water-resources/runoff-prediction-ungauged-basins-synthesis-across-processes-places-and-scales), жаль, что в понедельник ее нужно будет вернуть.
Использовать рабочий компьютер сегодня нет необходимости, но пользуясь нормальным домашним интернетом (условно нормальным, конечно, потому что netbynet – ужасный провайдер) установим некоторое необходимое программное обеспечение.
1. TeamViewer (http://www.teamviewer.com/ru/index.aspx). Незаменимая программа для удаленного доступа к компьютеру. У меня она даже на телефоне стоит – проста в работе, очень удобна, кросс-платформенная. Лучше сразу создать аккаунт – тогда все ваши компьютеры будут доступны в один клик!
Итак, сначала идем в уже знакомый нам магазин приложений Muon. Поиск в его нутрах никакого результата не дал, значит идет на официальный сайт. Там в разделе СКАЧАТЬ легко находим .deb пакет для убунту, загружаем. Щелчок мыши, выплывает наш Package Installer и погнали. Соглашаемся с Политикой и Терминами и вуа-ля! Входим в учетную запись, проверяем все ли компы в списке (о да, все ок), выдыхаем – это нам далось легко!
2. QGIS (http://qgis.com/). Открытая, свободно распространяемая ГИС с огромным комьюнити, в том числе и русским. Я долго не хотел уходить из ArcView (даже не ArcGis!!), но сделал шаг к современному программному обеспечению и оно оправдало мои надежды. Qgis отличный инструмент для выполнения всех gis-related проектов, а так как он написал на python, а также имеет отличную интеграцию с БД PostgreSQL, то подходит не только новичкам в ГИСах, коим являюсь и я, но и опытным пользователям. Я бы очень хотел дожить до переноса нашей модели из маргинализированной работы компиляторов и старинных фортранов в ГИС-среду объектного управления – и для пользователя приятно, и для исследователя удобно.
Но начнем установку. Ищем в нашем Muon Software center. И… не находим и его! Ладно, это не беда. Переходим на оф.сайт. Там лежит подробная инструкция по установке на linux (http://qgis.org/en/site/forusers/alldownloads.html#linux). Можно было бы также скачать .deb пакет, но хотелось попробовать геморный путь – через терминал. По порядку – добавляем репозиторий Qgis в Muon, далее из-под терминала апдейтим пакеты (sudo apt-get update), добавляем ключ верификации (в инструкции все эти шаги прописаны подробно), устанавливаем qgis (sudo apt-get install qgis python-qgis).
В qgis доступно множество различных плагинов, отдельно я отмечу мощнейший GRASS (http://qgis.org/en/docs/user_manual/grass_integration/grass_integration.html), а также плагины можно писать самому на питоне (спросите Виталия Исаева как, или прочитайте вот это: http://gis-lab.info/qa/qgis-dev-python.html).
Также все это вы можете найти на главном геоинформационном портале страны GISLAB (http://gis-lab.info/qa/qgis-install-linux.html), если что-то не ищется, то всегда ожно зафлудить у них на форуме.
Проблем с запуском qgis у меня не возникло. Это уже версия 2.2, и стоит отметить, что на подопытном ноуте она запускается даже быстрее, чем на моей домашней винде с 12Гб оперативки 🙂
3. Geany (http://www.geany.org/). Простой, легкий, но мощный инструмент для разработки программ. Был выбран путем просмотра поисковой выдачи Гугла по теме Fortran IDE in Ubuntu. Я пробовал уже с ним работать на виртуалке с Ubuntu 12.04, простейший “hello, world” и арифметику он потянул, прекрасно взаимодействуя с компилятором. Не знаю как обстоят дела с чтением и переносом уже написанных программ (моделей) с винды, наверное, Паша Шабанов знает, но никак об этом не пишет! 🙂
Так как Geany поддерживает воз и маленькую тележку типов файлов, то, в принципе, в нем можно было бы прогать на python, и на latex. И если у latex еще есть шанс поселиться в этой IDE, то у python уже нет. Для него есть прекрасный научно-ориентированный Spyder, о котором ниже.
А Geany нам нужен для работы с Fortran. Объявлена также поддержка кучи плагинов, но посмотрим-поглядим, как руки дойдут!
Устанавливаем Geany напрямик из магазина Muon.
Но самая важная вещь при работе со стариком-фортраном, это, конечно, компилятор! О нем как раз далее.
4. gFortran compilator (http://gcc.gnu.org/fortran/). Наиболее распространенный и используемый компилятор Фортрана. Когда искал варианты альтернативных компиляторов для винды, столкнулся с биографией Грейс Хоппер (http://ru.wikipedia.org/wiki/%D0%A5%D0%BE%D0%BF%D0%BF%D0%B5%D1%80,_%D0%93%D1%80%D0%B5%D0%B9%D1%81). Это настолько прекрасная женщина, что о ней пишут до сих пор, а гадкий CBS заблокировал для нашей страны интервью с ней.
Compaq Visual Studio, который под одной оболочкой нес и компилятор и отличную среду разработки был настолько прекрасным, что его правопреемник Intel fortan composer успешно коммерциализовался (http://softwarestore.ispfulfillment.com/store/Product.aspx?skupart=I23S91). Цена неподъемная конечно. Можно еще плясать с бубном вокруг Microsoft Visual Studio, но все равно функционала и удобства Compaq-а достичь не так-то просто, тем более для неискушенного пользователя. Не даром многие и не уходят с WinXP из-за отлаженной среды научных расчетов, построенных на решении от Compaq.
Такое ощущение, что в магазине Muon вообще ничего нет и непонятно как оно туда попадает, в классическом Ubuntu software center можно было найти и qgis и gfortran, благо для линукса можно либо все скачать с оф.сайтов в виде .deb пакета, либо при подключенных репозиториях использовать напрямую консоль. Мы так и сделаем на этот раз. Напишем в консоли “sudo apt get install gfortran”  и все получится!
Про сам gfortran и особенности его применения можно почитать в его wiki: http://gcc.gnu.org/wiki/GFortranGettingStarted. Думаю мы к нему обязательно вернемся.
Я написал обычный hello world в две строчки и проверил, все работает. Теперь только нужно будет разбираться с fortran fixed format в котором написана модель и соответствующими плагинами в geany для удобства редактирования.
Итак, для программирования на языке Фортран у нас все готово. Теперь приступим к созданию среды разработки на Python.
5. Spyder (https://code.google.com/p/spyderlib/). Отличное IDE для разработки на Python ориентированное на научные расчеты. Строго говоря, программировать можно любом из языков, подготавливая программу в текстовом редакторе, а потом компилируя ее. IDE просто предоставляет нам возможности расширенного поиска ошибок, подсветки синтаксиса, а также удобство работы “в одном окне”. Spyder является основным компонентом набора python(x,y) для разработки на Питоне под винду, поэтому с ним я и до этого эксперимента был знаком.
Вот его-то можно установить и через Muon, и через консоль (sudo apt-get install spyder). Достоинстовм является большое комьюнити и богатая документация (https://pythonhosted.org/spyder/index.html).
6. SciPy (http://www.scipy.org/). Библиотеки, предоставляющие широкий функционал в работе с данными при программировании на python. Тут и массивы, и статистика, и визуализация. Установим все и сразу командой в консоли: sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose .
Отмечу, что установка этих пакетов обойдется вам в 500 мб дискового пространства!
Ну вот и все на сегодня! Теперь на подопытном ноуте есть все для того, чтобы начать уж программировать!
Спасибо, что читаете!
Advertisements

4 thoughts on “Часть 4. Удаленное использование. Все для программирования на Fortran и Python

  1. Павел Шабанов

    C Geany на windows всё просто! Там можно и gfortran и python запускать. Главное – прописать пути в переменных окружения. Spyder действительно отличная штука, особенно с ipython console! Не такой он, правда, шустрый, как geany, но всё равно. А вот для запуска с gfortran модели в коде с fixed-format: добавляешь -ffixed-form в строку (или в настройках geany).

    Reply
    1. Georgy Ayzel Post author

      Паша, тебе нужно методичку написать для таких дебелых как я. У меня полдня ушло на поиск этой опции gfortran, а ты первым комментом расставил все точки над i. Спасибо! А вообще лучше, конечно, начинать этим заниматься с универа, в принудительном порядке. Сейчас сложнее уже. Можешь, кстати, методичку в виде видеоуроков! Я сегодня парочку посмотрел, очень информативно 🙂

      Reply
  2. Виталий Исаев

    Не помню, каментил сюда или нет, но по теме могу сказать, что люблю geany, но всё меркнет по сравнению с vim…

    Reply
    1. Georgy Ayzel Post author

      Я хотел было попробовать поработать с вим, но туториал на хабре свернул меня с этого пути 🙂

      Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s