/[MITgcm]/MITgcm/pkg/atm_ocn_coupler/cpl_send_atm_fields.F
ViewVC logotype

Contents of /MITgcm/pkg/atm_ocn_coupler/cpl_send_atm_fields.F

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


Revision 1.7 - (show annotations) (download)
Wed Jan 6 00:32:11 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.6: +47 -3 lines
- add argument msgUnit and iter number to CPL_SEND/RECV_ATM/OCN_FIELDS
  routines (useful for debug).
- only export/import optionally exchanged fields (RunOff, seaice, Salt-Plume
   flux, DIC fields) if corresponding switch is ON.
- add option to export RunOff to OCN (to use for DIC river input)
- add 2-way thSIce vars exchange to allow to use seaice dynamics in OCN

1 C $Header: /u/gcmpack/MITgcm/pkg/atm_ocn_coupler/cpl_send_atm_fields.F,v 1.6 2015/11/12 00:43:34 jmc Exp $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: CPL_SEND_ATM_FIELDS
8 C !INTERFACE:
9 SUBROUTINE CPL_SEND_ATM_FIELDS( msgUnit, iter )
10
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | SUBROUTINE CPL_SEND_ATM_FIELDS
14 C | o Routine for sending ocean surface fields to atmos.
15 C | component.
16 C *==========================================================*
17 C | This version talks to the MITgcm general circulation
18 C | model.
19 C *==========================================================*
20 C \ev
21
22 C !USES:
23 IMPLICIT NONE
24
25 C == Global variables ==
26 #include "CPL_PARAMS.h"
27 #include "ATMSIZE.h"
28 #include "ATMVARS.h"
29 #include "ATMIDS.h"
30 #include "OCNSIZE.h"
31 #include "OCNVARS.h"
32
33 C !INPUT/OUTPUT PARAMETERS:
34 C msgUnit :: log-file I/O unit
35 C iter :: current iteration number
36 INTEGER msgUnit, iter
37
38 C !LOCAL VARIABLES:
39 CEOP
40
41 C-- Map ocean mixed-layer depth onto atmos. grid
42 CALL OCN_TO_ATM_MAPXYR8(
43 I Nx_ocn, Ny_ocn, OcMxlD_ocn, Nx_atm, Ny_atm,
44 O OcMxlD_atm )
45 C Send ocean mixed-layer depth to atmos. component
46 CALL COUPSEND_R8TILES( atmCompName, atmMxlDName,
47 I Nx_atm, Ny_atm, OcMxlD_atm )
48
49 C-- Map ocean surface temperature onto atmos. grid
50 CALL OCN_TO_ATM_MAPXYR8(
51 I Nx_ocn, Ny_ocn, SST_ocn, Nx_atm, Ny_atm,
52 O SST_atm )
53 C Send SST to atmos. component
54 CALL COUPSEND_R8TILES( atmCompName, atmSSTName,
55 I Nx_atm, Ny_atm, SST_atm )
56
57 C-- Map ocean surface salinity onto atmos. grid
58 CALL OCN_TO_ATM_MAPXYR8(
59 I Nx_ocn, Ny_ocn, SSS_ocn, Nx_atm, Ny_atm,
60 O SSS_atm )
61 C Send SSS to atmos. component
62 CALL COUPSEND_R8TILES( atmCompName, atmSSSName,
63 I Nx_atm, Ny_atm, SSS_atm )
64
65 C-- Map ocean surface velocity square onto atmos. grid
66 CALL OCN_TO_ATM_MAPXYR8(
67 I Nx_ocn, Ny_ocn, vSq_ocn, Nx_atm, Ny_atm,
68 O vSq_atm )
69 C Send ocean surface velocity square to atmos. component
70 CALL COUPSEND_R8TILES( atmCompName, atmSSVsqName,
71 I Nx_atm, Ny_atm, vSq_atm )
72
73 IF ( cpl_exchange_DIC.GE.2 ) THEN
74 C-- Map ocn->atm flux of CO2 onto atmos. grid
75 CALL OCN_TO_ATM_MAPXYR8(
76 I Nx_ocn, Ny_ocn, fluxCO2_ocn, Nx_atm, Ny_atm,
77 O fluxCO2_atm )
78 C Send ocn->atm flux of CO2 to atmos. component
79 CALL COUPSEND_R8TILES( atmCompName, atmCO2FluxName,
80 I Nx_atm, Ny_atm, fluxCO2_atm )
81 ENDIF
82
83 IF ( cpl_exchange2W_sIce.EQ.3 ) THEN
84 C-- Map pkg/thsice fields onto atmos. grid:
85 C Map seaice fraction from ocean compon.
86 CALL OCN_TO_ATM_MAPXYR8(
87 I Nx_ocn, Ny_ocn, SIceFrac_ocn, Nx_atm, Ny_atm,
88 O SIceFrac_atm )
89 C Map seaice thickness
90 CALL OCN_TO_ATM_MAPXYR8(
91 I Nx_ocn, Ny_ocn, sIceThick_ocn, Nx_atm, Ny_atm,
92 O sIceThick_atm )
93 C Map snow thickness
94 CALL OCN_TO_ATM_MAPXYR8(
95 I Nx_ocn, Ny_ocn, sIceSnowH_ocn, Nx_atm, Ny_atm,
96 O sIceSnowH_atm )
97 C Map seaice enthalpy (layer 1)
98 CALL OCN_TO_ATM_MAPXYR8(
99 I Nx_ocn, Ny_ocn, sIceQ1_ocn, Nx_atm, Ny_atm,
100 O sIceQ1_atm )
101 C Map seaice enthalpy (layer 2)
102 CALL OCN_TO_ATM_MAPXYR8(
103 I Nx_ocn, Ny_ocn, sIceQ2_ocn, Nx_atm, Ny_atm,
104 O sIceQ2_atm )
105 ENDIF
106 IF ( cpl_exchange2W_sIce.GE.2 ) THEN
107 C-- Send pkg/thsice fields to atmos. component:
108 C Send sea-ice fraction
109 CALL COUPSEND_R8TILES( atmCompName, atmSIceFracName,
110 I Nx_atm, Ny_atm, SIceFrac_atm )
111 C Send seaice thickness
112 CALL COUPSEND_R8TILES( atmCompName, atmSIceThickName,
113 I Nx_atm, Ny_atm, sIceThick_atm )
114 C Send snow thickness
115 CALL COUPSEND_R8TILES( atmCompName, atmSIceSnowName,
116 I Nx_atm, Ny_atm, sIceSnowH_atm )
117 C Send seaice enthalpy (layer 1)
118 CALL COUPSEND_R8TILES( atmCompName, atmSIceQ1Name,
119 I Nx_atm, Ny_atm, sIceQ1_atm )
120 C Send seaice enthalpy (layer 2)
121 CALL COUPSEND_R8TILES( atmCompName, atmSIceQ2Name,
122 I Nx_atm, Ny_atm, sIceQ2_atm )
123 ENDIF
124
125 RETURN
126 END

  ViewVC Help
Powered by ViewVC 1.1.22