[MITgcm-devel] exf runoff and seaice

Jean-Michel Campin jmc at ocean.mit.edu
Thu May 17 15:01:12 EDT 2007


Dimitris,

> 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.

I understand this SEAICE_EXTERNAL_FORCING issue. But my point was
that the ALLOW_SEAICE is not always there in pkg/exf where it really 
needs to be:
in exf_init_fixed.F (few days ago was in exf_readparams.F), I see:
> #ifdef ALLOW_RUNOFF
>       if ( runofffile .NE. ' ' .AND. runoffperiod .gt. 0. ) then
>          call cal_FullDate  ( runoffstartdate1   ,     runoffstartdate2,
>      &        date_array                        ,mythid )
>          call cal_TimePassed(modelstartdate,date_array,difftime,mythid)
>          call cal_ToSeconds ( difftime,   runoffstartdate     ,mythid )
>          runoffstartdate    = modelstart  + runoffstartdate
>       endif
> #endif
it means that if I don't set ALLOW_RUNOFF, I would be able to read
the runoff file (because the loading part is with define ALLOW_SEAICE),
will be able to store it (again, because define ALLOW_SEAICE in EXF_FIELDS.h),
it will not be correct, since the date_array will not be set,
the exf_monitor will print something, but I have no idea of what forcing 
I will get at the end (will not be part of sflux in exf_getforcing.F,
might come back in seaice_growth.F ?, and if I use pkg/thsice ? )

> 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?

As I wrote earlier, I would like to have a test experiment with
seaice+thsice checked in, before removing this SEAICE_EXTERNAL_FORCING
option. And I am not yet done, this was the suject of my last remark.
I will remove the define ALLOW_SEAICE in pkg/exf, and I guess will have 
to fix what this breaks in pkg/seaice.

Jean-Michel



More information about the MITgcm-devel mailing list