Skip to content

Netcdf export#280

Open
gloriajjl wants to merge 10 commits intodevfrom
netcdf_export
Open

Netcdf export#280
gloriajjl wants to merge 10 commits intodevfrom
netcdf_export

Conversation

@gloriajjl
Copy link
Copy Markdown
Contributor

Implementation of the NetCDF export issue #71


from netCDF4 import Dataset

dataset = Dataset("temp.nc", 'w', format='NETCDF4')
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я не впевнена щодо того, чи треба тут створювати файл з унікальним ім'ям чи ні. Поки що це один файл. І я його не видаляю по закінченню роботи. Все одно перезапишеться наступного разу.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Проблема тут в тому, що на релізній версії буде gunicorn і він запускатиме процеси паралельно. Коли у тебе два потоки будуть користувати той сами файл, буде не альо. Раджу зробити через отак щоб файл був гарантовано унікальний, якщо уже не можна уникнути файла. А без файла там ніяк?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Без файла не получилося :( Я пробувала через StringIO зробити, але потім почитала, що здається такий фокус не прокатує з Dataset

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я пропоную тоді так: зробити зараз з файлом і зробити міні-ішью ще на «зробити без файла» з тегом improvement, на колись потім.

@elpiankova elpiankova self-requested a review August 28, 2018 08:43
altitudeVar.units = 'km'
dataVar.units = 'Date (YYYYDDD), "UT (ms), Longitude (deg), Latitude (deg), Altitude (km)'

dateVar[:] = dates
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Дивний синтаксис, це для примусового копіювання?


from netCDF4 import Dataset

dataset = Dataset("temp.nc", 'w', format='NETCDF4')
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Проблема тут в тому, що на релізній версії буде gunicorn і він запускатиме процеси паралельно. Коли у тебе два потоки будуть користувати той сами файл, буде не альо. Раджу зробити через отак щоб файл був гарантовано унікальний, якщо уже не можна уникнути файла. А без файла там ніяк?

latitudeVar.units = 'deg'
longtitudeVar.units = 'deg'
altitudeVar.units = 'km'
dataVar.units = 'Date (YYYYDDD), "UT (ms), Longitude (deg), Latitude (deg), Altitude (km)'
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Мене насправді непокоїть ще оцей рядок. Я прочитала десь, але тепер не можу знайти де, що ніби для compoundType не можна задавати атрибути, в тому числі units для складових цього великого основного типу. Тому я зробила так. Але не впевнена в своїй правоті

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Це в NetCDF власне? Зараз сходу не можу сказати, попробую зібрати і перевірити.

data = dataset.createDimension('Data', numElems)

import numpy as np
dateVar= dataset.createVariable('Date', np.float32, ('Date'))
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не зовсім впевнена щодо типу даних Дата. Тут я поставила float32 зразу, і забула виправити перед комітом. Мабуть логічніше було int32. Алн можливо це має бути щось зовсім інше? String чи взагалі якийсь тип Дата чи Час. Далі в compoundType (рядок 152) я ці дані записую як стрінг. Але мабуть треба зробити тип однаковим тут і там. питання тільки в тому - яким він має бути. В netcdf4 бібліотеці є якісь інструменти для конвертування дати та часу в гарне представлення, але я ними не користувалася, бо не знала, чи потрібно це

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Можна пушати в ту саму гілку і коміт додастся :)

Copy link
Copy Markdown
Member

@elpiankova elpiankova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unique name of temporary netcdf file and add suport for multicomponent data like for Variant

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants