1 |
heimbach |
1.1 |
C $Header: /u/gcmpack/MITgcm/model/src/write_state_x_nest_child.F,v 1.54 2006/05/22 04:03:09 gianmaria sannino $ |
2 |
|
|
C $Name: $ |
3 |
|
|
|
4 |
|
|
#include "PACKAGES_CONFIG.h" |
5 |
|
|
#include "CPP_OPTIONS.h" |
6 |
|
|
|
7 |
|
|
#undef MULTIPLE_RECORD_STATE_FILES |
8 |
|
|
|
9 |
|
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
10 |
|
|
CBOP |
11 |
|
|
C !ROUTINE: WRITE_STATE |
12 |
|
|
|
13 |
|
|
C !INTERFACE: |
14 |
|
|
SUBROUTINE NEST_CHILD_RECV ( myThid ) |
15 |
|
|
|
16 |
|
|
C !USES: |
17 |
|
|
IMPLICIT NONE |
18 |
|
|
#include "SIZE.h" |
19 |
|
|
#include "EEPARAMS.h" |
20 |
|
|
#include "PARAMS.h" |
21 |
|
|
#ifdef ALLOW_MNC |
22 |
|
|
#include "MNC_PARAMS.h" |
23 |
|
|
#endif |
24 |
|
|
#include "DYNVARS.h" |
25 |
|
|
#include "GRID.h" |
26 |
|
|
#include "EESUPPORT.h" |
27 |
|
|
#include "NEST_CHILD_PARAMS.h" |
28 |
|
|
#include "NEST_CHILD.h" |
29 |
|
|
#ifdef EXACT_CONSERV |
30 |
|
|
#include "SURFACE.h" |
31 |
|
|
#endif |
32 |
|
|
|
33 |
|
|
C !INPUT/OUTPUT PARAMETERS: |
34 |
|
|
C myThid - Thread number for this instance of the routine. |
35 |
|
|
INTEGER myThid |
36 |
|
|
|
37 |
|
|
INTEGER mpirc,istatus(MPI_STATUS_SIZE) |
38 |
|
|
integer indF |
39 |
|
|
parameter( indF = (sNy+OLy+OLy)*Nr*2*5 ) |
40 |
|
|
integer i,j |
41 |
|
|
_RL VAR_F1(1-OLy:sNy+OLy,Nr,2,5) |
42 |
|
|
!TIMING------------ |
43 |
|
|
_RL t(30),timef |
44 |
|
|
|
45 |
|
|
_BEGIN_MASTER( mythid ) |
46 |
|
|
c if(mpiMyId.eq.0) then |
47 |
|
|
t(1)=timef() |
48 |
|
|
call MPI_RECV (VAR_F1(:,:,:,:), indF, MPI_REAL8, |
49 |
|
|
& MSTR_DRV_S(NST_LEV_S), 3000, |
50 |
|
|
& MPI_COMM_World, istatus,mpiRC) |
51 |
|
|
|
52 |
|
|
U_F1 (:,:,:) = VAR_F1(:,:,:,1) |
53 |
|
|
V_F1 (:,:,:) = VAR_F1(:,:,:,2) |
54 |
|
|
T_F1 (:,:,:) = VAR_F1(:,:,:,3) |
55 |
|
|
S_F1 (:,:,:) = VAR_F1(:,:,:,4) |
56 |
|
|
ETA_F1(:,:,:) = VAR_F1(:,:,:,5) |
57 |
|
|
|
58 |
|
|
write(*,*) 'VIC:RICEVUTO SEGNALE DAL DRIVER PER IL PASSO ',PASSI |
59 |
|
|
print*,'BOSTON',VAR_F1(:,1,2,4) |
60 |
|
|
print*,maxval(ETA_F1) |
61 |
|
|
t(2)=timef() |
62 |
|
|
c write(*,*) 'tempo di attesa',t(2)-t(1),'millisecondi' |
63 |
|
|
|
64 |
|
|
c endif |
65 |
|
|
|
66 |
|
|
_END_MASTER(myThid) |
67 |
|
|
|
68 |
|
|
CALL MPI_BARRIER( MPI_COMM_MODEL, mpiRC ) |
69 |
|
|
|
70 |
|
|
RETURN |
71 |
|
|
END |