Открытие нескольких файлов в GrADS
Надеюсь, этот вопрос прост и достаточно легок для решения.
У меня проблемы с открытием второго файла в GrADS. Предположим, у меня есть два файла. Первый - это "sst06.ctl", а второй - "sst07.ctl", и в каждом файле есть только одна переменная с именем "sst".
Вот что случилось, когда я попытался открыть их вместе:
ga-> open sst06.ctl
Scanning description file: sst06.ctl
Data file rcp4.5/y2006/sst is open as file 1
LON set to 0 360
LAT set to -89.5 89.5
LEV set to 1000 1000
Time values set: 2006:1:1:0 2006:1:1:0
E set to 1 1
ga-> q file
File 1 :
Descriptor: sst06.ctl
Binary: rcp4.5/y2006/sst
Type = Gridded
Xsize = 360 Ysize = 180 Zsize = 37 Tsize = 365 Esize = 1
Number of Variables = 1
sst 0 99 sea surface temperature [K]
ga-> d sst
Contouring: -0 to 30 interval 3
ga-> c
ga-> open sst07.ctl
Scanning description file: sst07.ctl
Data file rcp4.5/y2007/sst is open as file 2
ga-> d sst.2
Data Request Warning: Request is completely outside file limits
Entire grid contents are set to missing data
Grid limits of file: X = 1 360 Y = 1 180 Z = 1 37 T = 1 365 E = 1 1
Grid limits of request: X = 0 361 Y = 1 180 Z = 1 1 T = -364 -364 E = 1 1
Warning issued for variable = sst.2
Cannot contour grid - all undefined values
По сути, я не могу построить второй файл (sst07.ctl), и он создал график "вся сетка не определена". Конечно, можно подозревать, что что-то не так с файлом "sst07.ctl". Однако, если я открою только файл "sst07.ctl", проблем не возникнет, так как его можно успешно создать, как это было ранее с файлом "sst06.ctl". Ниже сообщение:
ga-> reinit
No hardcopy metafile open
All files closed; all defined objects released;
All GrADS attributes have been reinitialized
ga-> open sst07.ctl
Scanning description file: sst07.ctl
Data file rcp4.5/y2007/sst is open as file 1
LON set to 0 360
LAT set to -89.5 89.5
LEV set to 1000 1000
Time values set: 2007:1:1:0 2007:1:1:0
E set to 1 1
ga-> q file
File 1 :
Descriptor: sst07.ctl
Binary: rcp4.5/y2007/sst
Type = Gridded
Xsize = 360 Ysize = 180 Zsize = 37 Tsize = 365 Esize = 1
Number of Variables = 1
sst 0 99 sea surface temperature [K]
ga-> d sst
Contouring: -0 to 30 interval 3
Та же ошибка произошла, если я изменил порядок открытия файла (сначала sst07.ctl). Файл "sst06.ctl", который открывается как второй файл, может привести к появлению неопределенного сообщения всей сетки для последнего открытого файла. Ниже сообщение:
ga-> reinit
ga-> open sst07.ctl
Scanning description file: sst07.ctl
Data file rcp4.5/y2007/sst is open as file 1
LON set to 0 360
LAT set to -89.5 89.5
LEV set to 1000 1000
Time values set: 2007:1:1:0 2007:1:1:0
E set to 1 1
ga-> q file
File 1 :
Descriptor: sst07.ctl
Binary: rcp4.5/y2007/sst
Type = Gridded
Xsize = 360 Ysize = 180 Zsize = 37 Tsize = 365 Esize = 1
Number of Variables = 1
sst 0 99 sea surface temperature [K]
ga-> d sst
Contouring: -0 to 30 interval 3
ga-> c
ga-> open sst06.ctl
Scanning description file: sst06.ctl
Data file rcp4.5/y2006/sst is open as file 2
ga-> q file
File 1 :
Descriptor: sst07.ctl
Binary: rcp4.5/y2007/sst
Type = Gridded
Xsize = 360 Ysize = 180 Zsize = 37 Tsize = 365 Esize = 1
Number of Variables = 1
sst 0 99 sea surface temperature [K]
ga-> d sst.2
Data Request Warning: Request is completely outside file limits
Entire grid contents are set to missing data
Grid limits of file: X = 1 360 Y = 1 180 Z = 1 37 T = 1 365 E = 1 1
Grid limits of request: X = 0 361 Y = 1 180 Z = 1 1 T = 366 366 E = 1 1
Warning issued for variable = sst.2
Cannot contour grid - all undefined values
Кто-нибудь готов помочь мне с этим? Спасибо, прежде чем!
EDIT1: Ответ на пост Нгоана Трана
Это результат вашего предложения.
ga-> reinit
No hardcopy metafile open
All files closed; all defined objects released;
All GrADS attributes have been reinitialized
ga-> open sst07.ctl
Scanning description file: sst07.ctl
Data file rcp4.5/y2007/sst is open as file 1
LON set to 0 360
LAT set to -89.5 89.5
LEV set to 1000 1000
Time values set: 2007:1:1:0 2007:1:1:0
E set to 1 1
ga-> d sst
Contouring: -0 to 30 interval 3
ga-> open sst06.ctl
Scanning description file: sst06.ctl
Data file rcp4.5/y2006/sst is open as file 2
ga-> set dfile 2
Default file set to: rcp4.5/y2006/sst
ga-> d sst
Data Request Warning: Request is completely outside file limits
Entire grid contents are set to missing data
Grid limits of file: X = 1 360 Y = 1 180 Z = 1 37 T = 1 365 E = 1 1
Grid limits of request: X = 0 361 Y = 1 180 Z = 1 1 T = 366 366 E = 1 1
Warning issued for variable = sst
Cannot contour grid - all undefined values
ga->
Есть идеи?
2 ответа
Глядя на выходные данные вызова сюжета из вашего второго открытого файла, вы запрашиваете данные за пределами доступного времени и частично за пределами горизонтального домена:
Grid limits of file: X = 1 360 Y = 1 180 Z = 1 37 T = 1 365 E = 1 1
Grid limits of request: X = **0 361** Y = 1 180 Z = 1 1 T = **366 366** E = 1 1
В GrADS оси среды (X, Y, Z, T, E) задаются относительно первого файла, который вы открываете. В вашем случае время и часть горизонтального домена не совпадают (ось x во 2-м файле имеет еще 2 точки) в обоих ваших файлах, поэтому вам нужно установить среду относительно ограничений первого файла для построения графика из второй. Перед тем, как выполнить второй вызов сюжета, необходимо установить среду (или подмножество) второго файла, но относительно первого файла:
set lon 0 361
set lat 1 180
set t 366
или лучше)
set time 00z01Jan2006;* <--- I've guessed at data dates here
Обычно лучше закрывать каждый файл после использования, если вы не пытаетесь построить непрерывный вывод из обоих файлов, так как это может привести к путанице.
Чтобы обрабатывать несколько файлов одновременно, вы должны изменить файл дескриптора с помощью set dfile <file-number>
, file-number - это порядок файлов, которые вы открыли.
В твоем случае:
После
reinit
(это сбросит все ваши настройки) выopen sst07.ctl
,такsst07.ctl
это файл 1 и будет использоваться по умолчанию. И когда вы запускаете командуd sst
GrADS нарисует данныеsst
отsst07.ctl
файл.Затем вы
open sst06.ctl
,sst06.ctl
будет файл 2, и чтобы использовать его, вы должны изменить файл дескриптораset dfile 2
, И когда вы запускаете командуd sst
GrADS нарисует данныеsst
отsst06.ctl
файл.
Попытайся.