/[MITgcm]/MITgcm/pkg/atm_compon_interf/atm_export_fields.F
ViewVC logotype

Annotation of /MITgcm/pkg/atm_compon_interf/atm_export_fields.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (hide annotations) (download)
Wed Jan 6 00:42:51 2016 UTC (8 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65s, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, HEAD
Changes since 1.1: +44 -10 lines
- to save memory space in ATM & OCN comp: add some #ifdef ALLOW_${PKG} around
  optionally exchanged fields (ALLOW_LAND for RunOff, ALLOW_THSICE for seaice,
   ALLOW_AIM for CO2)
- rename:   fracIce     -> sIceFrac_cpl (<- match coupler var name)
  + in ATM: fracIceTime -> sIceFracTime ; seaIceTime -> sIceMassTime.
- add 2-way thSIce vars exchange ; add Salt-Plume flux

1 jmc 1.2 C $Header: /u/gcmpack/MITgcm/pkg/atm_compon_interf/atm_export_fields.F,v 1.1 2015/12/31 21:20:25 jmc Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "ATM_CPL_OPTIONS.h"
5    
6     CBOP
7     C !ROUTINE: ATM_EXPORT_FIELDS
8     C !INTERFACE:
9     SUBROUTINE ATM_EXPORT_FIELDS( myIter, myThid )
10    
11     C !DESCRIPTION: \bv
12     C *==========================================================*
13     C | SUBROUTINE ATM_EXPORT_FIELDS
14     C | o Routine for exporting atmos. surface coupling fields
15     C | to coupling layer.
16     C *==========================================================*
17     C | This version talks to the MIT Coupler. It uses the MIT
18     C | Coupler "checkpoint1" library calls.
19     C *==========================================================*
20     C \ev
21    
22     C !USES:
23     IMPLICIT NONE
24    
25     C == Global variables ==
26     #include "SIZE.h"
27     #include "EEPARAMS.h"
28     #include "CPL_PARAMS.h"
29     #include "ATMCPL.h"
30     #include "ATMIDS.h"
31    
32     C !INPUT/OUTPUT PARAMETERS:
33     C == Routine arguments ==
34     C myIter :: Current timestep number.
35     C myThid :: Thread number for this instance of the routine.
36     INTEGER myIter
37     INTEGER myThid
38     CEOP
39    
40     #ifdef COMPONENT_MODULE
41     C !LOCAL VARIABLES:
42     C == Local variables ==
43     C msgBuf :: Informational/error message buffer
44     c CHARACTER*(MAX_LEN_MBUF) msgBuf
45    
46     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
47    
48     C- Send Atmospheric fields to coupling layer
49     C Note: 1) Information is sent on the atmos. model grid.
50     C 2) MIT Coupler checkpoint1 does not allow asynchronous posting of
51     C data, so ordering has to be consistent with coupling layer ordering
52    
53     C- export Sea-Level pressure:
54     CALL ATM_EXPORT_FLD( atmSLPrName,
55     U atmSLPr, atmSLPrTime, myThid )
56     C- export Net surface heat flux:
57     CALL ATM_EXPORT_FLD( atmHeatFluxName,
58     U heatFlux, HeatFluxTime, myThid )
59     C- export Net Short-Wave surface heat flux:
60     CALL ATM_EXPORT_FLD( atmQshortWaveName,
61     U qShortWave, qShortWaveTime, myThid )
62     C- export surface wind stress, Zonal & Meridional components:
63     CALL ATM_EXPORT_FLD( atmTauXName,
64     U tauX, tauXTime, myThid )
65     CALL ATM_EXPORT_FLD( atmTauYName,
66     U tauY, tauYTime, myThid )
67     C- export Net fresh water flux (Evap - Precip):
68     CALL ATM_EXPORT_FLD( atmEvMPrName,
69     U EvMPrFlux, EvMPrTime, myThid )
70 jmc 1.2 #ifdef ALLOW_LAND
71     IF ( atm_cplExch_RunOff ) THEN
72 jmc 1.1 C- export Run Off fresh water flux:
73 jmc 1.2 CALL ATM_EXPORT_FLD( atmRunOffName,
74     U RunOffFlux, RunOffTime, myThid )
75 jmc 1.1 C- export Energy flux associated with Run Off:
76 jmc 1.2 CALL ATM_EXPORT_FLD( atmROEnFxName,
77     U RunOffEnFx, ROEnFxTime, myThid )
78     ENDIF
79     #endif /* ALLOW_LAND */
80     #ifdef ALLOW_THSICE
81     IF ( atm_cplExch1W_sIce ) THEN
82 jmc 1.1 C- export Salt flux (related to sea-ice melting/freezing):
83 jmc 1.2 CALL ATM_EXPORT_FLD( atmSaltFxName,
84     U iceSaltFlx, saltFxTime, myThid )
85 jmc 1.1 C- export Sea-Ice Mass:
86 jmc 1.2 CALL ATM_EXPORT_FLD( atmSIceMassName,
87     U seaIceMass, sIceMassTime, myThid )
88     ENDIF
89     IF ( atm_cplExch_SaltPl ) THEN
90     C- export Salt-Plume flux:
91     CALL ATM_EXPORT_FLD( atmSaltPlmFlxName,
92     U saltPlmFlx_cpl, saltPlmFlxTime, myThid )
93     ENDIF
94     #endif /* ALLOW_THSICE */
95 jmc 1.1
96 jmc 1.2 #ifdef ALLOW_AIM
97 jmc 1.1 IF ( atm_cplExch_DIC ) THEN
98     C- export atmospheric CO2:
99     CALL ATM_EXPORT_FLD( atmAirCO2Name,
100     U airCO2, airCO2Time, myThid )
101    
102     C- export surface wind speed:
103     CALL ATM_EXPORT_FLD( atmWindSpdName,
104     U sWSpeed, sWSpeedTime, myThid )
105 jmc 1.2 ENDIF
106     #endif /* ALLOW_AIM */
107 jmc 1.1
108 jmc 1.2 #ifdef ALLOW_THSICE
109     IF ( ( atm_cplExch1W_sIce.AND.atm_cplExch_DIC )
110     & .OR. atm_cplExch2W_sIce ) THEN
111 jmc 1.1 C- export seaice fraction:
112     CALL ATM_EXPORT_FLD( atmSIceFracName,
113 jmc 1.2 U sIceFrac_cpl, sIceFracTime, myThid )
114     ENDIF
115     IF ( atm_cplExch2W_sIce ) THEN
116     C- export seaice thickness:
117     CALL ATM_EXPORT_FLD( atmSIceThickName,
118     U sIceThick_cpl, sIceThickTime, myThid )
119     C- export snow thickness:
120     CALL ATM_EXPORT_FLD( atmSIceSnowName,
121     U sIceSnowH_cpl, sIceSnowHTime, myThid )
122     C- export seaice enthalpy (layer 1):
123     CALL ATM_EXPORT_FLD( atmSIceQ1Name,
124     U sIceQ1_cpl, sIceQ1Time, myThid )
125     C- export seaice enthalpy (layer 2):
126     CALL ATM_EXPORT_FLD( atmSIceQ2Name,
127     U sIceQ2_cpl, sIceQ2Time, myThid )
128 jmc 1.1 ENDIF
129 jmc 1.2 #endif /* ALLOW_THSICE */
130 jmc 1.1
131     #endif /* COMPONENT_MODULE */
132    
133     RETURN
134     END

  ViewVC Help
Powered by ViewVC 1.1.22