Back to home page

MITgcm

 
 

    


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

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
7f58e89433 Jean*0001 #include "CPP_OPTIONS.h"
                0002 
9944d6f836 Jean*0003 CBOP
                0004 C     !ROUTINE: CPL_RECV_ATM_FIELDS
                0005 C     !INTERFACE:
4abf9d9a22 Jean*0006       SUBROUTINE CPL_RECV_ATM_FIELDS( msgUnit, iter )
9944d6f836 Jean*0007 
                0008 C     !DESCRIPTION: \bv
                0009 C     *==========================================================*
                0010 C     | SUBROUTINE CPL_RECV_ATM_FIELDS
                0011 C     | o Routine for receiving fluxes from atmos. component
                0012 C     *==========================================================*
                0013 C     | This version talks to the MITgcm general circulation
                0014 C     | model.
                0015 C     *==========================================================*
                0016 C     \ev
                0017 
                0018 C     !USES:
7f58e89433 Jean*0019       IMPLICIT NONE
                0020 
                0021 C     == Global variables ==
00df836f46 Jean*0022 #include "CPL_PARAMS.h"
7f58e89433 Jean*0023 #include "ATMSIZE.h"
                0024 #include "ATMVARS.h"
                0025 #include "ATMIDS.h"
                0026 
9944d6f836 Jean*0027 C     !INPUT/OUTPUT PARAMETERS:
4abf9d9a22 Jean*0028 C     msgUnit   :: log-file I/O unit
                0029 C     iter      :: current iteration number
                0030       INTEGER msgUnit, iter
7f58e89433 Jean*0031 
9944d6f836 Jean*0032 C     !LOCAL VARIABLES:
                0033 CEOP
7f58e89433 Jean*0034 
                0035 C-    Receive Sea Level atmos. pressure from atmos. component
9944d6f836 Jean*0036       CALL COUPRECV_R8TILES( atmCompName, atmSLPrName,
                0037      I                       Nx_atm, Ny_atm,
7f58e89433 Jean*0038      O                       atmSLPr_atm )
                0039 
                0040 C-    Receive (net) Heat Flux from atmos. component
9944d6f836 Jean*0041       CALL COUPRECV_R8TILES( atmCompName, atmHeatFluxName,
                0042      I                       Nx_atm, Ny_atm,
7f58e89433 Jean*0043      O                       HeatFlux_atm )
                0044 
                0045 C-    Receive net shortwave radiation from atmos. component
                0046       CALL COUPRECV_R8TILES( atmCompName, atmQshortWaveName,
                0047      I                       Nx_atm, Ny_atm,
                0048      O                       qShortwave_atm   )
                0049 
                0050 C-    Receive Zonal momentum flux from atmos. component
9944d6f836 Jean*0051       CALL COUPRECV_R8TILES( atmCompName, atmTauXName,
7f58e89433 Jean*0052      I                       Nx_atm, Ny_atm,
                0053      O                       TauX_atm )
                0054 
                0055 C-    Receive Meridional momentum flux from atmos. component
9944d6f836 Jean*0056       CALL COUPRECV_R8TILES( atmCompName, atmTauYName,
7f58e89433 Jean*0057      I                       Nx_atm, Ny_atm,
                0058      O                       TauY_atm )
                0059 
                0060 C-    Receive fresh water flux (=Evap-Precip) from atmos. component
                0061       CALL COUPRECV_R8TILES( atmCompName, atmEvMPrName,
                0062      I                       Nx_atm, Ny_atm,
                0063      O                       EvMPr_atm )
                0064 
4abf9d9a22 Jean*0065       IF ( cpl_exchange_RunOff.GE.2 ) THEN
7f58e89433 Jean*0066 C-    Receive fresh water flux (=RunOff) from atmos. component
4abf9d9a22 Jean*0067         CALL COUPRECV_R8TILES( atmCompName, atmRunOffName,
                0068      I                         Nx_atm, Ny_atm,
                0069      O                         RunOff_atm )
7f58e89433 Jean*0070 
                0071 C-    Receive Energy carried by RunOff from atmos. component
4abf9d9a22 Jean*0072         CALL COUPRECV_R8TILES( atmCompName, atmROEnFxName,
                0073      I                         Nx_atm, Ny_atm,
                0074      O                         ROEnFx_atm )
                0075       ENDIF
