4 |
#include "MNC_OPTIONS.h" |
#include "MNC_OPTIONS.h" |
5 |
|
|
6 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
7 |
|
CBOP |
8 |
|
C !ROUTINE: MNC_CW_RX_W |
9 |
|
|
10 |
|
C !INTERFACE: |
11 |
SUBROUTINE MNC_CW_RX_W( |
SUBROUTINE MNC_CW_RX_W( |
12 |
I stype, |
I stype, |
13 |
I fbname, bi,bj, |
I fbname, bi,bj, |
15 |
I var, |
I var, |
16 |
I myThid ) |
I myThid ) |
17 |
|
|
18 |
|
C !DESCRIPTION: |
19 |
|
C This subroutine writes one variable to a file or a file group, |
20 |
|
C depending upon the tile indicies. |
21 |
|
|
22 |
|
C !USES: |
23 |
implicit none |
implicit none |
|
|
|
24 |
#include "netcdf.inc" |
#include "netcdf.inc" |
25 |
#include "mnc_common.h" |
#include "mnc_common.h" |
26 |
#include "SIZE.h" |
#include "SIZE.h" |
27 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
28 |
#include "PARAMS.h" |
#include "PARAMS.h" |
29 |
|
|
30 |
C Arguments |
C !INPUT PARAMETERS: |
31 |
integer myThid, bi,bj, indu |
integer myThid, bi,bj, indu |
32 |
character*(*) stype, fbname, vtype |
character*(*) stype, fbname, vtype |
33 |
__V var(*) |
__V var(*) |
34 |
|
|
35 |
C Functions |
C !LOCAL VARIABLES: |
|
integer IFNBLNK, ILNBLNK |
|
|
|
|
|
C Local Variables |
|
36 |
integer i,j,k, indv,nvf,nvl, n1,n2, igrid, ntot |
integer i,j,k, indv,nvf,nvl, n1,n2, igrid, ntot |
37 |
integer bis,bie, bjs,bje, uniq_tnum, nfname, fid, idv, indvids |
integer bis,bie, bjs,bje, uniq_tnum, nfname |
38 |
integer ndim, indf, err, lbi,lbj, bidim,bjdim, unlim_sz, kr |
integer fid, idv, indvids, ndim, indf, err, |
39 |
integer p(9),s(9),e(9), dimnc(9), vstart(9),vcount(9), udo(9) |
integer lbi,lbj, bidim,bjdim, unlim_sz, kr |
40 |
|
integer p(9),s(9),e(9), dimnc(9) |
41 |
|
integer vstart(9),vcount(9), udo(9) |
42 |
integer j1,j2,j3,j4,j5,j6,j7, k1,k2,k3,k4,k5,k6,k7 |
integer j1,j2,j3,j4,j5,j6,j7, k1,k2,k3,k4,k5,k6,k7 |
43 |
integer indfg, fg1,fg2, npath |
integer indfg, fg1,fg2, npath |
44 |
character*(MAX_LEN_MBUF) msgbuf |
character*(MAX_LEN_MBUF) msgbuf |
45 |
character*(MNC_MAX_CHAR) fname |
character*(MNC_MAX_CHAR) fname |
46 |
character*(MNC_MAX_CHAR) path_fname |
character*(MNC_MAX_CHAR) path_fname |
|
|
|
|
C Temporary storage for the simultaneous type conversion and |
|
|
C re-shaping before passing to NetCDF |
|
47 |
REAL*8 resh_d( sNx + 2*OLx + sNy + 2*OLy ) |
REAL*8 resh_d( sNx + 2*OLx + sNy + 2*OLy ) |
48 |
REAL*4 resh_r( sNx + 2*OLx + sNy + 2*OLy ) |
REAL*4 resh_r( sNx + 2*OLx + sNy + 2*OLy ) |
49 |
INTEGER resh_i( sNx + 2*OLx + sNy + 2*OLy ) |
INTEGER resh_i( sNx + 2*OLx + sNy + 2*OLy ) |
50 |
|
CEOP |
51 |
|
C Functions |
52 |
|
integer IFNBLNK, ILNBLNK |
53 |
|
|
54 |
C Only do I/O if I am the master thread |
C Only do I/O if I am the master thread |
55 |
_BEGIN_MASTER( myThid ) |
_BEGIN_MASTER( myThid ) |
337 |
|
|
338 |
|
|
339 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
340 |
|
CBOP |
341 |
|
C !ROUTINE: MNC_CW_RX_R |
342 |
|
|
343 |
|
C !INTERFACE: |
344 |
SUBROUTINE MNC_CW_RX_R( |
SUBROUTINE MNC_CW_RX_R( |
345 |
I stype, |
I stype, |
346 |
I fbname, bi,bj, |
I fbname, bi,bj, |
350 |
|
|
351 |
implicit none |
implicit none |
352 |
|
|
353 |
|
C !DESCRIPTION: |
354 |
|
C This subroutine reads one variable from a file or a file group, |
355 |
|
C depending upon the tile indicies. |
356 |
|
|
357 |
|
C !USES: |
358 |
#include "netcdf.inc" |
#include "netcdf.inc" |
359 |
#include "mnc_common.h" |
#include "mnc_common.h" |
360 |
#include "SIZE.h" |
#include "SIZE.h" |
361 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
362 |
#include "PARAMS.h" |
#include "PARAMS.h" |
363 |
|
|
364 |
C Arguments |
C !INPUT PARAMETERS: |
365 |
integer myThid, bi,bj, indu |
integer myThid, bi,bj, indu |
366 |
character*(*) stype, fbname, vtype |
character*(*) stype, fbname, vtype |
367 |
__V var(*) |
__V var(*) |
368 |
|
|
369 |
C Functions |
C !LOCAL VARIABLES: |
|
integer IFNBLNK, ILNBLNK |
|
|
|
|
|
C Local Variables |
|
370 |
integer i,k, nvf,nvl, n1,n2, igrid, ntot |
integer i,k, nvf,nvl, n1,n2, igrid, ntot |
371 |
integer bis,bie, bjs,bje, uniq_tnum, nfname, fid, idv |
integer bis,bie, bjs,bje, uniq_tnum, nfname, fid, idv |
372 |
integer ndim, indf, err, lbi,lbj, bidim,bjdim, unlim_sz, kr |
integer ndim, indf, err, lbi,lbj, bidim,bjdim, unlim_sz, kr |
378 |
character*(MNC_MAX_CHAR) fname |
character*(MNC_MAX_CHAR) fname |
379 |
character*(MNC_MAX_CHAR) path_fname |
character*(MNC_MAX_CHAR) path_fname |
380 |
integer indfg, fg1,fg2 |
integer indfg, fg1,fg2 |
|
|
|
|
C Temporary storage for the simultaneous type conversion and |
|
|
C re-shaping before passing to NetCDF |
|
381 |
REAL*8 resh_d( sNx + 2*OLx + sNy + 2*OLy ) |
REAL*8 resh_d( sNx + 2*OLx + sNy + 2*OLy ) |
382 |
REAL*4 resh_r( sNx + 2*OLx + sNy + 2*OLy ) |
REAL*4 resh_r( sNx + 2*OLx + sNy + 2*OLy ) |
383 |
INTEGER resh_i( sNx + 2*OLx + sNy + 2*OLy ) |
INTEGER resh_i( sNx + 2*OLx + sNy + 2*OLy ) |
384 |
|
CEOP |
385 |
|
C Functions |
386 |
|
integer IFNBLNK, ILNBLNK |
387 |
|
|
388 |
C Only do I/O if I am the master thread |
C Only do I/O if I am the master thread |
389 |
_BEGIN_MASTER( myThid ) |
_BEGIN_MASTER( myThid ) |