! ========================================================== ! | CPL_MPMICE ! | Declare MPI tags for each variable to be exchanged ! | between MITgcm and MPMice ! |---------------------------------------------------------- ! | Note: North/South/East/West and zonal/meridional below ! | refer to grid, not geographical coordinates. ! ========================================================== ! TimeIntervalTag ! time interval between communications (s): scalar Real*8 ! OceanTimeTag ! ocean model time (s): scalar Real*8 ! IceTimeTag ! ice model time (s): scalar Real*8 ! OceanGridsizeTag ! ocean model Nx and Ny dimensions: 2 integers ! xCtag ! longitude East of center of grid cell ! Nx * Ny Real*8 array ! yCtag ! latitude North of center of grid cell ! Nx * Ny Real*8 array ! xGtag ! longitude East of SouthWest corner ! Nx * Ny Real*8 array ! yGtag ! latitude North of SouthWest corner ! Nx * Ny Real*8 array ! dxGtag ! distance in m between SouthWest and SouthEast corner ! Nx * Ny Real*8 array ! dyGtag ! distance in m between SouthWest and NorthEast corner ! Nx * Ny Real*8 array ! aCStag ! cosine(alpha) relative to geographic direction at grid cell center ! Nx * Ny Real*8 array ! aSNtag ! sine(alpha) relative to geographic direction at grid cell center ! Nx * Ny Real*8 array ! hFacCtag ! landmask of center of grid cell, 0 is land, >0 is ocean ! Nx * Ny Real*8 array ! AreaBcTag ! open boundary ice area (fractional: 0-1) at the tracer points ! 2*(Nx+Ny)-4 Real*8 array ! i=[1:Nx Nx*ones(1,Ny-1) (Nx-1):-1:1 ones(1,Ny-2)]; ! j=[ones(1,Nx) 2:Ny Ny*ones(1,Nx-1) (Ny-1):-1:2 ]; ! HeffBcTag ! open boundary effective ice thickness (m) at the tracer points ! actual ice thickness for single-class ice is: Heff / Area ! 2*(Nx+Ny)-4 Real*8 array ! i=[1:Nx Nx*ones(1,Ny-1) (Nx-1):-1:1 ones(1,Ny-2)]; ! j=[ones(1,Nx) 2:Ny Ny*ones(1,Nx-1) (Ny-1):-1:2 ]; ! HsnowBcTag ! open boundary effective snow thickness (m) at the tracer points ! actual snow thickness is: Hsnow / Area ! 2*(Nx+Ny)-4 Real*8 array ! i=[1:Nx Nx*ones(1,Ny-1) (Nx-1):-1:1 ones(1,Ny-2)]; ! j=[ones(1,Nx) 2:Ny Ny*ones(1,Nx-1) (Ny-1):-1:2 ]; ! HsaltBcTag ! open boundary effective sea ice salinity (g/m2) at the tracer points ! actual salinity in g/kg is: Hsalt / Heff / rhoIce ! where rhoice = 910 kg / m^3 ! 2*(Nx+Ny)-4 Real*8 array ! i=[1:Nx Nx*ones(1,Ny-1) (Nx-1):-1:1 ones(1,Ny-2)]; ! j=[ones(1,Nx) 2:Ny Ny*ones(1,Nx-1) (Ny-1):-1:2 ]; ! UiceBcTag ! open boundary zonal velocity (m/s) ! specified at the inside edge of the outer grid cells ! southwest C-grid locations for normal component and at the ! southwest C-grid locations for tangential ! >0 from West to East ! 2*(Nx+Ny)-6 Real*8 array ! i=[2:Nx Nx*ones(1,Ny-1) (Nx-1):-1:2 2*ones(1,Ny-2)]; ! j=[ones(1,Nx-1) 2:Ny Ny*ones(1,Nx-2) (Ny-1):-1:2 ]; ! ViceBcTag ! open boundary meridional velocity (m/s) ! specified at the inside edge of the outer grid cells ! southwest C-grid locations for normal component and at the ! southwest C-grid locations for tangential ! >0 from South to North ! 2*(Nx+Ny)-6 Real*8 array ! i=[1:Nx Nx*ones(1,Ny-2) (Nx-1):-1:1 ones(1,Ny-3)]; ! j=[2*ones(1,Nx) 3:Ny Ny*ones(1,Nx-1) (Ny-1):-1:3 ]; ! AreaTag ! ice area (fractional: 0-1) at the tracer points ! Nx * Ny Real*8 array ! HeffTag ! effective ice thickness (mean thickness in the grid box in m) ! at the tracer points ! actual ice thickness for single-class ice is: Heff / Area ! Nx * Ny Real*8 array ! HsnowTag ! effective snow thickness (mean thickness in the grid box in m) ! at the tracer points ! actual snow thickness is: Hsnow / Area ! Nx * Ny Real*8 array ! HsaltTag ! effective sea ice salinity (g/m2) at the tracer points ! actual salinity in g/kg is: Hsalt / Heff / rhoIce ! where rhoice = 910 kg / m^3 ! Nx * Ny Real*8 array ! UiceTag ! zonal ice velocity in m/s at South-West C-grid U point ! >0 from West to East ! Nx * Ny Real*8 array ! ViceTag ! meridional ice velocity in m/s at South-West C-grid V point ! >0 from South to North ! Nx * Ny Real*8 array ! UwindTag ! 10-m u-wind at the tracer points (m/s) ! >0 from West to East ! Nx * Ny Real*8 array ! VwindTag ! 10-m v-wind at the tracer points (m/s) ! >0 from South to North ! Nx * Ny Real*8 array ! LwDownTag ! downward longwave at the tracer points (W/m2) ! > 0 for increase in theta (ocean warming) ! Nx * Ny Real*8 array ! SwDownTag ! downward shortwave at the tracer points (W/m2) ! > 0 for increase in theta (ocean warming) ! Nx * Ny Real*8 array ! AtempTag ! 2-m air temperature at the tracer points (deg K) ! Nx * Ny Real*8 array ! AqhTag ! 2-m specific humidity at the tracer points (kg/kg) ! Nx * Ny Real*8 array ! PrecipTag ! precipitation at the tracer points (m/s) ! > 0 for decrease in salt (ocean salinity) ! Nx * Ny Real*8 array ! SstTag ! sea surface temperature at the tracer points (deg C) ! Nx * Ny Real*8 array ! SssTag ! sea surface salinity at the tracer points (g/kg) ! Nx * Ny Real*8 array ! UvelTag ! sea surface zonal velocity (m/s) ! at southwest c-grid locations ! Nx * Ny Real*8 array ! VvelTag ! sea surface meridional velocity (m/s) ! at southwest c-grid locations ! Nx * Ny Real*8 array ! UstressTag ! zonal stress under ice at southwest c-grid locations (N/m^2) ! Ustress is computed for ice-covered area only ! > 0 increases ocean surface velocity in the U direction ! Nx * Ny Real*8 array ! VstressTag ! meridional stress under ice at southwest c-grid locations (N/m^2) ! Vstress is computed for ice-covered area only ! > 0 increases ocean surface velocity in the V direction ! Nx * Ny Real*8 array ! SwResidTag ! residual shortwave under ice at tracer point (W/m2) ! SwResid is computed for ice-covered area only ! > 0 for increase in theta (ocean warming) ! Nx * Ny Real*8 array ! HeatFluxTag ! heat flux (less shortwave) at tracer point (W/m2) ! HeatFlux is computed for ice-covered area only ! > 0 for increase in theta (ocean warming) ! Nx * Ny Real*8 array ! WaterFluxTag ! freshwater flux at tracer point ( kg/m^2/s ) ! WaterFlux is computed for ice-covered area only ! > 0 for decrease in ocean salinity ! Nx * Ny Real*8 array ! SaltFluxTag ! salt flux at tracer point (g/m^2/s) ! SaltFlux is computed for ice-covered area only ! > 0 for increase in ocean salinity ! Nx * Ny Real*8 array INTEGER TimeIntervalTag INTEGER OceanTimeTag INTEGER IceTimeTag INTEGER OceanGridsizeTag INTEGER xCtag , yCtag INTEGER xGtag , yGtag INTEGER aCStag, aSNtag INTEGER dxGtag, dyGtag INTEGER hFacCtag INTEGER AreaBcTag INTEGER HeffBcTag INTEGER HsnowBcTag INTEGER HsaltBcTag INTEGER UiceBcTag INTEGER ViceBcTag INTEGER AreaTag INTEGER HeffTag INTEGER HsnowTag INTEGER HsaltTag INTEGER UiceTag INTEGER ViceTag INTEGER UwindTag INTEGER VwindTag INTEGER LwDownTag INTEGER SwDownTag INTEGER AtempTag INTEGER AqhTag INTEGER PrecipTag INTEGER SstTag INTEGER SssTag INTEGER UvelTag INTEGER VvelTag INTEGER UstressTag INTEGER VstressTag INTEGER SwResidTag INTEGER HeatFluxTag INTEGER WaterFluxTag INTEGER SaltFluxTag PARAMETER ( TimeIntervalTag = 10001000 ) PARAMETER ( OceanTimeTag = 10001001 ) PARAMETER ( IceTimeTag = 10001002 ) PARAMETER ( OceanGridsizeTag = 10002001 ) PARAMETER ( xCtag = 10002002 ) PARAMETER ( yCtag = 10002003 ) PARAMETER ( xGtag = 10002004 ) PARAMETER ( yGtag = 10002005 ) PARAMETER ( dxGtag = 10002006 ) PARAMETER ( dyGtag = 10002007 ) PARAMETER ( aCStag = 10002008 ) PARAMETER ( aSNtag = 10002009 ) PARAMETER ( hFacCtag = 10002010 ) PARAMETER ( AreaBcTag = 10003001 ) PARAMETER ( HeffBcTag = 10003002 ) PARAMETER ( HsnowBcTag = 10003003 ) PARAMETER ( HsaltBcTag = 10003004 ) PARAMETER ( UiceBcTag = 10003005 ) PARAMETER ( ViceBcTag = 10003006 ) PARAMETER ( AreaTag = 10004001 ) PARAMETER ( HeffTag = 10004002 ) PARAMETER ( HsnowTag = 10004003 ) PARAMETER ( HsaltTag = 10004004 ) PARAMETER ( UiceTag = 10004005 ) PARAMETER ( ViceTag = 10004006 ) PARAMETER ( UwindTag = 10005001 ) PARAMETER ( VwindTag = 10005002 ) PARAMETER ( LwDownTag = 10005101 ) PARAMETER ( SwDownTag = 10005102 ) PARAMETER ( AtempTag = 10005103 ) PARAMETER ( AqhTag = 10005104 ) PARAMETER ( PrecipTag = 10005105 ) PARAMETER ( SstTag = 10005201 ) PARAMETER ( SssTag = 10005202 ) PARAMETER ( UvelTag = 10005203 ) PARAMETER ( VvelTag = 10005204 ) PARAMETER ( UstressTag = 10006001 ) PARAMETER ( VstressTag = 10006002 ) PARAMETER ( SwResidTag = 20006101 ) PARAMETER ( HeatFluxTag = 20006102 ) PARAMETER ( WaterFluxTag = 20006103 ) PARAMETER ( SaltFluxTag = 20006104 )