Sea Ice - Air drag coefficient

Discussion about modeling ice with ROMS

Moderators: arango, robertson

Post Reply
Message
Author
Myung
Posts: 6
Joined: Wed Apr 11, 2018 2:31 pm
Location: Chonnam-University

Sea Ice - Air drag coefficient

#1 Unread post by Myung »

HI, ROMS representatives. I'm writing because there's one problem with sea ice modeling. I am currently using Ice-mk in CPP-option for sea ice models. If you look at the Sea ice page of Wiki ROMS, you'll see that Ca (nonlinear air drag coefficient) = 0.5*Cd*(1-cos(2*pi*min(hi + .1,.5))) If you use a Ice-mk option, it is set to not use the same equation as above from ice_vbc.F. I wonder if I can use other thermodynamics without using Ice-mk. Also, if Ice-mk option is required, I would like to ask you for an opinion on where to insert the above darg coefficient expression. Please give me a good answer.
Last edited by Myung on Sat Oct 06, 2018 2:41 pm, edited 2 times in total.

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: Sea Ice - Air drag coefficient

#2 Unread post by kate »

Why do you say that formula is not being used? It looks an awful lot like this code from ice_vbc.F:

Code: Select all

          tauaiu(i,j) = aix*rho_air(ng)*                                &   
     &   (0.5_r8*cdai(ng)*(1.0_r8-COS(2.0_r8*pi*MIN(                    &   
     &   (hix/(aix+0.02_r8)+0.1_r8),0.5_r8))))                          &   
     &                *spd*windu(i,j)/rhoice(ng)
If you don't like the ice_mk code, your best bet is to download the metroms code from github which contains a copy of the community CICE code.

Myung
Posts: 6
Joined: Wed Apr 11, 2018 2:31 pm
Location: Chonnam-University

Re: Sea Ice - Air drag coefficient

#3 Unread post by Myung »

kate wrote:Why do you say that formula is not being used? It looks an awful lot like this code from ice_vbc.F:

Code: Select all

          tauaiu(i,j) = aix*rho_air(ng)*                                &   
     &   (0.5_r8*cdai(ng)*(1.0_r8-COS(2.0_r8*pi*MIN(                    &   
     &   (hix/(aix+0.02_r8)+0.1_r8),0.5_r8))))                          &   
     &                *spd*windu(i,j)/rhoice(ng)
If you don't like the ice_mk code, your best bet is to download the metroms code from github which contains a copy of the community CICE code.
Thank you for your reply.

I also know that there is a drag-coefficient calculation in ice_vbc.f. But if the Ice_mk option is defined, it is calculated as tauaiu(i,j) = 0.5_r8 * aix * (tau_aix_n(i,j) + tau_aix_n(i-1,j)). Also tau_aix_n is defined as rhoAir * cdai * Uwind * Wspeed. I would like to use the above drag coefficient entry with Ice_mk option. I look forward to hearing from you soon.

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: Sea Ice - Air drag coefficient

#4 Unread post by kate »

OK, you're right, there's a big if/then test. If you want the "else" code with ice_mk, why not just copy it up to the "if" part?

I honestly don't remember where any of that came from - it long predates my use of git and the "git blame" feature.

Myung
Posts: 6
Joined: Wed Apr 11, 2018 2:31 pm
Location: Chonnam-University

Re: Sea Ice - Air drag coefficient

#5 Unread post by Myung »

kate wrote:OK, you're right, there's a big if/then test. If you want the "else" code with ice_mk, why not just copy it up to the "if" part?

I honestly don't remember where any of that came from - it long predates my use of git and the "git blame" feature.
I respect the ROMS officials. So I asked about the internal code and tried to make changes. As Kate said, I will use it with some modifications.

I have new question Sea ice speed is affected by a change in wind effect according to the thickness of sea ice. So, I wonder if there is a code for the sea current to be affected by wind as the sea ice thickness changes.

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: Sea Ice - Air drag coefficient

#6 Unread post by kate »

The surface stress on the water does not directly depend on ice thickness. The water feels the wind stress where there's no ice and ice stress where there is ice. Note that Bill Hibler swears that we should be "embedding" the ice into the water instead of "levitating" the ice over the water. I'm afraid this code will never embed the ice.

Myung
Posts: 6
Joined: Wed Apr 11, 2018 2:31 pm
Location: Chonnam-University

Re: Sea Ice - Air drag coefficient

#7 Unread post by Myung »

Thank you for answering me during your busy time and I am sorry for asking many questions. I am modifying the code as Kate told me.

tauaiu(i,j) = 0.5_r8*aix*(tau_aix_n(i,j)+tau_aix_n(i-1,j)) &
& *(0.5_r8*(1.0_r8-COS(2.0_r8*pi*MIN((hix/(aix+0.02_r8)+0.1_r8) &
& ,0.5_r8))))/rhoice(ng)

