[MITgcm-devel] seaice_get_dynforcing.F: CDAIR SEAICE_drag and OCEAN_drag

Gael Forget gforget at MIT.EDU
Mon Jan 6 14:43:30 EST 2014


Dear all,

I have the same issue as Ian does : I dont see how "the default 
be that we scale up the stress by a factor 2" makes any sense.

Two related questions :
- Are the default pkg/seaice drag parameters "correct" for simulations forced by 
  wind vectors as opposed to wind stress? I think I recall An arguing that the default 
  SEAICE_drag could be in error by a factor of 2 in this case (but maybe I recall wrong).
- In general, has anyone done a careful comparison of wind stress results from 
  exf versus seaice? I understand that interpretation of the differences could be 
  tricky but maybe such a comparison would still be informative.

Gael

On Jan 6, 2014, at 1:32 PM, Fenty, Ian G (3244) wrote:

> Martin and Jean-Michel,
> 
>>> In the case of prescribing windstress instead of wind, the “temporay variable nature” of CDAIR emerges, right? As far as I remember, this is a hack and should probably be replaced by something that is computed once in seaice_init_fixed.F before the time stepping starts, or just remove CDAIR from this part of the code and put taux = SEAICE_drag/OCEAN_drag * fu directly into the if-statements.
> 
> As Jean-Michel likes the variable name, let's go with your last suggestion and remove CDAIR from the second part so that we get:
> 
> taux = SEAICE_drag/OCEAN_drag * fu
> 
> CDAIR can live in the first part and have only one meaning:
> 
> CDAIR = SEAICE_rhoAIR * SEAICE_drag * sqrt(u_wind^2 + v_wind^2)
> 
> 
>>> Prescribing wind stress for a sea ice simulation does not make too much sense to me, because the surface stress will be different over ice and ocean. You do not know beforehand where your ice will be and so you are at very high risk of prescribing precomputed atmosphere-ice stress to the ocean and atmosphere-ocean stress to sea-ice. 
> 
> I cannot defend the practice of prescribing wind stress instead of winds over sea ice. I don't know the reasoning that went into choosing wind stress over winds for ECCO v4 and ASTE. Perhaps someone can chime in and educate us.
> 
> I agree that the same winds exert different stresses on open water and sea ice - even by an order of magntiude according to the literature if the ice is sufficiently rough. I guess what makes me uneasy is that the default factor of 2 applied to the uer-specified stress (the ratio of SEAICE_drag/OCEAN_drag) seems to be pulled out of thin air. Yes, of course one can specify SEAICE_drag = OCEAN_drag in seaice_readparms.F so that the ratio of 1. 
> 
>>> So I would argue that one should only prescribe ocean-atmosphere stress and then do something to convert this stress to stress over ice if required.
> 
> This is an interesting point. My understanding is that the surface stress provided by reanalyses products are based on the atmosphere-surface momemtum fluxes and not necessarily the equivalent ocean-atmosphere stress. I think the bottom line is that if we don't know how a wind stress product is created we don't know what to do with it over sea ice. Given that, should we really have the default be that we scale up the stress by a factor 2?
> 
> -Ian
> 
> On Jan 6, 2014, at 5:47 AM, Jean-Michel Campin wrote:
> 
>> Hi Ian and Martin,
>> 
>> I agree with Martin regarding point 2; 
>> But regarding point 1 (name & description of "CDAIR"), I don't have 
>> any problem with this local variable: It is clearly local (no bi,bj, 
>> not stored in commom block), one a the few local var in pkg/seaice 
>> that has a "description", and the description fit what it's used for, 
>> a coeefficient that is used to compute wind stress.
>> I can also grep for it easily (does not show up thousand times).
>> 
>> Cheers,
>> Jean-Michel
>> 
>> On Mon, Jan 06, 2014 at 10:23:29AM +0100, Martin Losch wrote:
>>> Hi Ian,
>>> 
>>> keep in mind that many of the variable names are really historic, and I am probably to blame for having too much respect for old code. In exf_bulkformulae the corresponding variable for “CDAIR” is called “tmpbulk”. Would you prefer that name? What other suggestions do you have?
>>> 
>>> In the case of prescribing windstress instead of wind, the “temporay variable nature” of CDAIR emerges, right? As far as I remember, this is a hack and should probably be replaced by something that is computed once in seaice_init_fixed.F before the time stepping starts, or just remove CDAIR from this part of the code and put taux = SEAICE_drag/OCEAN_drag * fu directly into the if-statements.
>>> Prescribing wind stress for a sea ice simulation does not make too much sense to me, because the surface stress will be different over ice and ocean. You do not know beforehand where your ice will be and so you are at very high risk of prescribing precomputed atmosphere-ice stress to the ocean and atmosphere-ocean stress to sea-ice. So I would argue that one should only prescribe ocean-atmosphere stress and then do something to convert this stress to stress over ice if required. I am aware that this is clearly sub-optimal, but I find the entire configuration of prescribing wind stress with sea-ice not consistent. You can also set SEAICE_drag=OCEAN_drag in seaice_readparms.F and then you get what you want, right? I don’t think that this “feature” should be removed, unless you want to remove the capability of prescribing stress with sea-ice altogether (which you won’t).
>>> 
>>> Martin
>>> 
>>> On Dec 31, 2013, at 12:14 AM, Fenty, Ian G (3244) <Ian.Fenty at jpl.nasa.gov> wrote:
>>> 
>>>> Sea ice developers,
>>>> 
>>>> I would like to make two observations about air-sea ice momemtum fluxes
>>>> 
>>>> ----------------------------------------------------------------------------------------------------------------
>>>> Observation 1: Using the variable name CDAIR - described as the 
>>>> local wind stress coefficient - in seaice_get_dynforcing.F is 
>>>> unnecessarily confusing since it is not a air-ice drag coefficient.
>>>> ---------------------------------------------------------------------------------------------
>>>> 
>>>> If u,v winds are prescribed, the variable CDAIR is determined by
>>>> 
>>>> CDAIR = SEAICE_rhoAIR * SEAICE_drag * sqrt(u_wind^2 + v_wind^2)
>>>> 
>>>> Normally, the variable SEAICE_drag is referred to as C_D and called 
>>>> the air-ice momentum transfer coefficient.
>>>> 
>>>> Following the calculation of CDAIR, the surface momentum flux is calculated as,
>>>> 
>>>> taux = CDAIR * |u_wind| 
>>>> 
>>>> So clearly, CDAIR is just a temporary variable and not a wind stress coefficient and 
>>>> I think use a different name for it.
>>>> 
>>>> ----------------------------------------------------------------------------------------------------------------
>>>> Observation 2: The meaning of CDAIR completely changes when wind stresses are 
>>>> prescribed and that, again, is unnecessarily confusing.
>>>> ----------------------------------------------------------------------------------------------------------------
>>>> 
>>>> In ECCO v4 and ASTE, wind stress - not u,v winds - are prescribed as
>>>> forcings. In that case, seaice_get_dynforcing defines CDAIR as,
>>>> 
>>>> CDAIR(i,j) = SEAICE_drag      /OCEAN_drag
>>>> 
>>>> In the above, CDAIR is clearly a ratio of two momentum transfer coefficients.
>>>> 
>>>> Following the calculation of CDAIR, the surface momemtum flux is
>>>> calculated by scaling fu by CDAIR:
>>>> 
>>>> taux = CDAIR * fu
>>>> tauy = CDAIR * fv
>>>> 
>>>> If one prescribes wind stress, why do we scale the wind stress by the ratio of SEAICE_drag /OCEAN_drag? In doing so, are we not making the implict assumption that the prescribed wind stresses are only equivalent open water stresses? 
>>>> 
>>>> Should we not trust that the stresses prescribed by the user are the actual momemtum fluxes to the surface (whatever the surface) and not the equivalent open water momemtum fluxes?  
>>>> 
>>>> If the prescribed wind stresses are the actual atmospheric momemtum fluxes, shouldn't taux = fu?
>>>> 
>>>> If so, shouldn't we remove the SEAICE_drag/OCEAN_drag ratio? So as to prevent someone from getting a factor 2 too large air-sea ice stress (2 is the default ratio of SEAICE_drag/OCEAN_drag).
>>>> 
>>>> 
>>>> -Ian
>>>> 
>>>> _______________________________________________
>>>> MITgcm-devel mailing list
>>>> MITgcm-devel at mitgcm.org
>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>> 
>>> 
>>> _______________________________________________
>>> MITgcm-devel mailing list
>>> MITgcm-devel at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>> 
>> _______________________________________________
>> MITgcm-devel mailing list
>> MITgcm-devel at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
> 
> Ian Fenty
> NASA Jet Propulsion Laboratory
> tel: 818-393-1506;  cell: 508-498-4879, 
> Email: Ian.Fenty at jpl dot nasa dot gov
> 
> 
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list