Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:37:33 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
b7bbcb5032 Jean*0001 #include "ATM_CPL_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: ATM_EXPORT_FIELDS
                0005 C     !INTERFACE:
                0006       SUBROUTINE ATM_EXPORT_FIELDS( myIter, myThid )
                0007 
                0008 C     !DESCRIPTION: \bv
                0009 C     *==========================================================*
                0010 C     | SUBROUTINE ATM_EXPORT_FIELDS
                0011 C     | o Routine for exporting atmos. surface coupling fields
                0012 C     |   to coupling layer.
                0013 C     *==========================================================*
                0014 C     | This version talks to the MIT Coupler. It uses the MIT
                0015 C     | Coupler "checkpoint1" library calls.
                0016 C     *==========================================================*
                0017 C     \ev
                0018 
                0019 C     !USES:
                0020       IMPLICIT NONE
                0021 
                0022 C     == Global variables ==
                0023 #include "SIZE.h"
                0024 #include "EEPARAMS.h"
                0025 #include "CPL_PARAMS.h"
                0026 #include "ATMCPL.h"
                0027 #include "ATMIDS.h"
                0028 
                0029 C     !INPUT/OUTPUT PARAMETERS:
                0030 C     == Routine arguments ==
                0031 C     myIter  :: Current timestep number.
                0032 C     myThid  :: Thread number for this instance of the routine.
                0033       INTEGER myIter
                0034       INTEGER myThid
                0035 CEOP
                0036 
                0037 #ifdef COMPONENT_MODULE
                0038 C     !LOCAL VARIABLES:
                0039 C     == Local variables ==
                0040 C     msgBuf  :: Informational/error message buffer
                0041 c     CHARACTER*(MAX_LEN_MBUF) msgBuf
                0042 
                0043 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0044 
                0045 C-    Send Atmospheric fields to coupling layer
                0046 C  Note: 1) Information is sent on the atmos. model grid.
                0047 C        2) MIT Coupler checkpoint1 does not allow asynchronous posting of
                0048 C          data, so ordering has to be consistent with coupling layer ordering
                0049 
                0050 C-    export Sea-Level pressure:
                0051       CALL ATM_EXPORT_FLD( atmSLPrName,
                0052      U                     atmSLPr, atmSLPrTime, myThid )
                0053 C-    export Net surface heat flux:
                0054       CALL ATM_EXPORT_FLD( atmHeatFluxName,
                0055      U                     heatFlux, HeatFluxTime, myThid )
                0056 C-    export Net Short-Wave surface heat flux:
                0057       CALL ATM_EXPORT_FLD( atmQshortWaveName,
                0058      U                     qShortWave, qShortWaveTime, myThid )
                0059 C-    export surface wind stress, Zonal & Meridional components:
                0060       CALL ATM_EXPORT_FLD( atmTauXName,
                0061      U                     tauX, tauXTime, myThid )
                0062       CALL ATM_EXPORT_FLD( atmTauYName,
                0063      U                     tauY, tauYTime, myThid )
                0064 C-    export Net fresh water flux (Evap - Precip):
                0065       CALL ATM_EXPORT_FLD( atmEvMPrName,
                0066      U                     EvMPrFlux, EvMPrTime, myThid )
c121b6d611 Jean*0067 #ifdef ALLOW_LAND
                0068       IF ( atm_cplExch_RunOff ) THEN
b7bbcb5032 Jean*0069 C-    export Run Off fresh water flux:
c121b6d611 Jean*0070        CALL ATM_EXPORT_FLD( atmRunOffName,
                0071      U                      RunOffFlux, RunOffTime, myThid )
b7bbcb5032 Jean*0072 C-    export Energy flux associated with Run Off:
c121b6d611 Jean*0073        CALL ATM_EXPORT_FLD( atmROEnFxName,
                0074      U                      RunOffEnFx, ROEnFxTime, myThid )
                0075       ENDIF
                0076 #endif /* ALLOW_LAND */
                0077 #ifdef ALLOW_THSICE
                0078       IF ( atm_cplExch1W_sIce ) THEN
b7bbcb5032 Jean*0079 C-    export Salt flux (related to sea-ice melting/freezing):
c121b6d611 Jean*0080        CALL ATM_EXPORT_FLD( atmSaltFxName,
                0081      U                      iceSaltFlx, saltFxTime, myThid )
b7bbcb5032 Jean*0082 C-    export Sea-Ice Mass:
c121b6d611 Jean*0083        CALL ATM_EXPORT_FLD( atmSIceMassName,
                0084      U                      seaIceMass, sIceMassTime, myThid )
                0085       ENDIF
                0086       IF ( atm_cplExch_SaltPl ) THEN
                0087 C-    export Salt-Plume flux:
                0088        CALL ATM_EXPORT_FLD( atmSaltPlmFlxName,
                0089      U                      saltPlmFlx_cpl, saltPlmFlxTime, myThid )
                0090       ENDIF
                0091 #endif /* ALLOW_THSICE */
b7bbcb5032 Jean*0092 
c121b6d611 Jean*0093 #ifdef ALLOW_AIM
b7bbcb5032 Jean*0094       IF ( atm_cplExch_DIC ) THEN
                0095 C-    export atmospheric CO2:
                0096        CALL ATM_EXPORT_FLD( atmAirCO2Name,
                0097      U                      airCO2, airCO2Time, myThid )
                0098 
                0099 C-    export surface wind speed:
                0100        CALL ATM_EXPORT_FLD( atmWindSpdName,
                0101      U                      sWSpeed, sWSpeedTime, myThid )
c121b6d611 Jean*0102       ENDIF
                0103 #endif /* ALLOW_AIM */
b7bbcb5032 Jean*0104 
c121b6d611 Jean*0105 #ifdef ALLOW_THSICE
                0106       IF ( ( atm_cplExch1W_sIce.AND.atm_cplExch_DIC )
                0107      &  .OR. atm_cplExch2W_sIce ) THEN
b7bbcb5032 Jean*0108 C-    export seaice fraction:
                0109        CALL ATM_EXPORT_FLD( atmSIceFracName,
c121b6d611 Jean*0110      U                      sIceFrac_cpl, sIceFracTime, myThid )
                0111       ENDIF
                0112       IF ( atm_cplExch2W_sIce ) THEN
                0113 C-    export seaice thickness:
                0114        CALL ATM_EXPORT_FLD( atmSIceThickName,
                0115      U                      sIceThick_cpl, sIceThickTime, myThid )
                0116 C-    export snow thickness:
                0117        CALL ATM_EXPORT_FLD( atmSIceSnowName,
                0118      U                      sIceSnowH_cpl, sIceSnowHTime, myThid )
                0119 C-    export seaice enthalpy (layer 1):
                0120        CALL ATM_EXPORT_FLD( atmSIceQ1Name,
                0121      U                      sIceQ1_cpl, sIceQ1Time, myThid )
                0122 C-    export seaice enthalpy (layer 2):
                0123        CALL ATM_EXPORT_FLD( atmSIceQ2Name,
                0124      U                      sIceQ2_cpl, sIceQ2Time, myThid )
b7bbcb5032 Jean*0125       ENDIF
c121b6d611 Jean*0126 #endif /* ALLOW_THSICE */
b7bbcb5032 Jean*0127 
                0128 #endif /* COMPONENT_MODULE */
                0129 
                0130       RETURN
                0131       END