1 |
C $Header: /u/gcmpack/MITgcm/pkg/ocn_compon_interf/ocn_export_fields.F,v 1.4 2015/11/12 00:57:41 jmc Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#include "OCN_CPL_OPTIONS.h" |
5 |
|
6 |
CBOP 0 |
7 |
C !ROUTINE: OCN_EXPORT_FIELDS |
8 |
|
9 |
C !INTERFACE: |
10 |
SUBROUTINE OCN_EXPORT_FIELDS( myIter, myThid ) |
11 |
|
12 |
C !DESCRIPTION: |
13 |
C *==========================================================* |
14 |
C | SUBROUTINE OCN_EXPORT_FIELDS |
15 |
C | o Routine for exporting oceanic fields |
16 |
C | to the coupling layer. |
17 |
C *==========================================================* |
18 |
C | This version talks to the MIT Coupler. It uses the MIT |
19 |
C | Coupler "checkpoint1" library calls. |
20 |
C *==========================================================* |
21 |
|
22 |
C !USES: |
23 |
IMPLICIT NONE |
24 |
C == Global variables == |
25 |
#include "SIZE.h" |
26 |
#include "EEPARAMS.h" |
27 |
#include "CPL_PARAMS.h" |
28 |
#include "OCNIDS.h" |
29 |
#include "OCNCPL.h" |
30 |
|
31 |
C !INPUT/OUTPUT PARAMETERS: |
32 |
C == Routine arguments == |
33 |
C myIter :: Current timestep number. |
34 |
C myThid :: Thread number for this instance of the routine |
35 |
INTEGER myIter |
36 |
INTEGER myThid |
37 |
CEOP |
38 |
|
39 |
#ifdef COMPONENT_MODULE |
40 |
C !LOCAL VARIABLES: |
41 |
C == Local variables == |
42 |
|
43 |
C- Send Oceanic fields to coupling layer |
44 |
C Note: 1) Information is sent on the ocean model grid. |
45 |
C 2) MIT Coupler checkpoint1 does not allow asynchronous posting of |
46 |
C data, so ordering has to be consistent with coupling layer ordering |
47 |
|
48 |
_BARRIER |
49 |
_BEGIN_MASTER( myThid ) |
50 |
|
51 |
C- Send Ocean mixed-layer depth to coupling layer |
52 |
CALL COMPSEND_R8TILES( ocnMxlDName, |
53 |
I sNx, OLx, sNy, OLy, 1, nSx, nSy, ocMxlD2cpl ) |
54 |
|
55 |
C- Send sea-surface temperature to coupling layer |
56 |
CALL COMPSEND_R8TILES( ocnSSTName, |
57 |
I sNx, OLx, sNy, OLy, 1, nSx, nSy, SSTocn2cpl ) |
58 |
|
59 |
C- Send sea-surface salinity to coupling layer |
60 |
CALL COMPSEND_R8TILES( ocnSSSName, |
61 |
I sNx, OLx, sNy, OLy, 1, nSx, nSy, SSSocn2cpl ) |
62 |
|
63 |
C- Send ocean surface velocity square to coupling layer |
64 |
CALL COMPSEND_R8TILES( ocnSSVsqName, |
65 |
I sNx, OLx, sNy, OLy, 1, nSx, nSy, vSqocn2cpl ) |
66 |
|
67 |
#ifdef ALLOW_DIC |
68 |
IF ( ocn_cplExch_DIC ) THEN |
69 |
C- Send ocean CO2 flux to coupling layer |
70 |
CALL COMPSEND_R8TILES( ocnCO2FluxName, |
71 |
I sNx, OLx, sNy, OLy, 1, nSx, nSy, fluxCO2cpl ) |
72 |
ENDIF |
73 |
#endif /* ALLOW_DIC */ |
74 |
#ifdef ALLOW_THSICE |
75 |
IF ( ocn_cplExch2W_sIce ) THEN |
76 |
C- Send thSIce state-vars to coupling layer |
77 |
CALL COMPSEND_R8TILES( ocnSIceFracName, |
78 |
I sNx, OLx, sNy, OLy, 1, nSx, nSy, sIceFrac_cpl ) |
79 |
CALL COMPSEND_R8TILES( ocnSIceThickName, |
80 |
I sNx, OLx, sNy, OLy, 1, nSx, nSy, sIceThick_cpl ) |
81 |
CALL COMPSEND_R8TILES( ocnSIceSnowName, |
82 |
I sNx, OLx, sNy, OLy, 1, nSx, nSy, sIceSnowH_cpl ) |
83 |
CALL COMPSEND_R8TILES( ocnSIceQ1Name, |
84 |
I sNx, OLx, sNy, OLy, 1, nSx, nSy, sIceQ1_cpl ) |
85 |
CALL COMPSEND_R8TILES( ocnSIceQ2Name, |
86 |
I sNx, OLx, sNy, OLy, 1, nSx, nSy, sIceQ2_cpl ) |
87 |
ENDIF |
88 |
#endif /* ALLOW_THSICE */ |
89 |
|
90 |
_END_MASTER( myThid ) |
91 |
_BARRIER |
92 |
|
93 |
#endif /* COMPONENT_MODULE */ |
94 |
|
95 |
RETURN |
96 |
END |