C $Header: /u/gcmpack/MITgcm/pkg/obcs/OBCS_SEAICE.h,v 1.4 2012/11/15 15:55:42 dimitri Exp $ C $Name: $ #ifdef ALLOW_OBCS CBOP C !ROUTINE: OBCS_SEAICE.h C !INTERFACE: C #include "OBCS_SEAICE.h" C !DESCRIPTION: C *==========================================================* C | OBCS_SEAICE.h C | o Header file containing C | OBCS seaice parameters and OB values of seaice fields. C *==========================================================* CEOP C seaiceSpongeThickness :: number grid points that make up the sponge layer (def=0) COMMON /OBC_SEAICE_PARM_I/ & seaiceSpongeThickness INTEGER seaiceSpongeThickness C useSeaiceSponge :: turns on seaice sponge layer along boundary (def=false) COMMON /OBC_SEAICE_PARM_L/ & useSeaiceSponge LOGICAL useSeaiceSponge C [A,H,SL,SN]relaxobcs[inner,bound] :: relaxation time scale (in seconds) on the C boundary (bound) and at the innermost grid point of the C sponge layer (inner); relaxation time scales in-between C are linearly interpolated from these values COMMON /OBC_SEAICE_PARM_R/ & Arelaxobcsinner, Arelaxobcsbound, & Hrelaxobcsinner, Hrelaxobcsbound, & SLrelaxobcsinner, SLrelaxobcsbound, & SNrelaxobcsinner, SNrelaxobcsbound _RS Arelaxobcsinner, Arelaxobcsbound _RS Hrelaxobcsinner, Hrelaxobcsbound _RS SLrelaxobcsinner, SLrelaxobcsbound _RS SNrelaxobcsinner, SNrelaxobcsbound C OB[N,S,E,W][a,h,sn,sl,uice,vice]File :: Files with boundary conditions, C the letter combinations mean: C N/S/E/W :: northern/southern/eastern/western boundary C a/h :: sea ice concentration/effective thickness C sn/sl :: effective snow thickness/sea ice salinity C uice/vice :: sea ice u/v drift velocities COMMON /OBC_SEAICE_FILES/ & OBNaFile, OBSaFile, OBEaFile, OBWaFile, & OBNhFile, OBShFile, OBEhFile, OBWhFile, & OBNslFile, OBSslFile, OBEslFile, OBWslFile, & OBNsnFile, OBSsnFile, OBEsnFile, OBWsnFile, & OBNuiceFile,OBSuiceFile,OBEuiceFile,OBWuiceFile, & OBNviceFile,OBSviceFile,OBEviceFile,OBWviceFile CHARACTER*(MAX_LEN_FNAM) & OBNaFile, OBSaFile, OBEaFile, OBWaFile, & OBNhFile, OBShFile, OBEhFile, OBWhFile, & OBNslFile, OBSslFile, OBEslFile, OBWslFile, & OBNsnFile, OBSsnFile, OBEsnFile, OBWsnFile, & OBNuiceFile,OBSuiceFile,OBEuiceFile,OBWuiceFile, & OBNviceFile,OBSviceFile,OBEviceFile,OBWviceFile #ifdef ALLOW_SEAICE C-- COMMON /OBC_SEAICE_NSEW/ Open boundary values of seaice fields C OBNa is the ice AREA value imposed at the Northern OB C OBNh is the ice HEFF value imposed at the Northern OB C OBNsl is the ice HSALT value imposed at the Northern OB C OBNsn is the ice HSNOW value imposed at the Northern OB C OBNuice is the uice value imposed at the Northern OB C OBNvice is the vice value imposed at the Northern OB C etc #ifdef ALLOW_OBCS_NORTH COMMON /OBC_SEAICE_N/ & OBNa , OBNh , OBNsl , OBNsn , OBNuice , OBNvice , & OBNa0, OBNh0, OBNsl0, OBNsn0, OBNuice0, OBNvice0, & OBNa1, OBNh1, OBNsl1, OBNsn1, OBNuice1, OBNvice1 _RL OBNa (1-Olx:sNx+Olx,nSx,nSy) _RL OBNh (1-Olx:sNx+Olx,nSx,nSy) _RL OBNsl (1-Olx:sNx+Olx,nSx,nSy) _RL OBNsn (1-Olx:sNx+Olx,nSx,nSy) _RL OBNuice (1-Olx:sNx+Olx,nSx,nSy) _RL OBNvice (1-Olx:sNx+Olx,nSx,nSy) c#ifdef ALLOW_OBCS_PRESCRIBE _RL OBNa0 (1-Olx:sNx+Olx,nSx,nSy) _RL OBNh0 (1-Olx:sNx+Olx,nSx,nSy) _RL OBNsl0 (1-Olx:sNx+Olx,nSx,nSy) _RL OBNsn0 (1-Olx:sNx+Olx,nSx,nSy) _RL OBNuice0(1-Olx:sNx+Olx,nSx,nSy) _RL OBNvice0(1-Olx:sNx+Olx,nSx,nSy) _RL OBNa1 (1-Olx:sNx+Olx,nSx,nSy) _RL OBNh1 (1-Olx:sNx+Olx,nSx,nSy) _RL OBNsl1 (1-Olx:sNx+Olx,nSx,nSy) _RL OBNsn1 (1-Olx:sNx+Olx,nSx,nSy) _RL OBNuice1(1-Olx:sNx+Olx,nSx,nSy) _RL OBNvice1(1-Olx:sNx+Olx,nSx,nSy) c#endif /* ALLOW_OBCS_PRESCRIBE */ #endif /* ALLOW_OBCS_NORTH */ #ifdef ALLOW_OBCS_SOUTH COMMON /OBC_SEAICE_S/ & OBSa , OBSh , OBSsl , OBSsn , OBSuice , OBSvice , & OBSa0, OBSh0, OBSsl0, OBSsn0, OBSuice0, OBSvice0, & OBSa1, OBSh1, OBSsl1, OBSsn1, OBSuice1, OBSvice1 _RL OBSa (1-Olx:sNx+Olx,nSx,nSy) _RL OBSh (1-Olx:sNx+Olx,nSx,nSy) _RL OBSsl (1-Olx:sNx+Olx,nSx,nSy) _RL OBSsn (1-Olx:sNx+Olx,nSx,nSy) _RL OBSuice (1-Olx:sNx+Olx,nSx,nSy) _RL OBSvice (1-Olx:sNx+Olx,nSx,nSy) c#ifdef ALLOW_OBCS_PRESCRIBE _RL OBSa0 (1-Olx:sNx+Olx,nSx,nSy) _RL OBSh0 (1-Olx:sNx+Olx,nSx,nSy) _RL OBSsl0 (1-Olx:sNx+Olx,nSx,nSy) _RL OBSsn0 (1-Olx:sNx+Olx,nSx,nSy) _RL OBSuice0(1-Olx:sNx+Olx,nSx,nSy) _RL OBSvice0(1-Olx:sNx+Olx,nSx,nSy) _RL OBSa1 (1-Olx:sNx+Olx,nSx,nSy) _RL OBSh1 (1-Olx:sNx+Olx,nSx,nSy) _RL OBSsl1 (1-Olx:sNx+Olx,nSx,nSy) _RL OBSsn1 (1-Olx:sNx+Olx,nSx,nSy) _RL OBSuice1(1-Olx:sNx+Olx,nSx,nSy) _RL OBSvice1(1-Olx:sNx+Olx,nSx,nSy) c#endif /* ALLOW_OBCS_PRESCRIBE */ #endif /* ALLOW_OBCS_SOUTH */ #ifdef ALLOW_OBCS_EAST COMMON /OBC_SEAICE_E/ & OBEa , OBEh , OBEsl , OBEsn , OBEuice , OBEvice , & OBEa0, OBEh0, OBEsl0, OBEsn0, OBEuice0, OBEvice0, & OBEa1, OBEh1, OBEsl1, OBEsn1, OBEuice1, OBEvice1 _RL OBEa (1-Oly:sNy+Oly,nSx,nSy) _RL OBEh (1-Oly:sNy+Oly,nSx,nSy) _RL OBEsl (1-Oly:sNy+Oly,nSx,nSy) _RL OBEsn (1-Oly:sNy+Oly,nSx,nSy) _RL OBEuice (1-Oly:sNy+Oly,nSx,nSy) _RL OBEvice (1-Oly:sNy+Oly,nSx,nSy) c#ifdef ALLOW_OBCS_PRESCRIBE _RL OBEa0 (1-Oly:sNy+Oly,nSx,nSy) _RL OBEh0 (1-Oly:sNy+Oly,nSx,nSy) _RL OBEsl0 (1-Oly:sNy+Oly,nSx,nSy) _RL OBEsn0 (1-Oly:sNy+Oly,nSx,nSy) _RL OBEuice0(1-Oly:sNy+Oly,nSx,nSy) _RL OBEvice0(1-Oly:sNy+Oly,nSx,nSy) _RL OBEa1 (1-Oly:sNy+Oly,nSx,nSy) _RL OBEh1 (1-Oly:sNy+Oly,nSx,nSy) _RL OBEsl1 (1-Oly:sNy+Oly,nSx,nSy) _RL OBEsn1 (1-Oly:sNy+Oly,nSx,nSy) _RL OBEuice1(1-Oly:sNy+Oly,nSx,nSy) _RL OBEvice1(1-Oly:sNy+Oly,nSx,nSy) c#endif /* ALLOW_OBCS_PRESCRIBE */ #endif /* ALLOW_OBCS_EAST */ #ifdef ALLOW_OBCS_WEST COMMON /OBC_SEAICE_W/ & OBWa , OBWh , OBWsl , OBWsn , OBWuice , OBWvice , & OBWa0, OBWh0, OBWsl0, OBWsn0, OBWuice0, OBWvice0, & OBWa1, OBWh1, OBWsl1, OBWsn1, OBWuice1, OBWvice1 _RL OBWa (1-Oly:sNy+Oly,nSx,nSy) _RL OBWh (1-Oly:sNy+Oly,nSx,nSy) _RL OBWsl (1-Oly:sNy+Oly,nSx,nSy) _RL OBWsn (1-Oly:sNy+Oly,nSx,nSy) _RL OBWuice (1-Oly:sNy+Oly,nSx,nSy) _RL OBWvice (1-Oly:sNy+Oly,nSx,nSy) c#ifdef ALLOW_OBCS_PRESCRIBE _RL OBWa0 (1-Oly:sNy+Oly,nSx,nSy) _RL OBWh0 (1-Oly:sNy+Oly,nSx,nSy) _RL OBWsl0 (1-Oly:sNy+Oly,nSx,nSy) _RL OBWsn0 (1-Oly:sNy+Oly,nSx,nSy) _RL OBWuice0(1-Oly:sNy+Oly,nSx,nSy) _RL OBWvice0(1-Oly:sNy+Oly,nSx,nSy) _RL OBWa1 (1-Oly:sNy+Oly,nSx,nSy) _RL OBWh1 (1-Oly:sNy+Oly,nSx,nSy) _RL OBWsl1 (1-Oly:sNy+Oly,nSx,nSy) _RL OBWsn1 (1-Oly:sNy+Oly,nSx,nSy) _RL OBWuice1(1-Oly:sNy+Oly,nSx,nSy) _RL OBWvice1(1-Oly:sNy+Oly,nSx,nSy) c#endif /* ALLOW_OBCS_PRESCRIBE */ #endif /* ALLOW_OBCS_WEST */ #endif /* ALLOW_SEAICE */ #endif /* ALLOW_OBCS */