Открытие нескольких файлов в 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 файл.

Попытайся.

Другие вопросы по тегам