Компиляция и настройка MITgcm, океан в компьютере. Часть 3, запуск и просмотр результатов
В предыдущих частях (раз, два) мы рассмотрели компиляцию модели и подготовку к ее запуску. В этой части мы наконец-то заставим модель работать.
Давайте соберем то, над чем мы работали в первых двух частях. Перейдите в папку run и скопируйте туда экзешник модели и данные из папки input.
cp ../input/* .
теперь запустите модель:
> out.txt служит для перенаправления вывода модели в текстовый файл, который, при желании, можно потом проанализировать.
Если через некоторое время вы увидели в командной строке надпись
радуйтесь, у вас все получилось. Если вместо этой надписи появляется ошибка и вы обновлялись до последнего кода из CVS, возможно стоит все таки загрузить последний чекпоинт. Также полезная информация о причинах ошибки может содержаться в файле STDERR.0000, который должен появиться в вашей папке, либо собственно в выводе модели, который вы благоразумно сохранили в файл out.txt.
Но предположим, что все сработало как надо. Тогда в папке, в которой вы запускали модель должна появиться куча файлов вида
,
в которых начальные буквы — название переменной (в данном случае T-температура), затем номер итерации, номер тайла или номер процессора. Если вы помните наше ковыряние в файле SIZE.h, сетка модели может быть поделена между тайлами и процессорами, и по умолчанию вывод модели также будет поделен в соответствии с тем, как вы распределили вашу сетку. В нашем случае процессор один и от тайлов мы избавились, так что особых проблем не предвидится. Однако на многопроцессорных системах бывает удобно автоматически сливать все части в один файл, для этого в файле data в раздел &PARM01 нужно добавить
Но что-то мы отвлеклись, вернемся к нашим файлам. Есть файлы *.data и файлы *.meta. Файлы *.meta — текстовые и содержат небольшую служебную информацию, то есть метаданные. В файлах *.data хранятся результаты работы вашей модели. Представляют они из себя все те же бинарники, которые можно просматривать также, как мы это делали с файлами форсинга и иниациализации во второй части. ?мена и единицы измерения основных переменных можно посмотреть здесь. Если после имени переменной стоит tave, значит это не «мгновенный» вывод модели не snapshot, а результат осреднения за период времени, заканчивающийся в ту итерацию, номер который стоит в файле. Есть еще файлы пикапов и файлы с описанием грида, которые сгенерировала модель, но мы не будем на них останавливаться.
Смотреть файлы по одному, при помощи нашего простого скрипта из второй части, дело, конечно, интересное, но утомительное. Опять же никакого особого анализа не проведешь. К счастью разработчики модели и им сочувствующие написали большое количество скриптов для обработки и анализа результатов работы модели. К сожалению (ну а для кого-то может быть и к счастью), большинство этих скриптов написано на MATLAB. Основная их масса находится в папке …./MITgcm/utils/matlab. Поройтесь там, найдете много интересного. Для анализа же этого эксперимента можно начать с скриптов настроенных специально под него. Находятся они в папке …./MITgcm/verification/tutorial_global_oce_latlon/diags_matlab . Самый простой способ начать ими пользоваться это находясь в Матлабе, перейти в папку run и напечатать:
mit_loadglobal
В итоге вы получите массу картинок с разнообразным анализом, например таким:
Чтобы разобраться с тем, как это сделано, придется самостоятельно покопаться в скриптах.
Как однажды мне сказал один из разработчиков модели: «Настоящие мужчины работают с бинарниками». ? чаще всего так и происходит. Уже бинарные файлы вывода модели превращаются в netCDF. Связано это и со скоростью записи данных на диски, которая важна в больших экспериментах и с ограниченностью места на этих самых дисках. Но для небольших экспериментов писать сразу в netCDF может быть удобнее. Давайте настроим нашу модель так, чтобы она сохраняла данные не в бинарных файлах, а сразу в netCDF. За это отвечает отдельный пакет mnc, который мы с вами уже скомпилировали с моделью (если у вас были правильно установлены библиотеки netcdf, конечно).
Для начала сотрем все, что мы насчитали:
Теперь откроем файл data.pkg. Скомпилировать пакет бывает недостаточно для того, чтобы он заработал, нужно также «включить» его путем добавления в файл data.pkg. Как видите пакет mnc сейчас закомментирован, давайте сотрем # перед ним, тем самым раскомментировав его. В итоге файл data.pkg должен выглядеть так:
&PACKAGES
useGMRedi=.TRUE.,
usePTRACERS=.TRUE.,
useMNC=.TRUE.,
&
Теперь откроем файл с настройками самого пакета data.mnc. Как вы видите тут имеется уже несколько параметров, некоторые из которых закоментированы. Расскоментируйте параметр snapshot_mnc , поменяйте .FALSE. на .TRUE. и сохраните файл.
Похоже, что включение этой опции переводит в формат netCDF не только snapshotы, но и все остальные типы файлов. Однако поиграв с настройками часть из них можно выводить в бинарный формат. Процесс настройки пакета mnc похож на процесс настройки большинства пакетов — включаете пакет в data.pkg и меняете его параметры в data.name. Где искать параметры описано во второй части.
Запустите модель еще раз и в вашей папке появится новая папка с именем
В ней будет содержаться файлы с результатами работы модели в формате netCDF. Теперь их можно смотреть при помощи ncview, который мы установили еще в первой части. Вот, например, температура на глубине -290 метров после примерно года интеграции модели:
В публикацию, конечно, не вставишь, но для быстрого просмотра результатов ncview очень хорош.
А вот как выглядит батиметрия , которорая вместе с другими параметрами вашей сетки сохраняется в файл grid.t001.nc
Обратите внимание на то, что если вы будете считать с несколькими тайлами или на нескольких процессорах, данные в netCDF будут, как и в случае с бинарниками, сохраняться в разные файлы для разных процессоров. Склеивать их потом вместе задача не тривиальная и ни один скрипт для этого предназначенный у меня не завелся. ?менно для того чтобы обойти эту неприятность мы избавились от тайлов при редактировании SIZE.h
На этом я, пожалуй, закончу. Надеюсь что руководство получилось не слишком сумбурным и в итоге окажется кому-нибудь полезным. Как вы уже, наверное, поняли простор для экспериментирования практически безграничный и дальше в нем вам поможет ориентироваться достаточно хорошо написанная документация. Пользоваться лучше всего последней pdf версией, которая расположена здесь. Если будет желание поделиться своими результатами, можно это сделать либо в комментах тут, либо на форуме Oceanographers.RU.
UPD Оказывается люди занимающиеся MITgcm в России уже есть. Сергей Семин из Нижегородского Государственного Технического Университета любезно поделился со мной частью своей магистерской диссертации, в которой дано теоретическое описание модели и инструкции по ее запуску, во многом более подробные чем те что представлены здесь.
Очень полезные статьи. Спасибо!
А можно что-то подобное, но по POM и под винду? 🙂
2Phil
Ни про POM, ни, в особенности про POM под винду я писать не готов :)) Но если кто, вдруг, отважится, с удовольствием у себя размещу 🙂
Спасибо за труд! Как говорится, на ловца…
Вопросы есть.
1.Какое быстродейсвие модели, скажем, в описанной Вами конфигурации (4х4, глобальная) на «стандартном» РС, скажем, Athlon 64 5600? Сколько считает год? Сколько лет на установление при фиксированном форсинге?
2. Модель атмосферы на данном ядре вроде бы существует. У Вас есть сведения (или опыт), по технологии запуска (в духе Вашей статьи) атмосферной модели или полной модели океан-атмосфера (или ссылка)?
3.Модель только под Линукс, или есть вариант под Винду?
4.Некоторые скриншоты в тексте не читаются, т.е. рамка и слайдеры есть, а текста в них нет (например, 1й с начала и 3й с конца в части 1). Это только мои проблемы?
? еще вдогонку. В модели, как я понял, есть возможность легко изменять рельеф дна. А очертания континентов также легко менять (это для палеореконструкций)?
2Dmitriy T
1) Ну за разные конфигурации не скажу, но на моем далеко не самом новом Dell XPS 1330 сто лет, которые необходимы для установления, считает минут 80. Сильно влияют на скорость операции ввода-вывода, то есть если вы решите сохранять каждый шаг, то скорость, конечно, уменьшится.
2) Да, модель атмосферы существует, и она также описана в pdf документации, есть для нее и примеры, которые по существу не сильно отличаются от того что описывал я. Опыта запуска у меня нет, но, опять же, думаю что отличаться он будет только в деталях. Примеры с закапленными версиями есть в папке verification, но, насколько мне известно, документации по ним нет.
3) Теоретически можно запустить ее и под винду, это просто код на фортране, который должен скомпилироваться в идеале на любой системе где есть компилятор фортрана. Практически же я знаю только об удачных запусках модели на MacOS, но про подобные запуски под виндоуз мне не известно. Хотя, повторюсь, теоретически такая возможность существует.
4) Проверил, вроде все в порядке, видимо проблема у вас.
5) Вся земля в файле батиметрии имеет значение 0, так что где вы ее разместите уже ваше дело, можно и Пангею нарисовать, и квадратные материки сделать, тут никаких проблем нет. Если вам нужны палеореконструкции закапленные, то лучше? наверное, использовать какую ни будь MIC, например Planet Simulator, я писал про него немножко тут http://koldunov.net/?p=12
1. 80 min — это при расчете на одном процессоре?! Хорошо!
2. С Вашей статьей про Planet Simulator я ознакомился, спасибо! Но по-моему она построена на довольно старом ядре ECMWF 80-х годов прошлого века, или я ошибаюсь? Кроме того, параметризации процессов там, кажется, весьма упрощенные. Океан там термодинамический? Не знаете ли, насколько легко в Planet Simulator вставить собственные параметризации и граничные условия или нужно лезть в код? А то по Вашей статье складывается впечатление, что это игрушка с ограниченным количеством предустановленных настроек.
MITgcm, при поверхностном пока обзоре, производит впечатление модели другого поколения. Кроме того, огромное количество настроек любых параметров. Розовая мечта — запустить MIT совместную атмосфера-океан, да так, чтобы она еще и считала за обозримое время! После Вашей публикации это не кажется нереальным, или я не вижу каких-то подводных камней?
2Dmitriy T
2) То что описано в статье это по большому счету графический интерфейс, не более. Сама модель, конечно, гораздо сложнее, и возможности по параметризации у нее довольно широкие, это совсем не игрушка.
Я бы, конечно, при выборе модели ориентировался на ту задачу, которую вы ставите. Что вы хотите исследовать в палереконструкциях? Насколько сложная модель вам нужна? Возможно все таки нет необходимости заморачиваться с полной GCM или ESM, достаточно будет EMIC, список которых приведен здесь http://www.pik-potsdam.de/emics/ ?х преимущества в том что можно считать на одном процессоре тысячи лет, и многие ансамбли, при этом оставаясь в рамках более-менее реальной физики.
Если вам все таки нужна полная ESM, то можно посмотреть в сторону либо COSMOS (Модели Макса Планка) http://cosmos.enes.org/ (чтобы получить код нужно связываться с разработчиками), либо CESM (бывший CCSM) http://www.cesm.ucar.edu/ . Это наборы из блоков в виде современных моделей, со скриптами, обеспечивающими их работу. То есть вы можете в полуавтоматическом режиме выбрать какие модели у вас будут работать (океан атмосфера лед, например) и достаточно быстро это дело сконфигурировать.
MITgcm все таки больше для симуляции океана с внешним атмосферным форсингом. Работ которые бы использовали бы ее атмосферный модуль, и уж тем более закапленную версию исчезающе мало, то есть вам придется быть тут первопроходцем и закапываться в код по полной.
1. Спасибо за развернутый ответ! К сожалению опыт использования упрощенных моделей не впечатлил, это та самая простота, которая… ну дальше знаете. Модели атмосферы с разрешением ниже Т42 дают, к сожалению, неудовлетворительные результаты, так что придется «мучиться» с полной моделью с высоким разрешением.
А модели океана, по-вашему, с какого разрешения дают удовлетворительные (для целей моделирования глобального климата) результаты? Опыта нет (сам метеоролог), из теории помню, что разрешение д. быть больше атмосферного на порядок, получается 25 км, что ли?
2. А CESM требует лицензирования или ставит какие-то ограничения на использование, не знаете, какая у них политика?
3. В MITgcm учитывается ли радиация, или для форсинга нужны толко ветер и баланс влаги?
1. Всем хочется гонять модели на высоких разрешениях, но, к сожалению, это далеко не всегда получается 🙂 У меня не очень большой опыт в coupled моделировании климата, но я думаю что, например, хорошим ориентиром могла бы служить табличка с описанием моделей из отчета IPCC http://www.ipcc.ch/pdf/assessment-report/ar4/wg1/ar4-wg1-chapter8.pdf Конечно, было бы здорово иметь в океане разрешение на порядок больше чем в атмосфере, но в реальности, как видно из таблицы, разрешения не сильно отличаются. В новом отчете 2013 года разрешения будут больше, но не сильно (там сделан упор на переход к earth system models). Думаю что начать с одноградусной сетки, а то и полуторо градусной — вполне неплохо. Уже для такого разрешения вам нужны будут огромные вычислительные ресурсы, возможно что там где вы работаете они имеются.
В институте Макса Планка довольно много народу занимается палеореконструкциями на ECHAM/MPI-OM, в том числе и с измененными границами материков. Возможно легче всего было бы связаться с кем то из них и либо использовать уже посчитанные данные, либо попробовать получить уже по большей части готовый сетап. Проще эти конкретные вещи обсуждать по email, если идея вам нравится, напишите мне на koldunovn@gmail.com, можем обсудить.
2 В основном это GPL, но не все, подробнее тут http://www.cesm.ucar.edu/models/ccsm3.0/copyright.html
3. Да, конечно, радиация необходима, по крайней мере для реалистичных симуляций.
Отличная работа! ?спытал на примерах — работает… Прошу помощи или совета по созданию входных файлов (батиметрия, поля температуры,солености и др.). Есть опыт моделирования с помощью POM (модификации руководителя по созданию примитивного интерфейса) и, в дальнейшем, желаю сравнить результаты с MITgcm-моделированием. В качестве исследуемой акватории беру Черное море.
2gek
Если не нужна криволинейная сетка, то самый простой вариант
— задать координаты начального угла сетки
ygOrigin=,
xgOrigin=,
— задать количество гридпоинтов по x и y и шаг сетки
delX=130*0.35979,
delY=102*0.35979,
в этом примере 130 — количество гридпоинтов, 0.35979 (градусы широты)
— также не забудьте задать шаги по вертикали в delR
— запустить модель
— она вылетит с ошибкой, но при этом создаст файлы с описанием сетки, в частности файлы с координатами центров гридпоинтов XC.data и YC.data
— в эти координаты интерполируйте свою батиметрию и начальные условия.
Если вопросы остались, или возникнут новые пишите на koldunovn@gmail.com
Like!! Really appreciate you sharing this blog post.Really thank you! Keep writing.
Wirkung Von Viagra Verstarken Cialis Cialis Preise Schweiz buy generic cialis Cheapest Synthroid No Prescription
Propecia With Synthroid Buy Cialis Effetti Cialis 20 Mg cialis cheapest online prices Kamagra With Food
Cialis En El Mundo cheap cialis Buy Viagra No Orsscriotion cialis 5 mg Doxycycline Online Cheap
Long time supporter, and thought I’d drop a comment.
Your wordpress site is very sleek — hope you don’t mind me asking what theme you’re using?
(and don’t mind if I steal it? :P)
I just launched my site —also built in wordpress like yours— but the theme
slows (!) the site down quite a bit.
In case you have a minute, you can find it by searching for «royal cbd» on Google (would appreciate any feedback) — it’s still in the
works.
Keep up the good work— and hope you all take care of yourself during the
coronavirus scare!
Propecia Causas Cialis Nuova Propecia Caduta Cialis Propecia Rogaine Foam
My name is Landon (32 years old) and my hobbies are Table tennis and Bboying. http://aaa-rehab.com
Hey! I know this is kind of off-topic however I had to ask. Does building a well-established blog like yours take a massive amount work? I’m completely new to blogging however I do write in my journal on a daily basis. I’d like to start a blog so I will be able to share my personal experience and thoughts online. Please let me know if you have any kind of suggestions or tips for new aspiring bloggers. Thankyou!|
…Do Keto pills work for weight loss?
[…]Ketogenic Keto Pills for Women and Men
How Jazzercise Has Dominated The Fitness Industry:
[…]Jazzercise On Demand Full-Body Dance Fitness
testogen where to buy:
[…]testogen where to buy
Best Supplements for Muscle Gain and Strength:
[…] Best Supplements for Muscle Gain and Strength
Trackback
[…]VAGINA TIGHTENING
dr oz keto pills shark tank:
[…]dr oz keto pills shark tank
Trackback
[…]health and medical news and information
enewsreporter
xs max military hoesje lebron james away jersey dkny paris tote torba iphone 7 black marble case personalized pencil zak apple ?ern? silicone pouzdro iphone 8 plus
slovar po psihoanalizu laplansh
slovar po psihoanalizu laplansh
uels ukrain
uels ukrain
qQ8KZZE6
qQ8KZZE6
D6tuzANh
D6tuzANh
http://bit.ly/odna-film
http://bit.ly/odna-film
https://ria.ru/20100906/272903623.html
https://ria.ru/20100906/272903623.html
SHKALA TONOV
SHKALA TONOV
????? ?????
????? ?????
russianmanagement.com
russianmanagement.com
chelovek-iz-90-h
chelovek-iz-90-h
3Hk12Bl
3Hk12Bl
3NOZC44
3NOZC44
01211
01211 21546
tor-lyubov-i-grom
tor-lyubov-i-grom
film-tor-2022
film-tor-2022
hd-tor-2022
hd-tor-2022
hdorg2.ru
hdorg2.ru
Psikholog
Psikholog
netstate.ru
netstate.ru
https://bit.ly/psikholog-muzhchina-onlayn
https://bit.ly/psikholog-muzhchina-onlayn
Link
Link
tor-lyubov-i-grom.ru
tor-lyubov-i-grom.ru
psy
psy
chelovek soznaniye mozg
chelovek soznaniye mozg
bit.ly
bit.ly