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_SEND_ATM_FIELDS
                0005 C     !INTERFACE:
4abf9d9a22 Jean*0006       SUBROUTINE CPL_SEND_ATM_FIELDS( msgUnit, iter )
9944d6f836 Jean*0007 
                0008 C     !DESCRIPTION: \bv
                0009 C     *==========================================================*
                0010 C     | SUBROUTINE CPL_SEND_ATM_FIELDS
                0011 C     | o Routine for sending ocean surface fields to atmos.
                0012 C     |   component.
                0013 C     *==========================================================*
                0014 C     | This version talks to the MITgcm general circulation
                0015 C     | model.
                0016 C     *==========================================================*
                0017 C     \ev
                0018 
                0019 C     !USES:
7f58e89433 Jean*0020       IMPLICIT NONE
                0021 
                0022 C     == Global variables ==
00df836f46 Jean*0023 #include "CPL_PARAMS.h"
7f58e89433 Jean*0024 #include "ATMSIZE.h"
                0025 #include "ATMVARS.h"
                0026 #include "ATMIDS.h"
                0027 #include "OCNSIZE.h"
                0028 #include "OCNVARS.h"
                0029 
9944d6f836 Jean*0030 C     !INPUT/OUTPUT PARAMETERS:
4abf9d9a22 Jean*0031 C     msgUnit   :: log-file I/O unit
                0032 C     iter      :: current iteration number
                0033       INTEGER msgUnit, iter
7f58e89433 Jean*0034 
9944d6f836 Jean*0035 C     !LOCAL VARIABLES:
                0036 CEOP
7f58e89433 Jean*0037 
                0038 C--   Map ocean mixed-layer depth onto atmos. grid
                0039       CALL OCN_TO_ATM_MAPXYR8(
                0040      I         Nx_ocn, Ny_ocn, OcMxlD_ocn, Nx_atm, Ny_atm,
                0041      O                         OcMxlD_atm )
                0042 C     Send ocean mixed-layer depth to atmos. component
                0043       CALL COUPSEND_R8TILES( atmCompName, atmMxlDName,
                0044      I                       Nx_atm, Ny_atm, OcMxlD_atm )
                0045 
                0046 C--   Map ocean surface temperature onto atmos. grid
                0047       CALL OCN_TO_ATM_MAPXYR8(
                0048      I         Nx_ocn, Ny_ocn, SST_ocn, Nx_atm, Ny_atm,
                0049      O                         SST_atm )
                0050 C     Send SST to atmos. component
                0051       CALL COUPSEND_R8TILES( atmCompName, atmSSTName,
                0052      I                       Nx_atm, Ny_atm, SST_atm )
                0053 
                0054 C--   Map ocean surface salinity onto atmos. grid
                0055       CALL OCN_TO_ATM_MAPXYR8(
                0056      I         Nx_ocn, Ny_ocn, SSS_ocn, Nx_atm, Ny_atm,
                0057      O                         SSS_atm )
                0058 C     Send SSS to atmos. component
                0059       CALL COUPSEND_R8TILES( atmCompName, atmSSSName,
                0060      I                       Nx_atm, Ny_atm, SSS_atm )
                0061 
                0062 C--   Map ocean surface velocity square onto atmos. grid
                0063       CALL OCN_TO_ATM_MAPXYR8(
                0064      I         Nx_ocn, Ny_ocn, vSq_ocn, Nx_atm, Ny_atm,
                0065      O                         vSq_atm )
                0066 C     Send ocean surface velocity square to atmos. component
                0067       CALL COUPSEND_R8TILES( atmCompName, atmSSVsqName,
                0068      I                       Nx_atm, Ny_atm, vSq_atm )
                0069 
00df836f46 Jean*0070       IF ( cpl_exchange_DIC.GE.2 ) THEN
9944d6f836 Jean*0071 C--   Map ocn->atm flux of CO2 onto atmos. grid
                0072         CALL OCN_TO_ATM_MAPXYR8(
                0073      I           Nx_ocn, Ny_ocn, fluxCO2_ocn, Nx_atm, Ny_atm,
                0074      O                           fluxCO2_atm )
                0075 C     Send ocn->atm flux of CO2 to atmos. component
00df836f46 Jean*0076         CALL COUPSEND_R8TILES( atmCompName, atmCO2FluxName,
a10a6a770c Davi*0077      I                         Nx_atm, Ny_atm, fluxCO2_atm )
9944d6f836 Jean*0078       ENDIF
                0079 
4abf9d9a22 Jean*0080       IF ( cpl_exchange2W_sIce.EQ.3 ) THEN
                0081 C--   Map pkg/thsice fields onto atmos. grid:
                0082 C     Map seaice fraction from ocean compon.
                0083         CALL OCN_TO_ATM_MAPXYR8(
                0084      I           Nx_ocn, Ny_ocn, SIceFrac_ocn, Nx_atm, Ny_atm,
                0085      O                           SIceFrac_atm )
                0086 C     Map seaice thickness
                0087         CALL OCN_TO_ATM_MAPXYR8(
                0088      I           Nx_ocn, Ny_ocn, sIceThick_ocn, Nx_atm, Ny_atm,
                0089      O                           sIceThick_atm )
                0090 C     Map snow thickness
                0091         CALL OCN_TO_ATM_MAPXYR8(
                0092      I           Nx_ocn, Ny_ocn, sIceSnowH_ocn, Nx_atm, Ny_atm,
                0093      O                           sIceSnowH_atm )
                0094 C     Map seaice enthalpy (layer 1)
                0095         CALL OCN_TO_ATM_MAPXYR8(
                0096      I           Nx_ocn, Ny_ocn, sIceQ1_ocn, Nx_atm, Ny_atm,
                0097      O                           sIceQ1_atm )
                0098 C     Map seaice enthalpy (layer 2)
                0099         CALL OCN_TO_ATM_MAPXYR8(
                0100      I           Nx_ocn, Ny_ocn, sIceQ2_ocn, Nx_atm, Ny_atm,
                0101      O                           sIceQ2_atm )
                0102       ENDIF
                0103       IF ( cpl_exchange2W_sIce.GE.2 ) THEN
                0104 C--   Send pkg/thsice fields to atmos. component:
                0105 C     Send sea-ice fraction
                0106         CALL COUPSEND_R8TILES( atmCompName, atmSIceFracName,
                0107      I                         Nx_atm, Ny_atm, SIceFrac_atm )
                0108 C     Send seaice thickness
                0109         CALL COUPSEND_R8TILES( atmCompName, atmSIceThickName,
                0110      I                         Nx_atm, Ny_atm, sIceThick_atm )
                0111 C     Send snow thickness
                0112         CALL COUPSEND_R8TILES( atmCompName, atmSIceSnowName,
                0113      I                         Nx_atm, Ny_atm, sIceSnowH_atm )
                0114 C     Send seaice enthalpy (layer 1)
                0115         CALL COUPSEND_R8TILES( atmCompName, atmSIceQ1Name,
                0116      I                         Nx_atm, Ny_atm, sIceQ1_atm )
                0117 C     Send seaice enthalpy (layer 2)
                0118         CALL COUPSEND_R8TILES( atmCompName, atmSIceQ2Name,
                0119      I                         Nx_atm, Ny_atm, sIceQ2_atm )
                0120       ENDIF
                0121 
7f58e89433 Jean*0122       RETURN
                0123       END