28 |
#include "PARAMS.h" |
#include "PARAMS.h" |
29 |
#include "GRID.h" |
#include "GRID.h" |
30 |
#ifdef ALLOW_EXCH2 |
#ifdef ALLOW_EXCH2 |
31 |
|
#include "W2_EXCH2_SIZE.h" |
32 |
#include "W2_EXCH2_TOPOLOGY.h" |
#include "W2_EXCH2_TOPOLOGY.h" |
|
#include "W2_EXCH2_PARAMS.h" |
|
33 |
#endif |
#endif |
34 |
#include "netcdf.inc" |
#include "netcdf.inc" |
35 |
|
|
68 |
#ifdef ALLOW_EXCH2 |
#ifdef ALLOW_EXCH2 |
69 |
xtmin = exch2_tbasex(W2_myTileList(bi)) |
xtmin = exch2_tbasex(W2_myTileList(bi)) |
70 |
ytmin = exch2_tbasey(W2_myTileList(bi)) |
ytmin = exch2_tbasey(W2_myTileList(bi)) |
71 |
|
#else |
72 |
|
IF ( .NOT. useCubedSphereExchange ) THEN |
73 |
|
C make sure for a non-cubed-sphere curvi-linear grid, |
74 |
|
C that the X/Y coordinate variables are monotonous |
75 |
|
C bi+(myXGlobalLo-1)/sNx is the i-tile number |
76 |
|
C bj+(myYGlobalLo-1)/sNy is the j-tile number |
77 |
|
xtmin = sNx * ( bi+(myXGlobalLo-1)/sNx - 1 ) |
78 |
|
ytmin = sNy * ( bj+(myYGlobalLo-1)/sNy - 1 ) |
79 |
|
ENDIF |
80 |
#endif |
#endif |
81 |
doit = 1 |
doit = 1 |
82 |
nids = 1 |
nids = 1 |
409 |
IF ( doit .EQ. 1 ) THEN |
IF ( doit .EQ. 1 ) THEN |
410 |
|
|
411 |
CALL MNC_FILE_REDEF(fname, myThid) |
CALL MNC_FILE_REDEF(fname, myThid) |
412 |
|
#ifdef REAL4_IS_SLOW |
413 |
err = NF_DEF_VAR(fid, cvname, NF_DOUBLE, |
err = NF_DEF_VAR(fid, cvname, NF_DOUBLE, |
414 |
& nids, cv_did, vid) |
& nids, cv_did, vid) |
415 |
|
#else |
416 |
|
err = NF_DEF_VAR(fid, cvname, NF_FLOAT, |
417 |
|
& nids, cv_did, vid) |
418 |
|
#endif /* REAL4_IS_SLOW */ |
419 |
i = ILNBLNK( fname ) |
i = ILNBLNK( fname ) |
420 |
write(msgbuf,'(5a)') 'defining coordinate variable ''', |
write(msgbuf,'(5a)') 'defining coordinate variable ''', |
421 |
& cvname(nnf:nnl), ''' in file ''', fname(1:i), '''' |
& cvname(nnf:nnl), ''' in file ''', fname(1:i), '''' |
447 |
ENDIF |
ENDIF |
448 |
C |
C |
449 |
CALL MNC_FILE_ENDDEF(fname, myThid) |
CALL MNC_FILE_ENDDEF(fname, myThid) |
450 |
|
#ifdef REAL4_IS_SLOW |
451 |
err = NF_PUT_VARA_DOUBLE(fid, vid, |
err = NF_PUT_VARA_DOUBLE(fid, vid, |
452 |
& cv_start, cv_count, rtmp) |
& cv_start, cv_count, rtmp) |
453 |
|
#else |
454 |
|
err = NF_PUT_VARA_REAL(fid, vid, |
455 |
|
& cv_start, cv_count, rtmp) |
456 |
|
#endif /* REAL4_IS_SLOW */ |
457 |
write(msgbuf,'(5a)') 'writing coordinate variable ''', |
write(msgbuf,'(5a)') 'writing coordinate variable ''', |
458 |
& cvname(nnf:nnl), ''' in file ''', fname(1:i), '''' |
& cvname(nnf:nnl), ''' in file ''', fname(1:i), '''' |
459 |
CALL MNC_HANDLE_ERR(err, msgbuf, myThid) |
CALL MNC_HANDLE_ERR(err, msgbuf, myThid) |