[MITgcm-devel] exf runoff and seaice

Dimitris Menemenlis menemenlis at sbcglobal.net
Thu May 17 12:36:18 EDT 2007


> In the EXF pkg, I am going to replace all the:
> #if defined (ALLOW_RUNOFF) || defined (ALLOW_SEAICE)
> by just
> #ifdef ALLOW_RUNOFF

OK.

> 1) it's not clean.
>  (we have some EXF stuff in pkg/seaice, it's documented and
>  it's fine ; but I prefer to keep exf without any seaice CPP options)
> 2) it's not right, because those "|| defined (ALLOW_SEAICE)"
>  are missing in a significant number of places in pkg/exf

Reason for that is that if SEAICE_EXTERNAL_FORCING is defined, pkg/seaice uses 
EXF_FIELDS.h common blocks rather than the SEAICE_FFIELDS common block (see 
SEAICE_FFIELDS.h).  This means that runoff array must exist, even if it just 
filled with zeros, which is why ALLOW_SEAICE is "not" needed everywhere.

> 3) if this is needed, there are other ways to do it,
>  the simplest would be to check in seaice_check.F that 
>  ALLOW_RUNOFF is defined (like what is done for ALLOW_ATM_TEMP, 
>  ALLOW_DOWNWARD_RADIATION ... etc)

It is needed, so let's add to seaice_check.F.  Shall I or will you take care of 
this.  Also what is decision re SEAICE_EXTERNAL_FORCING flag?  Shall we force 
pkg/seaice to be useable only in conjunction with pkg/exf?

> I am trying to get a set-up running with exf that would be 
> somehow "consistent", and after ~ 20 attempts, still haven't 
> figured out what the runoff is doing.

I don't understand question.  Do you want to talk on the phone about this?

D.





More information about the MITgcm-devel mailing list