7f58e89433 Jean*0076 
4abf9d9a22 Jean*0077       IF ( cpl_exchange1W_sIce.GE.2 ) THEN
7f58e89433 Jean*0078 C-    Receive salt flux (<- sea-ice) from atmos. component
4abf9d9a22 Jean*0079         CALL COUPRECV_R8TILES( atmCompName, atmSaltFxName,
                0080      I                         Nx_atm, Ny_atm,
                0081      O                         SaltFlx_atm )
7f58e89433 Jean*0082 
                0083 C-    Receive sea-ice mass from atmos. component
4abf9d9a22 Jean*0084         CALL COUPRECV_R8TILES( atmCompName, atmSIceMassName,
                0085      I                         Nx_atm, Ny_atm,
                0086      O                         sIceMass_atm )
                0087       ENDIF
7f58e89433 Jean*0088 
4abf9d9a22 Jean*0089       IF ( cpl_exchange_SaltPl.GE.2 ) THEN
                0090 C-    Receive Salt-Plume flux from atmos. component
                0091         CALL COUPRECV_R8TILES( atmCompName, atmSaltPlmFlxName,
                0092      I                         Nx_atm, Ny_atm,
                0093      O                         saltPlmFlx_atm )
                0094       ENDIF
9944d6f836 Jean*0095 
4abf9d9a22 Jean*0096       IF ( cpl_exchange_DIC.GE.2 ) THEN
9944d6f836 Jean*0097 C-    Receive atmos CO2 from atmos. component
                0098         CALL COUPRECV_R8TILES( atmCompName, atmAirCO2Name,
                0099      I                         Nx_atm, Ny_atm,
                0100      O                         aCO2_atm )
                0101 
                0102 C-    Receive surface wind speed from atmos. component
00df836f46 Jean*0103         CALL COUPRECV_R8TILES( atmCompName, atmWindSpdName,
9944d6f836 Jean*0104      I                         Nx_atm, Ny_atm,
                0105      O                         wSpeed_atm )
4abf9d9a22 Jean*0106       ENDIF
9944d6f836 Jean*0107 
4abf9d9a22 Jean*0108       IF ( ( cpl_exchange1W_sIce.GE.2
                0109      &     .AND.cpl_exchange_DIC.GE.2 )
                0110      &  .OR. cpl_exchange2W_sIce.GE.2 ) THEN
9944d6f836 Jean*0111 C-    Receive seaice fraction from atmos. component
00df836f46 Jean*0112         CALL COUPRECV_R8TILES( atmCompName, atmSIceFracName,
9944d6f836 Jean*0113      I                         Nx_atm, Ny_atm,
                0114      O                         sIceFrac_atm )
4abf9d9a22 Jean*0115       ENDIF
                0116 
                0117       IF ( cpl_exchange2W_sIce.GE.2 ) THEN
                0118 C-    Receive seaice thickness from atmos. component
                0119         CALL COUPRECV_R8TILES( atmCompName, atmSIceThickName,
                0120      I                         Nx_atm, Ny_atm,
                0121      O                         sIceThick_atm )
                0122 
                0123 C-    Receive snow thickness from atmos. component
                0124         CALL COUPRECV_R8TILES( atmCompName, atmSIceSnowName,
                0125      I                         Nx_atm, Ny_atm,
                0126      O                         sIceSnowH_atm )
9944d6f836 Jean*0127 
4abf9d9a22 Jean*0128 C-    Receive seaice enthalpy (layer 1) from atmos. component
                0129         CALL COUPRECV_R8TILES( atmCompName, atmSIceQ1Name,
                0130      I                         Nx_atm, Ny_atm,
                0131      O                         sIceQ1_atm )
                0132 
                0133 C-    Receive seaice enthalpy (layer 2) from atmos. component
                0134         CALL COUPRECV_R8TILES( atmCompName, atmSIceQ2Name,
                0135      I                         Nx_atm, Ny_atm,
                0136      O                         sIceQ2_atm )
9944d6f836 Jean*0137       ENDIF
                0138 
7f58e89433 Jean*0139       RETURN
                0140       END