As above, the effect of wind on sea ice was modified in Ice_vbc.F. And

! *** stress from ocean current
uforce = uforce + auf*chux*rho0*uwater(i,j)

At Ice_elastic.F, i saw the stress of ocean currents affecting sea ice.
In sea ice dynamics, it can be seen that the stress on currents is also rhoice divided but not applied to codes. So I'm going to modify it as shown in the formula below. I'd like to ask if it's okay for me to make changes like this.

! *** stress from ocean current
uforce = uforce + auf*chux*rho0*uwater(i,j)/rhoice(ng)

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: Sea Ice - Air drag coefficient

#8 Unread post by kate »

Yes, you may make any change you like to your own copy of the code. You can check the ROMS License file to be sure.

Github allows for "pull requests" in which you ask me to accept your changes into my code. You'd have to explain yourself and convince me that it doesn't break anything for me to accept them, but that is the open source model.

Myung
Posts: 6
Joined: Wed Apr 11, 2018 2:31 pm
Location: Chonnam-University

Re: Sea Ice - Air drag coefficient

#9 Unread post by Myung »

I'm very very... sorry, but I'm writing for the last time.

I was wrong in the previous writing. So I want to review what I want to correct by writing the code I understand.

First, in ROMS-CICE, the variable to the Ice velocity is finally updated in Ice_elastic.F to
uie(n+1) = (masu * uie(n) + dte * uforce)/alfa
uie(n+1) * alfa = masu * uie(n) + dte * uforce

whre alfa = masu + dte * auf * rho0 * chux

uie(n+1) * (masu + dte * auf * rho0 * chux) = masu * uie(n) + dte * uforce
uie(n+1) * masu + uie(n+1)(dte * auf * rho0 * chux) = masu * uie(n) + dte * uforce
uie(n+1) * masu – uie(n) * masu = dte * uforce – dte * uie(n+1) * auf * rho0 * chux
masu * (uie(n+1) – uie(n))/dte = uforce – uie(n+1) * auf * rho0 * chux

whre masu = 0.5_r8(hi(i,j) + hi(i-1,j)) * rhoice

and uforce was once calculated as uforce = uforce + auf * chux * rho0 * uwater(n) in the previous calculation. If reintroduce this formula,

(uie(n+1) – uie(n))/dte = (uforce + auf * chux * rho0 * uwater(n) - auf * chux * rho0 * uie(n+1)) / hi * rhoice


(uie(n+1) – uie(n))/dte = uforce + auf * chux * rho0 * (uwater(n) – uie(n+1)) / hi * rhoice

where chux = sqrt((uwater – ui)**2) * cdiw

Corresponds with Dynamics at Wiki ROMS. I was missing Masu here.

---------------------------------------------------------------------------------------

Let me explain what I want to modify.

In Ice_elastic.F, wind force is uforce = uforce + tauaiu.
tauaiu is tauaiu = 0.5 * aix * (tau_aix_n + tau_aix_n) at Ice_vbc.F
tau_aix_n is calculated from the previous loop, Bulk_flux.F.
Tau_aix_n = Tau_Ice(i,j) = rhoAir * Cdai * Uwind * Wspeed

Here I know that the coefficient set by Cdai at ice.in is directly applicable?. Is that right? If that is correct, I would like to use Ice_MK option plus adjusting the air drag coefficient according to the change in sea ice thickness. However, in ROMS_CICE, there is no combination of expressions for Ice_MK option and air drag Coefficient.

What do you think about changing the way below?

tauaiu = 0.5 * aix * (tau_aix_n(i,j) + tau_aix_n(i-1,j)) * (0.5_r8 * (1.0_r8 – COS(2.0_r8 * pi * MIN((hix / (aix + 0.02_r8) + 0.1_r8) ,0.5_r8))))

I don't know why Ice_MK option and Air drag coefficient shouldn't work together. But I want to use it. I am a student who is just starting to study, So I am short of studying. I really appreciate your waiting for a good reply and giving me a busy time.

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: Sea Ice - Air drag coefficient

#10 Unread post by kate »

1. One thing you need to learn in this business is to simply try things yourself and see what happens.

2. The sea ice experts in the field are over in the CICE community where you can follow them on github and ask questions on their issue tracker.

3. I used to think I'd be running ROMS-CICE by now, but the current plan is to transition to MOM6-SIS2 instead. But first I need to get out of the hospital...

Myung
Posts: 6
Joined: Wed Apr 11, 2018 2:31 pm
Location: Chonnam-University

Re: Sea Ice - Air drag coefficient

#11 Unread post by Myung »

Oh, health is the first priority. I pray for a complete recovery. And Thank you for everything you've done for me.

Post Reply