[MITgcm-devel] obcs and seaice

Dimitris Menemenlis dmenemenlis at gmail.com
Tue Feb 24 11:37:42 EST 2009


Hi Martin, I agree with everything you suggest ... but is it possible  
to maintain the existing behavior as a default?

> 1. introduce a runtime flag, that decides if obcs for seaice is  
> applied at all (maybe for each boundary), default is true

What is needed is one flag per boundary (North/South/East/West) and  
per variable (Heff, Area, Hsnow, Hsalt, Uice, and Vice), i.e., 24 new  
flags, which by default are set to true if obcs input files are  
available and to false if not.  Alternatively, we can have one flag,  
e.g., "ForceSeaIceObcs", which overrides all of the existing defaults.

> 2. I would replace DISABLE_SEAICE_OBCS with a defined  
> ALLOW_SEAICE_OBCS (in OBCS_OPTIONS.h or in SEAICE_OPTIONS.h?, I  
> think the former)

Searching for DISABLE_SEAICE_OBCS, I can't find it in any *.h file.  I  
think this was a debugging flag that I (or someone else) may have  
inserted but which is no longer needed.  I would replace with  
ALLOW_SEAICE_OBCS in SEAICE_OPTIONS.h and "define" this variable by  
default to maintain existing default behavior.

> 3. in obcs_apply_uvice/seaice, if not earlier in obcs_calc, compute  
> boundary values, possibly only if there is no corresponding file, as  
> default behavior: ice can leave the domain, but not enter (i.e.  
> grad(UICE)=0 and HEFF etc=0 if UICE is directed into domain.

This would need to be done only if ForceSeaIceObcs is true or if the  
input files exist or (if we decide to go with 24 individual flags) the  
corresponding 24 individual flags are true.

> 4. apply all this smoothing, etc regardless of boundary value files

Again this would need to be done only if ForceSeaiceObcs is true,  
etc., in order to maintain existing default behavior.

D.




More information about the MITgcm-devel mailing list